zurück zum Artikel

Pearls WLAN-Universalfernbedienung mit MQTT nutzen

Praxis & Tipps | Praxis

Geräte, die sich nur per Infrarot steuern lassen, sind eine Hürde für Smart-Homes. Abhilfe schafft eine WLAN-fähige Universalfernbedienung wie die von Pearl, in der ein ESP8266 steckt.

Pearls Fernbedienungsbox auvisio URC-150.app funktioniert nur über die Cloud und bietet kein API für die Integration in eigene Dienste. Glücklicherweise kann man die Firmware der Box einfach ersetzen und bekommt dann eine MQTT-Anbindung, über die man nach Herzenslust schalten kann (Kurztest der URC-150.app in c't 19/2019 [1]).

Pearl hat, wie viele Anbieter günstiger Smart-Home-Hardware, Produkte vom OEM-Anbieter Tuya eingekauft. Ein Glück für Bastler ist es, dass der zentrale Baustein des Tuya-Smart-Home-Universums der ESP8266 ist. Löten muss man aber nicht unbedingt.

Hardware und Aufbau der Tuya-Infrarot-Boxen sind immer gleich. Wenig überraschend ist es, dass findige Entwickler bereits das Senden und Empfangen von Infrarot-Kommandos in die alternative IoT-Firmware Sonoff-Tasmota eingebaut haben.

Es gibt zwei Wege, um die Firmware zu flashen. Die Firmware der Box enthält noch immer die bereits seit langem bekannten Sicherheitslücken die zum von c’t vorgestellten Tuya-Hack geführt haben. Wer die Anleitung zum Umwandeln von Tuya-Geräten [2] befolgt, hat hinterher eine Box mit Sonoff-Tasmota [3] 6.5.0. Sie müssen anschließend die aktuelle Sonoff-Tasmota-Version [4] flashen. Die von Tuya-Convert mitgelieferte Variante enthält keine Funktionen für Infrarot. Am besten eignet sich die Variante sonoff-sensors, denn diese kann mehr Infrarot-Codes verarbeiten, als die normalen Builds. Lesen im Abschnitt „Einrichtung“ weiter.

Alternativ kann man die Box mit einem ESP-Programmer von Tuyas Firmware befreien. Freundlicherweise hat der Hersteller der Box auf der Platine schöne große und beschriftete Lötpads angebracht. Öffnen Sie zunächst das Gehäuse, indem Sie mit einem flachen Schlitzschraubenzieher den Boden hochhebeln. Auf der Platine sehen Sie sofort die beschrifteten Lötpads. Ignorieren Sie das Paar RX- und TX-Kontakte zwischen Kondensator und LED-Ring.

Verbinden Sie 3V3 und GND entsprechend mit 3,3 Volt Spannung und Masse. Die Datenleitungen TX und RX müssen Sie über Kreuz mit den entsprechenden Pins am Programmer verheiraten. Damit der ESP in den Programmiermodus wechselt, bauen Sie eine Brücke zwischen IO0 und Masse. Am einfachsten geht das mit einer Krokodilklemme. Nach dem Flashen muss die Brücke wieder weg, da der ESP mit ihr nicht startet.

Laden Sie anschließend die aktuelle Sonoff-Tasmota-Version [5] herunter. Schließen Sie den Programmer dann an Ihren PC an. Mit dem Esptool landet die gewünschte Firmware auf der Box:

esptool.py write_flash -fs 1MB -fm dout 0x0 sonoff.bin

Haben Sie den ESP erfolgreich geflasht, startet er neu und Sie müssten ein neues WLAN sehen, das mit sonoff beginnt. Verbinden Sie sich und rufen Sie die Adresse http://192.168.4.1 im Browser auf. Tragen Sie auf der Startseite die Zugangsdaten für Ihr WLAN ein. Nach einem Neustart sollten Sie die Box in der Geräteliste Ihres WLAN-Routers finden. Öffnen Sie das Web-Interface der Box im Browser auf. Klicken Sie auf „Configuration“ und „Configure Module“. Bei „Module Type“ wählen Sie „YTF IR Bridge (62) [6]“ und klicken auf „Save“. Nach einem weiteren Neustart des Geräts tragen Sie Ihren MQTT-Server und etwaige weitere Einstellungen ein.

Leider bietet Sonoff-Tasmota keine Verwaltung von Infrarot-Codes, sodass man die Codes selber herausfinden muss. Im Menü „Console“ und per MQTT gibt die Box die Infrarot-Daten aus. Notieren Sie das Protokoll, die Bits und den hexadezimalen Wert hinter Data. Nur der letzte sollte sich je nach Taste ändern. Gibt die Box keine Meldungen über IR-Signale aus, kann es helfen, die Einstellungen zurückzusetzen und die Box noch einmal einzurichten.

Haben Sie notiert, welcher Code zu welcher Taste gehört, können Sie diesen auch per MQTT aussenden. Schicken Sie dazu eine Payload nach folgendem Muster an das Topic cmnd/sonoff/IRSend:

{"protocol": "NEC", "bits": 32, "data": 0x20DF10EF}

Ersetzen Sie dabei Protokoll, Bitzahl und den Hexwert durch für Ihr Gerät passende Werte. Die Box sollte den Befehl dann an Ihr Gerät senden.

Wer mit Sonoff-Tasmota unglücklich ist, kann auch das Projekt ESP8266-HTTP-IR-Blaster [7] verwenden. Es wurde speziell für den Betrieb von IR-Sendern am ESP entwickelt und kann auch Infrarot-Codes speichern. Dafür bringt das Programm extra ein Web-Interface mit. Es lässt sich auch mit Amazons Alexa koppeln. Für eigenen Code gibt es die Bibliothek IRremoteESP8266 [8]. (mls [9])

Dieser Beitrag stammt aus c't 19/2019.

[UPDATE 12.09.19: Installationshinweise für Tuya-Convert aktualisiert]


URL dieses Artikels:
http://www.heise.de/-4505906

Links in diesem Artikel:
[1] https://www.heise.de/select/ct/2019/19/1568032162648360
[2] https://www.heise.de/ct/artikel/Tuya-Convert-IoT-Geraete-ohne-Loeten-vom-Cloud-Zwang-befreien-4283623.html
[3] https://github.com/arendst/Sonoff-Tasmota
[4] https://github.com/arendst/Sonoff-Tasmota/releases
[5] https://github.com/arendst/Sonoff-Tasmota/releases
[6] https://github.com/arendst/Sonoff-Tasmota/wiki/ytf-ir-bridge
[7] https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster
[8] https://github.com/crankyoldgit/IRremoteESP8266
[9] mailto:mls@ct.de