Tasmota-Software auf Sonoff S20 Steckdosen
In diesem Beitrag möchte ich kurz beschreiben, wie man Sonoff S20 Steckdosen für die lokale Verwendung im SmartHome anpasst und die Bindung zur Hersteller-Cloud löst. Dafür notwendig ist die Tasmota-Firmware auf den Steckdosen.
Informationen
Im ersten Schritt findet Ihr hier ein paar Quellen für die die Anpassung der Hard- und Software:
- Hardware Preparation (vorbereitende Tätigkeiten)
- Sonoff S20 (im Speziellen)
- Video zum generellen Flash-Vorgang mit PlatformIO
Notwendige Komponenten
Folgende Hardware:Komponenten waren für die Anpassung notwendig
- FTDI Adapter FTL232RL USB zu TTL Serial (ca. 6,79 Euro bei Amazon)
- Jumper Wire Kabel (3 x 40 Stück) (ca. 6,29 Euro bei Amazon)
- 2 x Sonoff S20 Wifi Smart Steckdose (ca. 20,97 Euro bei Ebay)
20,97 Euro für 2 Stück
Für die Software habe ich die Arduino IDE mit ein paar Anpassungen für das Board verwendet.
Arduino IDE
In diesem Kapitel wird die Verwendung der Software-Umgebung auf Basis der Arduino IDE beschrieben.
Installation
- Download Arduino IDE 1.8.8
- Version 1.8.8 für Windows als ZIP-Datei (ohne Installation, abhängig vom Betriebssystem)
- Entpacken des Pakets und Start der Software (mit arduino.exe)
Erstkonfiguration
Nun wird eine erste Grundkonfiguration der IDE vorgenommen:
- Datei – Vorsteinstellungen – Zusätzliche Boardverwalter-URLs
- Ist notwendig für den Chip ESP82666
- http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Datei – Voreinstellungen – Sketchbook-Speicherort auf entsprechenden Pfad setzen
- Ansonsten werden die Anpassungen im “Dokumente & Einstellungen” Verzeichnis von Windows gespeichert
- Werkzeuge – Board – Boardverwalter (Einrichtung ESP8266-Board)
- Suche nach: esp8266
- Neueste Version installieren (hier 2.4.2 – keine Beta verwendet)
Sonoff (Hardware)
Jetzt kann etsprechend die Sonoff S20 Hardware angepasst werden.
Die Funksteckdose kann einfach mit einem Kreuz-Schraubendreher und drei Schrauben geöffnet werden. Nach Abschluß des Flash-Vorgangs wird die Steckdose wieder zusammengeschraubt.
Danach wird die Verbindung zum FTDI-Adapter hergestellt:
Wichtig ist, dass während des Flash-Vorgangs die Steckdose nie am Stromnetz betrieben werden darf.
In der Hardware-Vorbereitung wird genau beschrieben wie Ihr die Pins verbinden müsst. Die Umsetzung war für mich als “Nicht-Elektroniker” auch einfach zu machen.
Tasmota (Software)
Nun muss die Firmware auf der Steckdose von der Herstellerfirmware gegen Tasmota getauscht (“geflasht”) werden.
Installation und Konfiguration
Bei der Tasmota-Firmware handelt es sich um eine Software für auf ESP8266 basierende Geräte von itead z.B. Sonoff. Hier können erweitertee Funktionen wie Web, MQTT und OTA hinzugefügt werden. Als Arbeitsumgebung kann Arduino IDE PlatformIO verwendet werden. Ich habe mich für die Arduino IDE entschieden.
Die erste Einrichtung habe ich wie folgt vorgenommen:
- Download von https://github.com/arendst/Sonoff-Tasmota (Clone or download, Download ZIP)
- Entpacken der Datei sonoff-Tasmota-development.zip in ein beliebiges Verzeichnis
- Sketch “sonoff” von …\Sonoff-Tasmota-development in den vorher hinterlegten Sketchbook-Speicherort kopieren
- Libraries “lib” von …\Sonoff Tasmota\Sonoff-Tasmota-development in den vorher hinterlegten Sketchbook-Speicherort + \libraries kopieren
Damit ist die Grundkonfiguration der Firmware schon einmal vorhanden.
Anpassung Sonoff-Projekt
Jetzt muss das entsprechende Sonoff-Projekt an die eigenen Vorstellungen angepasst werden:
- Arduino IDE starten und Projekt laden (Datei – Öffnen) – Sketchbook-Speicherort + \sonoff\sonoff.ino
- Anpassung der Datei my_user_config.h (benutzerdefinierte Konfigurationen)
- WIFI_IP_ADRESS auf “0.0.0.0” kontrollieren (damit wird DHCP verwendet)
- STA_SSID1 mit entsprechender WLAN-SSID anpassen
- STA_PASS1 mit entsprechendem WLAN-Passwort anpassen
- WIFI_CONFIG_TOOL auf “WIFI_RETRY” kontrollieren (bei WLAN-Abbruch Verbindung wieder herstellen)
- #define MY_LANGUAGE de-DE (// als Kommentar entfernen für deutsche Firmware)
- Dann wird die Vorbereitung zum Flash-Vorgang (Verbindung) wie folgt konfiguriert:
- Diese Einstellungen sind dann abhängig von den verwendeten Modulen und Elementen
- Werkzeuge
- Board: “Generic ESP8266 Module” auswählen
- Flash Mode: “DOUT”
- Flash Size: “1M (no SPIFFS)”
- Debug port: “Disabled”
- Debug Level: “Keine”
- IwIP Variant: “v1.4 Higher Bandwith”
- Port: Entsprechenden Port aus der Windows-Geräte-Verwaltung auswählen
- Die Einstellungen dort sind abhängig von den entsprechenden Boards
Flash-Vorgang starten
Nun kommt der eigentliche Flash-Vorgang, der aber auch recht einfach funktioniert:
- Button auf dem Sonoff S20 drücken
- Gerät am USB einstecken (Power)
- Button loslassen
- Sonoff S20 ist im Programmiermodus
- Software flashen
- Ausstecken und ohne Button wieder einstecken (Gerät bootet normal und sollte im WLAN sein)
Netzwerkintegration
WLAN-Integration
Nachdem man die Steckdose wieder zusammen geschraubt hat, ist ein erster kompletter Test im eigenen WLAN möglich.
Dazu einfach im Router (bei mir eine FritzBox) in den Netzwerkgeräten nach “sonoff” Ausschau halten.
Hier findet Ihr dann die IP-Adresse und der entsprechende Name des Geräts. Nun kann über einen Web-Browser auf das Webinterface zugegriffen werden. Auf der Weboberfläche kann auch gleich ein erster Funktionstest (Schalttest) vorgenommen werden.
Tasmota-Konfiguration
Folgende Einstellungen habe ich in der Tasmota-Weboberfläche noch vorgenommen:
- Einstellungen – Gerät konfigurieren
- Gerätetyp: Sonoff S2X (8)
- Einstellungen – Sonstige Konfiguration
- Name: sonoff-xxx
- Emulation: Belkin WeMo
- Einstellungen – MQTT konfigurieren
- Host: xxx.xxx.xxx.xxx
- client: sonoff-%06X
- topic: sonoff-xxx
Durch die Emulation ist auch eine direkte Verwendung in Amazon Echo / Alexa möglich. Die MQTT-Einstellungen sind nur für meine openHAB-Integration vorgesehen.
Alexa-Integration
Für die Verwendung mit Alexa muss in der Alexa-App noch ein Suchlauf gestartet werden. Danach können die Geräte per Sprache geschalten werden:
- “Schalte sonoff-xxx ein”
- “Schalte sonoff-xxx aus”
Fazit
Mit diesen paar Schritten ist es relativ einfach ein Sonoff-Endgerät mit der alternativen Firmware Tasmota zu “flashen”. Auch die Integration in das heimische Netzwerk klappt ohne größeren Aufwand. Damit habe ich für ca. 10 Euro pro Steckdose eine sehr günstige Variante um unsere Weihnachtsbeleuchtung mit vielen Steckdosen Ende 2019 entsprechend zu schalten.
Die MQTT-Konfiguration für openHAB und die Integration in Alexa über openHAB muss ich im nächsten Schritt noch genau testen.
Vom Arbeitsaufwand war es eigentlich recht überschaubar (dies hätte ich mir komplizierter) vorgestellt.
Habt Ihr auch schon einmal Endgeräte mit Tasmota geflasht?