Switchbot LED Lampe mit Tasmota OTA flashen

Auf meinem Blog habe ich schon viel über Switchbot berichtet , wie auch die Switchbot LED. Preislich ist die Farb LED definitiv einen Blick Wert im Vergleich zu zum Beispiel der AVM Fritz DECT 500 oder einer Philips Hue e27 in Farbe. Leider war es bis jetzt nur schwer möglich, die LED Lampe außerhalb des Switchbot Ökosystems zu verwenden. Meinen anderen Geräte, wie den Bot oder die Curtains verwende ich über die Home Assistant Bluetooth Integration oder zuvor über Switchbot ESP Hub. Beide Varianten integrieren aber nicht die LED!

Switchbot ESP32-C3 und Tasmota

Die Switchbot LED vom Model W1401400 nutzt unter der Haube einen ESP32-C3 Chip. Umso erfreulicher war es für mich, dass seit dem Tasmota Release 12.1.0 der entsprechende LED Treiber zum steuern des Leuchtmittels hinzugefügt würde!

In der Tasmota Übersicht zum Device ist dann auch die Methode SwitchbOTA genannt mit welcher sich die LED flashen lässt. Ebenso ist direkt ein Template verfügbar! Im Weiteren gehe ich nun kurz darauf ein, welche Herausforderungen und Hürden ich hatte, um Tasmota flashen zu können.

SwitchbOTA Erfahrungen

Einfach loslegen sollte man bei dieser Methode nicht! Die Information, ob für Switchbot Geräte Firmware Updates verfügbar sind, bekommen die Geräte über die Prüfung einer bestimmten Webseite. Das ist www.wohand.com

Ist die Prüfung erfolgreich wird das neueste Update herunter geladen. Startet man den Prozess also mit einer OVP Lampe sollte in keinem Fall ein Update durchgeführt werden. Denn der Prozess gaukelt der LED vor, dass der Switchbot Update Server kontaktiert wird, was bei der SwitchbOTA Methode ein lokaler Server ist, der gestartet wird!

Ist die LED bereits auf der neuesten Version gibt es aber einen Weg, wie das Update trotzdem per Bluetooth gestartet werden kann! Diesen Weg musst ich gehen!

DNS Eintrag erstellen

Als erstes muss also ein DNS Eintrag erstellt werden, welcher die Adresse www.wohand.com in deinem Netzwerk auf den Computer routet, der den Web Server hostet. Da ich eine Fritz Box nutze hatte ich hier das erste Problem. Als einfach Lösung schlägt der Entwickler vor die nötigen Einträge in der Hosts Datei vorzunehmen. Damit hatte ich leider kein Erfolg. Der Prozess funktionierte nicht.

Also habe ich schnell einen pi-hole im Docker Container installiert und der Fritz Box den neuen DNS server mitgeteilt. In pi-hole habe ich anschließend die folgenden beiden DNS Einträge erstellt.

pi-hole DNS Eintrag
pi-hole DNS record

Webserver starten

Als nächstes kann der Webserver gestartet werden. Dieser benötigt node.js was auf allen möglichen Plattformen läuft. Ich habe diesmal meinen MAC genutzt. Nun kann der Web Server gestartet werden, der von der Projektseite geladen wird

SwitchbOTA Web Server
SwitchbOTA Web Server

Per Kommandozeile wird der Server aus dem Zielpfad mit folgendem Befehl gestartet.

node index.js

Wenn alles bis hier hin funktioniert hat und du über die Switchbot App auf ein Update prüfst solltest du ein Log dazu in der Kommandozeile sehen, was ungefähr wie folgt aussieht:

SwitchbOTA Web Server
SwitchbOTA Web Server

Die mit deinem Switchbot Account verbundenen Geräte prüfen auf „Version“, ob eine aktuellere als die installierte Version vorhanden ist.

Wenn das der Fall ist, ist der schwierigste Teil geschafft! Du weisst, dass die Kommunikation mit dem Webserver funktioniert. Der Web Server lädt nun die benötigten bin Files und sollte das Update durchführen!

Danach sollte die LED in der Switchbot App als Offline gekennzeichnet werden und Tasmota eine Hotspot aufmachen.

Switchbot LED Offline
Switchbot LED Offline

Die Bluetooth Methode

Bei meinem ersten Versuch hatte ich leider Probleme mit den DNS Einstellungen, was dazu führte, dass die LED ein Update auf die neueste Switchbot Firmware durchgeführt hat. Aber auch dafür gibt es einen Weg!

Es scheint erst kompliziert, ist es aber letztendlich nicht. Das Update wird per Bluetooth getriggert und da für die App nRF Connect benötigt. Die App findet die LED als auch andere Geräte per Bluetooth. Über den Connect Button verbindet man sich nun mit der LED und klickt das Register Client

Dort wird nun folgender Bluetooth Code abgesetzt, der das Update triggert: 57 0f 0a 01 0c

Update per Bluetooth starten
Update per Bluetooth starten

Im Log sollte nun zu sehen sein, dass die .bin Datei geladen und übertragen wird. Ich habe dann ca. 1 Minute gewartet und einen Power Cycle durchgeführt. Also die Lampe kurz vom Strom getrennt und wieder angeschaltet. Ein Werksreset und die Eingabe eines weiteren Code, wie hier beschrieben war nicht nötig.

Switchbot Tasmota Firmware
Switchbot Tasmota Firmware

Kurz danach konnte ich mich über den Tasmota Hotspot mit der LED verbinden und die weiteren Tasmota Einstellungen wie Update auf die neueste Version, WLAN, Template und MQTT Einstellungen vornehmen. Das fertige Ergebnis sieht dann so aus.

Switchbot Tasmota LED
Switchbot Tasmota LED

Zum Schluss war meine erste LED Lampe mit Tasmota im Netzwerk! Super ist nun, dass ich die Switchbot LED auch außerhalb des Switchbot Universums nutzen kann. Durch die Home Assistant Tasmota Integration war die Lampe auch direkt in Home Assistant verfügbar!

Switchbot mit Tasmota in Home Assistant
Switchbot mit Tasmota in Home Assistant

Ob Switchbot diesen Weg irgendwann unterbindet, weil z.B. im Hintergrund eine andere URL für den Update Server verwendet wird oder sogar ein anderer Chip lässt sich natürlich nur schwer sagen. Wer also zu diesem Preis eine wirklich coole LED Lampe mit Tasmota betreiben möchte sollte mit einem Kauf vielleicht nicht warten und sich entsprechend eindecken.

Fazit

Es war zwar ein langer weil zum einen die Methode neu für mich war. Zum anderen aber auch, weil ich anfangs etwas mit den DNS Settings und dem Web Server zu kämpfen hatte und ich den Umweg über Bluetooth gehen musste.

Ich habe dabei aber viel gelernt und hatte daher auch viel Spaß mit der Umsetzung und war stolz über den erfolgreichen Flash Vorgang!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.