Für alle die sich nur unregelmäßig mit dem Thema Smart Home auseinandersetzen: Sonoff ist ein preiswerter Smart Switch mit ESP8266. Somit wird – wie hier – eine Sonoff Basic über das WLAN eingebunden und lässt sich dann über Amazon Alexa, Google Home oder IFTTT steuern.
Warum eine alternative Firmware wie Tasmota?
- Mehr Funktionen (MQTT, Domoticz, FHEM etc.)
- Schnellere Reaktionszeiten
- Eigenständiges Gerät
- Keine Kommunikation nach China
- Alexa-Integration ohne Skill (mit der Emulation auf Belkin WeMo oder Philipps Hue)
Die Nachteile durch das Flashen liegen ebenso auf der Hand:
- Verwendung der Ewelink-App nicht mehr möglich
Flashen – Wie wird’s gemacht?
Ich programmiere die ESPs mit Arduino, so auch hier. Die Sonoff-Smart-Switches haben ein ESP8266 auf dem Board, sodass diese mit einem Programmer (einem sog. FTDI-Adapter, häufig ein FT232RL, ein USB zu Serial-Konverter) programmiert/geflasht werden können. Es werden die PINs VCC, TX, RX und GND gebraucht. Wichtig ist hier das der Programmer auf 3,3 V eingestellt ist und nicht 5 V.
Als erstes lässt der Sonoff seine Hüllen fallen, auf der Vorderseite habe ich einen 4-Pin-Header aufgelötet, sodass man ein Jumper-Kabel anschließen kann. 3,3V, RX, TX und GND ist das Pinout des Sonoff von links nach rechts wenn links der Taster liegt.
Dann wird dieser entsprechend mit dem Programmer verbunden. Bevor dieser an den USB-Eingang des PCs angeschlossen wird, muss der Taster auf dem Sonoff gedrückt werden, damit der ESP8266 in den Flashmodus gesetzt wird. Dann den USB-Stecke einstecken und ein paar Sekunden waren. Nun kann der Taster losgelassen werden, es sollte keine LED-Aktivität auf dem Sonoff erkennbar sein.
Als nächste die Tasmota-Firmware herunterladen, in das Arduino-Verzeichnis kopieren und Anpassungen nach Wunsch an der my_user_config.h vornehmen und dann das ganze wie in der Readme beschrieben hochladen.
Zum hochladen muss noch das richtige Board im Boardverwalter ausgewählt werden, dieser wird – falls man es noch nicht hinzugefügt hat – in den Voreinstellungen (Datei -> Voreistellungen) für die ESP 8266 unter den URLs hinzugefügt.
https://github.com/esp8266/Arduino/releases/download/2.6.0/package_esp8266com_index.json
Nun unter Werkzeuge -> Boards -> Boardverwalter esp8266 suchen und hinzufügen.
Vor dem Flashen selber auch noch die ganzen Bibliotheken hinzufügen und die Konfiguration für den ESP korrekt setzen:
Das Flashen selber funktioniert mit der neuen Arduino-Konfiguration nicht mehr ganz so einfach, da die Arduino-Konfigration leider vor dem Flashen noch einmal den ESP wohl per Soft-Reset zurücksetzt. Ab dem Moment ist (oder so scheint es zumindest) der ESP nicht mehr flashbar, daher habe ich über den Tasmota Pyflasher das flashen selber vornehmen können. Dazu in der Arduino IDE das Sketch kompiliert exportieren (Strg + Alt + S). Binärdatei auswählen, Port wählen und los geht’s!
Ich habe diese in meinen eigenen MQTT-Broker eingebunden und das WLAN direkt konfiguriert, sodass ich nach dem Flaschen das Gerät nur noch umbenennen musste und somit schon fertig war!
Fazit der Tasmota-Firmware auf den Sonoff-Smart-Switches
Das ganze lässt sich nach dem Flashen flux in der Alexa-Konfiguration einbinden und steuern.
Ansonsten habe ich so nun die ersten vier Smart-Switches im Haus verteilt und konventionelle Schalter durch die Sonoff-Schalter ersetzt. Mein Plan ist, dass diese über MQTT so mit Präsenzsensoren gesteuert werden können, sodass diese automatisch ein- und ausgeschaltet werden.