Die Firma Pollin bietet unter der Bestellnummer 550666 ein preisgünstiges Funksteckdosen-Set an (z. Zt. 9,95 €), das sich mit der Sonoff RF Bridge unter Tasmota koppeln lässt. Weil die Inbetriebnahme kein Selbstläufer war, dokumentiere ich hier meinen Weg zum Erfolg.
Die Hauptprobleme waren:
Ermitteln des Schaltwertes für An und Aus der einzelnen Schalter A, B und C und
Speichern des Wertes in der Tasmota Firmware.
Am Ende des Beitrags sind Abbildungen der DIP-Schalterstellung meiner Funksteckdosen und die dazu gehörenden Werte für An und Aus der einzelnen Steckdosen (modifizierte aus der Anleitung).
Pins einlöten und flashen (5.14.0 mit Atom). Es gibt verschieden Ausführungen der RF Bridge. Beschreibungen dafür hier:
https://github.com/arendst/Sonoff…h-the-RF-Bridge
https://github.com/arendst/Sonoff-Tasmota/issues/1916
Videos teilweise mit viel Gelaber:
https://www.youtube.com/watch?v=VbZGUTry0Jo
https://www.youtube.com/watch?v=vL4OZTjovOM
Wenn die RF Bridge geflashed ist in die Konsole der Tasmota-Oberfläche gehen
Eine Taste der Funkfernbedienung drücken, es erscheint eine Meldung ungefähr wie diese:
15:13:12 MQT: tele/sonoff/RESULT = {"RfReceived":{"Sync":9520,"Low":310,"High":920,"Data":"15155F","RfKey":"None"}}
Die Werte von Sync, Low und High merken und über die Konsole in der RF Bridge speichern:
So weit ich es verstehe, regeln diese Werte die grundsätzliche Funkkommunikation, dass die RF Bridge überhaupt Daten an die einzelnen Funksteckdosen übertragen kann. Nur im Wert für Data steckt der eigentliche Befehl für an oder aus der Steckdosen A, B und C.
Nun wird es etwas kniffliger, weil die Methode des Anlernens der bis zu 16 Schalter (8 mal an und 8 mal aus) wie sie beschrieben und gezeigt wird bei mir nicht funktionierte. Es fing schon damit an, dass der angezeigte Wert beim Drücken verschiedener Tasten (An oder Aus für A) der Fernbedienung fast immer derselbe war. Das zweite Problem: Selbst wenn die RF Bridge durch einen Doppel-Piep anzeigte, dass es einen Code empfangen hat, wurde dieser nie gespeichert. Aber für beides gab es eine Lösung:
Durch nehrmaliges Drücken auf der Fernbedienung von An bzw. Aus für Schalter A (bitte nicht kreuz und quer mit B und C versuchen), fällt auf, dass manchmal ein anderer Wert abgefangen wird. Wenn man einen solchen „anderen“ Wert hat, dann geht das Experimentieren los. Aber Achtung: In der Konsole erscheint der Wert für die gedrückte Taste manchmal recht spät. Bitte immer ein paar Sekunden warten, bis das nächste Mal gedrückt wird. Wenn du meinst, z. B. den Wert für An der Steckdose A identifiziert zu haben, dann schalte sie zunächst mit der Fernbedienung wieder aus und gib auf der Konsole folgendes ein:
Die Steckdose sollte nun eingeschaltet werden. Hat das geklappt, schicke gleich, ohne etwas Anderes zu tun, den Konsolenbefehl
hinterher. Damit ist der Wert auf der Taste 1 des Hauptmenüs gespeichert.
Um die Steckdose A auszuschalten reicht es (bei mir?) den Anschaltwert (die letzte Ziffer) um 1 zu verringern. Die Schaltwerte (data) scheinen wie ein Toggle zwischen gerade und ungerade in einem bestimmten Wertebereich zu funktionieren Beispiel: Geht das Anschalten für Steckdose A mit dem Befehl rfcode # 155151 dann geht das Ausschalten mit rfcode # 155150. Wenn das Ausschalten funktioniert hat, dann auf der Konsole
eingeben. Damit wird der Ausschalten-Befehl für die Steckdose A auf der Taste 2 des Hauptmenüs gespeichert. Das Programmieren des Schaltens der weiteren Steckdosen und der weiteren Tasten ergibt sich nach demselben Verfahren. Also nun mit B auf er Fernbedienung weitermachen, danach mit C.
Weitere Hinweise:
Die Kommunikation geht bei mir nur, wenn ich die Schaltwerte als Hexadezimalwerte übergebe. Das Umschalten auf Dezimalwerte durch den dokumentierten Befehl Setoption28 1 funktioniert bei mir nicht. Das hat zur Folge, dass das Hexadezimal-Kennzeichen "#" im Befehlsstring enthalten sein muss. Dies hat wiederum bei der Steuerung aus einer anderen Umgebung als der Weboberfläche der RF Bridge zur Folge, dass die im Befehl enthaltenen Leerzeichen und das #-Zeichen (hexadezimal) maskiert werden müssen. Denn normalerweise bedeutet eine Leerstelle das Ende eines Befehlswortes und die Abgrenzung zu einem übergebenen Parameter und das #-Zeichen kündigt in vielen Programmiersprachen einen Kommentar an, der bei der Befehlsausführung einfach nicht berücksichtigt wird.
Bei Tasmota ist das #-Zeichen aber Teil des Befehls und muss entsprechend als Bestandteil des Befehlsstrings gekennzeichnet werden. Während ein Browser das Leerzeichen korrekt übermitteln kann, schafft er es beim Hashtag-Zeichen # auch nicht mehr. Wenn man also einen Funkschalter üder die Adresszeile des Browsers ansprechen will, gibt man sicherheitshalber folgendes ein:
wobei %20 die Leeerstellen maskiert und %23 das #-Zeichen (und XXX ist die IP-Nummer der RF Bridge).
In dieser Art und Weise müssen die An- und Ausschaltbefehle geschrieben werden, wenn diese in Skripten oder z. B. in der Umgebung Domoticz und anderen benutzt werden sollen.
Es gibt offensichtlich mehrere Datawert-Kombinationen, mit denen man in einem bestimmten Werteraum die Schalter an und auschalten kann. Unten stehen die Werte, die ich bei mir, bezogen auf die dargestellten DIP-Schalter-Einstellungen, gespeichert habe.
Weitere Aspekte:
Die Reichweite der Steckdosen/der RF Bridge ist nicht besonders hoch. Nach max. 10 Metern, selbst im Freien, ist Schluss. RF Bridge und Funksteckdosen müssen sich räumlich recht nah beieinander befinden. Wände waren nicht so sehr störend, eher haben die Ausrichtungen der internen Antennen zueinander starke Auswirkungen auf die Reichweite.
Die RF-Bridge kann nur Befehle an die Steckdosen schicken, die Steckdosen geben keine Informationen an die RF Bridge. Wenn man keinen Sichtkontakt zur Steckdose hat oder eine andere Kontrollinstanz, kann man nicht wissen, ob der Befehl an der Steckdosen angekommen ist. Als Kontrolle hat man nur, ob ein Befehl von der RF Bridge empfangen wurde. Beliar_666 hat sich mit diesem Thema/Problem vor Monaten schon einmal befasst und, so weit ich mich erinnere, keine Lösung aufgetan.
Untem Strich ist die Arbeit mit (diesen) Funksteckdosen eine Notalternative zur S20 oder vergleichbaren WLAN-Steckern, z. B. wenn die Dinger, wie bei mir, seit drei Jahren ungenutzt rumlagen und nun vielleicht zum Einsatz kommen. Echte Wifi-Steckdosen sind einfach besser: mehr Funktionen, mehr Kontrolle, mehr Reichweite.
Abbildungen von meiner Konfiguration, schwarze Position = ON
Rf-Kodierungen zu den Abbildungen oben (Tasmota-Konsolen-Syntax):
Steckdose A an:
rfcode # 150555
Steckdose A aus:
rfcode # 150554
Steckdose B an:
rfcode # 151151
Steckdose B aus:
rfcode # 151150
Steckdose C an:
rfcode # 151451
Steckdose C aus:
rfcode # 151450
Alles anzeigen
Es würden auch andere Kombinationen funktionieren. Beispiele für A:
An / Aus
150551 / 150550
...
150557 / 150556
150559 / 150558
Analog gilt das für die anderen Steckdosen in ihrem jeweiligen Wertebereich. Ich habe das aber nicht weiter ausprobiert, wie groß der Wertebereich ist, sondern bin nur bei den 16 Werten zwischen 0 und F geblieben, bezogen auf die letzte Ziffer der sechsstelligen Zahl.