Fhem: Sonoff-RF-Bridge 433 Mhz mit Tasmota – ein Erfahrungsbericht

15.05.2018 Aktion: Sonoff-Umflashen, für 25,90 Euro inkl. Versand bekommt ihr von mir eine Sonoff 433 MHz Bridge mit Tasmota, nur 1 verfügbar

Update 12.02.2018 Erweiterung Blog-Beitrag

Ich habe die 433 MHz Technologie seit über 4 Jahren im Einsatz. Damit schalte ich die Baumarkt-Steckdosen (-> hier) , und empfange auch Signale von Tür-Fenster-Kontakt-Sensoren (-> hier). Bewegungsmelder sind natürlich auch dabei (-> hier). Wie man einen 433 MHz Sender für Fhem an einem Raspi anschließt, habe ich (-> hier) beschrieben.
Leider ist die Hardware dafür etwas umständlich: Man benötigt einen guten 433 MHz Receiver, am Besten mit Superhet (-> amazon-link hier) und einen 433 MHz Sender (-> amazon: hier). Mit einigen Frickeleien und Probieren bekommt man dann auch gute Ergebnisse. Wenns einmal läuft, dann läufts.

Aber es geht besser und eleganter: Seit einiger Zeit gibt es von Sonoff ein Modul, welches gleichzeitig im 433 MHz Bereich Senden UND Empfangen kann. Auf dem Modul ist standardmäßig eine China-Firmware drauf, welche meine Meinung nach auch nicht schlecht ist. Sie arbeitet autark und ohne Hausautomations-System. Man ruft eine App auf und lernt die Baumarkt-Steckdosen (-> amazon: Steckdosen) an. Danach kann man sie problemlos auch per Smartphone schalten.

Sonoff 433 MHz Bridge: Die Hardware ist ein schwarzes, unscheinbares Kästchen, welches mit 5 V USB gepowert wird. In meiner Version leuchtet ständig der Schriftzug Sonoff in grün. Daneben gibt es eine Reset- Taste und 2 LEDs, eine blaue und eine rote. Die blaue zeigt die Verbindung zum WLAN an, die rote LED flackert kurz auf, wenn ein 433 MHz Signal gesendet oder empfangen wurde. Preislich gelegen ist dieses Modul billiger als die einzelnen 433 MHz Sender und Empfänger.

Tasmota-Firmware für die Sonoff 433 MHz Bridge: Nachteilig bei der China-Firmware ist, das sie angeblich nach China telefonieren soll und keinerlei Interfaces zu einem Hausautomation-System (wie Fhem) hat. Abhilfe schafft hier die Tasmota-Firmware. Ich hatte damals schon mal über die  Tasmota Steckdose und über den POW-Schalter gebloggt. Diese muss einmalig auf dem Gerät geflashed und konfiguriert werden.

Vergleich: 433 MHz-Sender und Empfänger mit der Sonoff 433 Mhz Bridge. Ich habe auch etwas lange gehadert, auf die Sonoff Bridge umzustellen. Ist auch ziemlich arbeitsaufwendig, sämtliche Baumarkt-Steckdosen und auch die LEDs meines Bilderrahmens einzeln umzuprogrammieren.

Ich habe aber mal die Vorteile zusammengestellt:
Sonoff-RF-Bridge hat WLAN-Zugang, Aufstellort also variabel
Sonoff-RF-Bridge hat ein eigenes Webinterface, leichte Kontrolle möglich
Sonoff-RF-Bridge benötigt für das Senden und Empfangen lediglich 5 V USB Spannung.
Sonoff-RF-Bridge benötigt keinen Eingriff ins Fhem und der Konsole, lediglich Mosquitto Broker
Sonoff-RF-Bridge benötigt keine Rechte von Fhem
Sonoff-RF-Bridge lernt Steckdosen, PIR (Bewegungsmelder) und TFK (Tür-Kontakt-Sensoren)
Sonoff-RF-Bridge ist preisgünstig.

Angebot: Schickt mir Eure Sonoff RF-Bridge zu, für 9,80 Euro inkl. Versand flashe ich diese dann.

Für meine alten 433 MHz-Sender und Empfänger gibt es auch Blog-Beiträge, welche mittlerweile auch 4 – 5 Jahre alt sind, siehe hier und hier.

MQTT: Das perfekte Interface. Mit der Tasmota-Software und einem Moskitto-Broker ist es möglich, die 433 Mhz Sende- und Empfangssignale über MQTT zum Hausautomations-Server (hier Fhem) zu übermitteln.

Beispiel – Hinzufügen einer Baumarkt-Steckdose. Voraussetzung: Mosquitto ist installiert und lauffähig. Topic bei der Sonoff-Bridge: sonoffrf, Full-Topic: /Smarthome/Buero/%topic%/%prefix%  (alles bei den Einstellungen der sonoff-bridge).

Nun sich auf der Sonoff-Bridge verbinden und unter Konsole gehen

Man sieht möglicherweise einige Eintragungen

16:28:31 MQT: /Smarthome/Buero/sonoffrf/tele/RESULT = {"RfReceived":{"Sync":10850,"Low":350,"High":1030,"Data":"93F869","RfKey":"None"}}
16:28:36 MQT: /Smarthome/Buero/sonoffrf/tele/RESULT = {"RfReceived":{"Sync":10850,"Low":350,"High":1030,"Data":"93F869","RfKey":"None"}}
16:28:52 MQT: /Smarthome/Buero/sonoffrf/tele/RESULT = {"RfReceived":{"Sync":10850,"Low":350,"High":1030,"Data":"93F869","RfKey":"None"}}
16:30:37 MQT: /Smarthome/Buero/sonoffrf/tele/STATE = {"Time":"2018.02.10 16:30:37","Uptime":2,"Vcc":3.142,"Wifi":{"AP":1,"SSId":"DerNetteNachbar","RSSI":100,"APMac":"C8:EE:14:CC:D7:F8"}}
16:31:04 MQT: /Smarthome/Buero/sonoffrf/stat/RESULT = {"RfCode":"#141544"}
16:34:01 MQT: /Smarthome/Buero/sonoffrf/stat/RESULT = {"RfCode":"#141544"}
16:36:58 MQT: /Smarthome/Buero/sonoffrf/stat/RESULT = {"RfCode":"#141544"}
16:37:26 MQT: /Smarthome/Buero/sonoffrf/stat/RESULT = {"RfCode":"#5541"}
16:37:28 MQT: /Smarthome/Buero/sonoffrf/stat/RESULT = {"RfCode":"#5544"}

Nun die Baumarkt-Fernbedienung nehmen und die gewünschte Ein- und Austaste drücken. Es sollten dann zwei neue Eintragungen auftauchen in der Konsole. Wichtig ist hier der RfCode bzw. Data. Diese Codes merken.

Nun in fhem folgendes Script verwenden:

defmod RF_Stein MQTT_DEVICE
attr RF_Stein IODev MyBroker
attr RF_Stein alexaName Stein
attr RF_Stein alias Salzlampe
attr RF_Stein devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON Offline:rc_BLUE:OFF
attr RF_Stein event-on-change-reading state
attr RF_Stein eventMap #05541:on #05544:off
attr RF_Stein publishSet on off toggleon off toggle /Smarthome/Buero/sonoffrf/cmnd/RfCode
attr RF_Stein room Licht,MQTT,Wohnzimmer
attr RF_Stein stateFormat {ReadingsVal($name,"presence","") eq "Offline" ? "Offline" : ReadingsVal($name,"state","")}
attr RF_Stein webCmd on off toggle
setstate RF_Stein off
setstate RF_Stein 2018-02-10 16:37:28 state #05544
setstate RF_Stein 2018-02-10 16:37:28 transmission-state outgoing publish sent

Wie man sieht zum Schalten meiner Salzlampe habe ich die Codes (welche von der Fernbedienung kamen) verwendet.

Zweites Beispiel: Empfangen von 433 MHz Signalen – PIR oder TFK – und Weitergabe an Fhem.

Hier müssen die Daten von der RF-Bridge zum Fhem wandern und als Reading sichtbar gemacht werden.

defmod SonoffRF MQTT_DEVICE
attr SonoffRF IODev MyBroker
attr SonoffRF alias Sonoff RF Bridge
attr SonoffRF group RF Bridge
attr SonoffRF room MQTT
attr SonoffRF stateFormat transmission-state
attr SonoffRF subscribeReading_Sensor /Smarthome/Buero/sonoffrf/tele/RESULT

sowie

defin ej3 expandJSON SonoffRF.*:.*:.{.*}
attr ej3 alias Sonoff Tools
attr ej3 room MQTT

Es kommt vom MQTT zum Beispiel folgende Information

16:28:31 MQT: /Smarthome/Buero/sonoffrf/tele/RESULT = {"RfReceived":{"Sync":10850,"Low":350,"High":1030,"Data":"93F869","RfKey":"None"}}

und das expandJSON macht daraus Readings in der Form
RfReceived_Data
93F869
2018-02-10 16:28:52
RfReceived_High
1030
2018-02-10 16:28:52
RfReceived_Low
350
2018-02-10 16:28:52
RfReceived_RfKey
None
2018-02-10 16:28:52
RfReceived_Sync
10850
2018-02-10 16:28:52

und darauf kann man reagieren, zum Beispiel so:

define RFEvents notify SonoffRF:RfReceived_Data.* {\
if ($EVTPART1 == "93F869") {fhem('set RF_Schreibtisch on');;}\
}
attr RFEvents room MQTT

Das Script ist natürlich noch weiter ausbaubar.

Absetzen von MQTT-Kommandos: Um Kommandos mit # zu senden, habe ich eine kleine Sub geschrieben.
Hier muss man über die Komandozeile mosquitto_pub gehen

sub RFSendMQTT($) {
my ($mqttcode) = @_;
my $cmd = "mosquitto_pub -h 192.168.178.67 --quiet -t /Smarthome/Buero/sonoffrf/cmnd/RfCode -m '$mqttcode'";
system( "$cmd" );
return undef;
}

Aufgerufen wird das dann mit

{RFSendMQTT("#145154")}

Das oben in der Fhem-Kommandozeile eingegeben, könnt ihr schnell Eure Steckdosen auf Funktionsfähigkeit testen.

Ich schalte damit meine LEDs von meinem Bilderrahmen. Das Projekt dürfte schon 4 – 5 Jahre alt sein.

Heutzutage würde man das mit einem Wemos machen, siehe hier.

So ist es natürlich denkbar, das man mit einer Baumarkt-Fernbedienung ggf. eine Hue-Lampe einschaltet.
Ich hatte vor 4 Jahren mal ein Youtube video gemacht, hat natürlich keiner kapiert.

War der Beitrag für Dich sinnvoll?
  • Langweilig (0)
  • Genial (0)
  • Schlecht (0)
  • Interessant (2)
  • Nützlich (3)
Dieser Beitrag wurde unter Fhem-Hausautomation, ioBroker abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

9 Kommentare zu Fhem: Sonoff-RF-Bridge 433 Mhz mit Tasmota – ein Erfahrungsbericht

  1. Pingback: Fhem: Baumarkt-Funksteckdosen 433 MHz anschließen | Robins Blog – Technik und Multimedia

  2. Robin sagt:

    Hallo Matthias,
    Danke für Deine Tipps.

    Mit dem schnellen Senden ist mir auch aufgefallen. Ich setze da ein sleep (nicht schimpfen) vor dem Senden, dann klappt es. Mit alexa allerdings nicht probiert.

    LG
    /robin

  3. Matthias sagt:

    Dazu habe ich ein paar Anmerkungen, wenn ich darf 🙂

    – ich habe ein TASMOTA_DEVICE gebaut, welches automatisch alle JSON-Events in Readings aufteilt und ALLES abonniert, was ein Gerät hergibt. Das spart dann einige Zeilen bei einem MQTT_DEVICE und spart vorallem diese nervigen expandJSON-Geräte. https://github.com/klein0r/fhem-tasmota

    – Statt dem Systemaufruf in der Funktion RFSendMQTT würde ich die Nachrichten direkt über den definierten Broker raussenden lassen. Systembefehle würde ich nur verwenden, wenn es wirklich keine Alternative gibt. In deinem Beispiel muss auf dem System sonst wieder mosquitto_pub / die Mosquitto-Clients installiert sein, die Rechte auf das Executable müssen stimmen für den fhem-User uvm. Damit holt man sich mehr Stolpersteine rein, als man etwas gewinnt.

    – Ich finde es persönlich etwas anstrengend, wenn ich für jedes Gerät die Codes über das gesamte System verteile (im Notify usw.). Daher habe ich mich dazu entschieden, diese als User-Attribut an die einzelnen Geräte zu hängen und dann von dort zu holen. Damit sieht das Notify fast genauso aus wie bei Dir, nur dass eben automatisch anhand der Attribute in den jeweiligen Geräten geschaltet wird, anstatt diese im Notify direkt zu vergleichen: https://haus-automatisierung.com/hardware/fhem/2018/03/22/fhem-tutorial-reihe-part-56-sonoff-rf-bridge.html

    Ansonsten ist die Bridge natürlich eine super Sache. Ich habe nur noch das Problem, dass viele Befehle in schneller Reihenfolge teilweise ignoriert werden. Das heißt, dass die Nachricht zum Schalten zwar an das richtige Topic rausgeht, dieses aber von der Bridge nicht ausgeführt wird, weil diese scheinbar noch den vorigen Befehl ausführt. Ist das bei Dir auch schonmal aufgetreten? Passiert bei mir IMMER, wenn ich mehrere Geräte per Alexa an- oder ausschalte. Dann geht nur ein an/aus.

  4. Webby Web sagt:

    Hallo,

    Sorry die Endung hat nicht gestimmt.
    Versuch es bitte nochmal

    Gruß
    Webby Web

  5. Robin sagt:

    Hallo Webby,

    deine eMail Adresse ist falsch ..
    Flashe doch den RF auf Tasmota und schaue was rauskommt.

    LG
    /robin

  6. Webby Web sagt:

    Hallo Robin.

    Hast du schon was rausbekommen.
    Würde dir (wenn möglich) gerne meine Bridge und die Fernbedienungen
    Schicken,ob du vielleicht dafür eine Lösung findest.
    Wäre das möglich?

    Gruß
    Webby Web

  7. Robin sagt:

    Hallo Webby,

    das Problem mit der Original-Firmware habe ich auch. Manche Tasten von der Baumarkt-Fernbedienung funktionieren, manche nicht.
    Ich habe mit der geflashten Version keine Probleme mehr (Schalten geht bei mir über Fhem-MQTT-Lampe).
    Mit dem Flashen kann man eigentlich nichts falsch machen. Wenn Tasmota nicht geht, dann mal Espurna probieren.
    Ich habe noch 2 ungeflashedte Sonoffs RF-Bridges in meiner Testumgebung hier liegen, werde ich die Tage mal testen.

    LG
    /robin

  8. Webby Web sagt:

    Hallo

    Habe die gleiche Bridge wie du und vom Aldi die GT 9000
    http://www.gt-support.de/files/IM_GT-FSI-07,GT-9000_2015_D.pdf
    Diese arbeitet mit 433,92 MHz
    Habe auf der Bridge noch die Orginal Firmware drauf.
    Jetzt bekomme ich aber die Tasten nicht einprogrammiert.
    Mit einer anderen Fernbedinung L36-001 aber ich zumindest es geschafft, dass die Deckenlampe eingeschaltet wird (aus geht aber auch nicht obwohl die Bridge 2-mal piepst).

    hast du eine Idee woran es liegen könnte?
    Glaubst du, es würde mit einem geflashten Version besser tun?

    Gruß
    Webby Web

  9. PG sagt:

    hallo, wie kann ich das in die Wege leiten, dass Sie meinen RF flashen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.