In diesem Artikel zur Infrarot-Weihnachtsbeleuchtung haben wir bereits beschrieben, wie wir einen Infrarot-Hub von von Broadlink in ioBroker einbinden. Mit einem Infrarot Hub können wir alle Geräte, die mit einer Infrarot-Fernbedienung gesteuert werden, in ioBroker einbinden und über Scripte steuern. Hierzu ist lediglich notwendig, dass die je Fernbedienung individuellen Infrarot-Befehle eingelesen und durch den an ioBroker angeschlossenen Infrarot Hub gesendet werden.
Leider scheint mit den neuesten Firmwares der Broadlink-Geräte nicht immer die Anbindung an ioBroker über den Broadlink-Adapter möglich. Wir haben uns auf die Suche nach einem alternativen Geräte gemacht, dass wir über Tasmota in ioBroker einbinden können.
Mit dem Blitzwolf BW-RC1 sind wir fündig geworden. Mit viel Glück lässt sich ohne das Gerät zu öffnen, Tasmota kabellos über WLAN flashen, der Weg ist identisch zu dem HIER für SP112 Gosund Steckdosen beschriebenen Vorgehen. Geräte mit den Seriennummern 2120 und 3820 auf der Rückseite lassen sich leider nicht mehr ohne das Gehäuse zu öffnen flashen. Allerdings ist der Flashvorgang selbst sehr einfach, weil wir über den USB-Port direkt die Tasmota-Firmware mit einem TTL, FTDI-Adapter einspielen können.
Wir benötigen also für das Flashen des Blitzwolf BW-RC1 ein Micro-USB-Kabel, das bei dem wir den USB-Stecker abtrennen, um die Kabel mit dem TTL-Adapter verbinden zu können.
An dieser Stelle der Hinweis: Mit der hier beschriebenen Lösung wird der Blitzwolf BW-RC mit 5V geflasht, die verbauten Chips (TYWE3S) sollen nach Dokumentation nur mit 3,3V betrieben werden. Es existiert das geringe Risiko, dass das Geräte dabei Schaden nimmt, allerdings haben wir bisher alle Geräte mit 5V geflasht, ohne ein Gerät bisher verloren zu haben.
Wir verbinden also die Kabel des Micro-USB-Kabels nach folgender Logik mit den PINs des TTL-Adapters:
Im Anschluss müssen wir leider das Gehäuse des BW-RC1 öffnen, um den Pin GPIO0/Do gegen GND am TYWE3S zu schließen. Dies wird benötigt, um den Chip beim Start in den Modus zum Flashen der Firmware zu bringen. Von oben betrachtet verbinden wir dazu auf der rechten Seite also den ersten und den vierten Pin beim Anlegen des Stroms über das USB-Kabel.
Wir brücken also die beiden Pins und stecken den TTL-Adapter in einen USB-Port. Die blaue LED fängt schwach an zu leuchten, leuchtet sie wie gewohnt hell, dann ist der flash mode nicht korrekt gestartet.
Ist der Flash mode gestartet, können wir Tasmota mit der tasmota-ir.bin auf den BW RC1 flashen, hierzu starten wir Tasmotizer:
Wir wählen den korrekten COM-Port und als Firmware die Variante tasmota-ir.bin . Mit Klick auf Tasmotize wird die Firmware auf den RC1 geflasht.
Im Anschluss den Blitzwolf Infrarot Hub neu starten, das geflashte Tasmota öffnet ein neues WLAN-Netz, das wir auswählen und uns mit dem Rechner/Tablet verbinden:
Sobald das Netzwerk erfolgreich verbunden ist, startet der Browser und öffnet die initiale Konfigurationsseite, um das lokale WLAN zu konfigurieren, mit dem sich unser BW RC1 zukünftig verbinden soll.
Haben wir das WLAN korrekt konfiguriert, startet der Hub neu und wir können über die DHCP-Adresse des Devices die Weboberfläche von Tasmota aufrufen:
Über Configuration > Configure Other können wir das korrekte Tasmota-Template konfigurieren, wir nutzen dieses Template:
{„NAME“:“BW-RC1″,“GPIO“:[0,0,0,0,320,1088,0,0,0,32,1056,0,0,0],“FLAG“:0,“BASE“:62}
In diesem Zug können wir auch die MQTT-Einstellungen vornehmen, hierzu aktivieren wir bei der Template-Konfiguration MQTT und definieren den MQTT-Server in den Einstellungen. Wichtig, wir benötigen zur Steuerung und dem Senden von IR-Befehlen auch die HTTP-API und lassen den entsprechenden Haken gesetzt.
Wir speichern die Einstellungen und rufen die Console unseres Blitzwolf Infrarot Hubs auf. Mit einer beliebigen IR-Fernbedienung können wir testen, ob der Hub korrekt funktioniert. Hierzu richten wir die Fernbedienung auf unseren BW RC1 aus und drücken eine beliebige Taste. Im Anschluss sehen wir im log der Console den IR-Befehl, den wir in den nächsten Schritten in ioBroker nutzen, im die Taste über ein Script in ioBroker zu simulieren.
In unserem Fall interessiert uns die Zeile
RESULT = {„IrReceived“:{„Protocol“:“NEC“,“Bits“:32,“Data“:“0xFFA25D“,“DataLSB“:“0xFF45BA“,“Repeat“:0}}
mit dem Ausschnitt
{„Protocol“:“NEC“,“Bits“:32,“Data“:“0xFFA25D“,“DataLSB“:“0xFF45BA“,“Repeat“:0}.
Diesen Ausschnitt senden wir als HTTP-Request mit ioBroker an den BW RC1 und „simulieren“ damit die eingelesene Fernbedienung.
Wir legen ein neues Blockly-Script in ioBroker an und bauen uns zunächst eine zentrale Funktion, um einen HTTP-Request absenden zu können. Diese Funktion ruft den BW RC1 über eine Web-Adresse mit Informationen zum IR-Befehl auf und unser IR-Hub sendet den Befehl sofort über die IR-Dioden. Diese Funktion lässt sich über die Tasmota-URL des BW RC1 nutzen:
http:///cm?cmnd=irsend {„Protocol“:“NEC“,“Bits“:32,“Data“:“0xFFE21D“,“DataLSB“:“0xFF47B8″,“Repeat“:0}
Das Blockly der Funktion sieht wie folgt aus:
Wir nutzen einen Datenpunkt, in den wir den gewünschten IR-Befehl schreiben. Sobald der Datenpunkt aufgerufen wird, soll der Befehl an den BW RC1 per HTTP-Request gesendet werden:
Die Funktion ist generisch aufgebaut, um beliebige IR-Befehle verarbeiten zu können. Den Befehl selbst definieren wir in den Button-Einstellung in der VIS-Oberfläche:
Wir der Button betätigt, wird der entsprechende Datenpunkt mit dem im Feld „Wert:“ definierten Inhalt aktualisiert, der Trigger reagiert auf die Aktualisierung, nimmt den neuen Wert und überträgt diesen in den Funktionsaufruf für den HTTP-Request. Der HTTP-Request sendet den Befehl an den BW RC1 und wird dann per IR ausgesendet.
Wie bekomme ich denn den Blitzwolf am besten auf? Hast du einen Tipp?
Am besten direkt am USB-Anschluss mit flachem Messer aufhebeln, es dind rundherum mehrere „Nase“, die das Gehäuse zusammen halten.
Viel Erfolg!
Das Template funktioniert nicht per copy&paste, da auf der Webseite die Anführungszeichen umgeschrieben wurden.
Am besten in einem einfachen Texteditor wie notepad/kwrite korrigieren.
Der Reset Button reicht nicht, um in den Bootloader des esp8266 zu kommen. Auf der Platine ist ein Loch mit GND, welches perfekt für ein Jumperkabel ist.
Wenn man Tasmota mit Mqtt verbindet, kann man auch per Tpoic „cmnd/devicename/IRhvac“ z.B. den entsprechenden json String als Text mitsenden.
Hi, erstmal danke für die Anleitung! :-)
Aber ich war ein bisschen verwirrt, als ich versucht habe die Schritte nachzuvollziehen.
Du bindest den TASMOTA via MQTT in deinen IOBroker ein, verwendest dann aber einen generischen Webrequest über die TASMOTA-API, anstatt MQTT zu verwenden. Das ist auch möglich, wenn du das Gerät nicht via MQTT einbindest. Den Schritt hättest du Dir also eigentlich sparen können. ;-)
Ich entnehme dem Kommentar von Karsten E., dass es also auch via MQTT funktioniert.
Dann werde ich mir die entsprechenden Komponenten mal besorgen. ;-)
Beste Grüße
DerStalle