433Mhz Lichtschalter mit RFM69CW kontrollieren

  • Hey Leute,

    Ich habe einen 433Mhz Funkgesteuerten Lichtschalter von SmartWares welchen ich programmatisch von meinem Raspberry PI 3 steuern moechte.
    An den PI habe ich ein RFM69CW Modul via SPI angeschlossen und spreche mit diesem durch die Bibliothek wiringPi in C++.

    Mit diesem Setup habe ich versucht die OOK (On-Off Keying) Sequenzen nachzubauen welche die Fernbedienungen senden. Bei der Steckdose von Elro hat dies auch wunderbar funktioniert. Bei dem Lichtschalter von Smartwares will das allerdings nicht so ganz klappen obwohl Ich die Sequenz fast identisch nachgebaut habe.

    Wenn ich Pilight mit dem kaku_switch Protokoll nutze funktioniert das an und ausschalten des Wandschalters einwandfrei, jedoch moechte ich keine externen Anwendungen benutzen da diese nur mit bestimmten RFM Modulen funktionieren und ich somit mehrere braeuchte.

    Im Anhang befindet sich ein Bild von Audacity womit Ich die Sequenzen ueber einen weiteren 433Mhz Receiver aufgenommen habe. Die obere markierte Zeile stellt dabei die original Sequenz der Fernbedienung dar und die untere die nachgebaute von mir.
    Diese Sequenz wird von der Fernbedienung 8 mal wiederholt. Fuer mich sehen die ziemlich identisch aus und verstehe nicht wieso der Wandschalter nicht anspringt.

    Kann mir hier irgendjemand helfen das teil zu Kontrollieren?

    PS: Wen mehr Informationen benoetigt werden kann ich gerne mal die kompletten Sequenzen als Datei speichern :)

    Danke im Vorraus

    MfG
    FragSalat


  • .... OOK (On-Off Keying) Sequenzen nachzubauen welche die Fernbedienungen senden. Bei der Steckdose von Elro hat dies auch wunderbar funktioniert.

    sind ja bekannte feste Codes!


    Bei dem Lichtschalter von Smartwares will das allerdings nicht so ganz klappen obwohl Ich die Sequenz fast identisch nachgebaut habe.

    vielleicht benutzen die "Rolling Code" dann hat man Probleme

    https://de.wikipedia.org/wiki/Rollingcode

    es gibt auch verschiedene Kodierungen kann man sich hier mal einlesen unter Kodierungen.
    https://www.mikrocontroller.net/articles/IRMP

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hey jar,

    erst mal danke für die schnelle Antwort.

    Zum Rolling Code würde ich erst mal nein sagen da ich über Stunden immer wieder das Signal der Fernbedienung geprüft habe und die Sequenzen gleich blieben.

    Zum Thema das es feste Codes sind kann ich sagen dass mir das bewusst ist, jedoch sollte dies egal sein da ich ja nur die Peaks bzw On-Off Sequenzen nachbaue und somit der gleiche Code rauskommen müsste.

    Ich hatte auch noch den Gedanken das vllt eine initialisierungs Sequenz gesendet wird jedoch kann ich nichts dergleichen finden.
    Wenn ich zu Hause bin kann ich das Signal ja mal als Wave Datei speichern und hier Posten. Vllt seht ihr ja was.

    Gruß FragSalat


  • Wenn ich zu Hause bin kann ich das Signal ja mal als Wave Datei speichern und hier Posten. Vllt seht ihr ja was.
    Gruß FragSalat

    unbekannte Protokolle kann besser der Frank, Autor von IRMP im µC Net, aber vielleicht findet sich hier auch einer, ich kann es nicht, meine Stärken liegen woanders.

    Hast du mal versucht mit den on/off Zeiten zu spielen?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (3. April 2017 um 15:53)

  • Ja ich habe diese mal etwas erweitert und verkuerzt aber ohne Erfolg. Mich wundert halt das diese nahezu identische Sequenz nicht funktioniert.

    Kennst du eventuell ausser Frank noch einen anderen Ort wo man nachfragen kann? So viele aktive Foren gibts ja scheinbar auch nicht mit dem Thema.

  • Hi,

    habe (wie Du auch) schon einige Funksteckdosen erfolgreich zum Laufen gebracht. Das mit dem Timing scheint nicht so genau zu sein - aber es schadet nicht, wenn es ident ist. Da Du auch schon andere Steckdosen erfolgreich gesteuert hast, wird's wohl nichts naheliegendes sein - aber vielleicht errate ich etwas:

    • Sync-Bit - Das hat bei meinen Codes meistens eine sehr eindeutige Signatur (Kurzer Puls, lange Pause am Ende). OK, in der Aufzeichnung fällt dies meist nicht auf - es geht um die Pause zum nächsten...
    • Sendest Du mehrere Codes hintereinander oder wirklich nur die eine Sequenz? Kann es sein, dass der Empfänger die erste ignoriert und erst den nächsten auswertet (das Sync-Bit ist ja auch am Ende)
    • Hast Du die Antenne am Sender angeschlossen? Kann es sein, dass der Empfänger einen hohen Pegel benötigt um störunempfindlicher zu werden?

    Gutes Gelingen!

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Hey Leute ich habe das Problem geloest. Was genau jetzt schuld dran war kann ich nur vermuten. Dazu glaube ich das es das Timing der Peaks ist da das RFM69CW Modul scheinbar nicht so schnell reagiert bzw das umschalten von high <-> low etwas dauert, sind 100 micro sekunden nicht wirklich 100 micro sekunden.

    Zudem habe ich dank dieser 2 Seiten den Code verstanden und konnte ihn auch sinnvoll nachbauen. Nur die timings konnte ich nicht uebernehmen.
    Protokol 3 ist fuer SmartWares zu nutzen: https://www.sweetpi.de/blog/329/ein-u…eren-protokolle
    Hier das Protokol naeher erlaeutert: https://wiki.pilight.org/doku.php/arctech_switch
    Dieser Wandschalter ist verbaut: https://www.amazon.de/gp/product/B00WI2F7FG/ref=oh_aui_search_detailpage?ie=UTF8&psc=1&tag=psblog-21 [Anzeige]

    Hier mal meine Toggle funktion fuer den Smartwares Wandschalter.
    Zum testen sind in dem char array folgende Werte hart gecodet:
    id: 28125184 -> 26 bits -> 01101011010010100000000000
    all devices: true -> 1 bit -> 1
    enabled -> enabled -> 1 bit -> enabled
    unit -> 2 -> 4 bit -> 0010

    Ich hoffe das hilft auch anderen und danke fuer die Unterstuetzung :)

    Gruss FragSalat

  • gratuliere, mir wäre ja das RFM gebastel zu aufwändig, gehts nicht leichter mit einem stino 433 MHz Transmitter?
    nicht falsch verstehen die RFM sind toll aber nicht überall mit all ihren Möglichkeiten nötig.

    Hatte meine ersten Erfahrungen ja mit RFM12 gesammelt, aber für Funksteckdosen und Aktore ist mir die 1,-€ Funke lieber, kaum was zu konfigurieren.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • gratuliere, mir wäre ja das RFM gebastel zu aufwändig, gehts nicht leichter mit einem stino 433 MHz Transmitter?
    nicht falsch verstehen die RFM sind toll aber nicht überall mit all ihren Möglichkeiten nötig.

    Hatte meine ersten Erfahrungen ja mit RFM12 gesammelt, aber für Funksteckdosen und Aktore ist mir die 1,-€ Funke lieber, kaum was zu konfigurieren.

    Das geht garantiert auch mit nem Stino aber ich habe mit meinem Smart Home Projekt mehrere Frequenzen zu bedienen und muss somit gucken das ich genug GPIO's frei habe.
    Jetzt kann ich den FRM69CW fuer 433Mhz OOK nutzen um die Geraete zu steuern und halbstuendlich die Daten des selbstgebauten Temperatur und Luftfeuchtigkeitssensors via FSK abholen.
    Zudem kann ich jetzt noch einen 868Mhz transceiver anschließen um z.B. mit einem Heizungsthermosthat zu kommunizieren und ein RFM75-S bzw CC2500 2.4Ghz um meine Ikea Beleuchtung in der Kuechi zu steuern. Eventuell kann ich das RFM75-S auch fuer Bluetooth 4.0 und nem Thermosthat nutzen mal gucken.

    Am Ende soll der PI ein Gateway darstellen um das Zuhause via App bzw Alexa Skill zu steuern ohne einen richitgen Standard zu benutzen und somit bekannte Luecken bereit zu stellen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!