ioBrokerioBroker TutorialsSonoff / TasmotaSonoff S20Tasmota

Sonoff S20 mit Tasmota flashen und in ioBroker einbinden

In diesem Artikel zeige ich Dir, wie Du einen Sonoff S20 mit Tasmota flashen und somit in ioBroker integrieren kannst.

Einführung

Die Sonoff S20 Zwischenstecker können auch im Auslieferungszustand (ohne Tasmota-Firmware) in ioBroker eingebunden werden, haben aber den Nachteil, dass sie mit der Original-Firmware über die Sonoff-Cloud arbeiten, und ich diesen weiteren Cloud-Zugriff nicht möchte. aus diesem Grund werde ich den Zwischenstecker mit der Tasmota Firmware flashen und so eine alternative Firmware installieren. Die Vorteile von Tasmota sind die einfachere Integration in ioBroker via MQTT-Client, schneller Reaktionszeiten, keinen Cloud-Zugriff und Integrationsmöglichkeiten in Amazon Alexa.

ACHTUNG:
Während des Flashens darf auf keinen Fall 230V anliegen!!! Also immer den Zwischenstecker aus der Steckdose abziehen und erst nach allen Arbeiten am geöffneten Gerät wieder einstecken.

 

Benötigte Materialen

 

Hardware-Vorbereitung

Im ersten Schritt müssen wir die Schrauben des Sonoffs S20 Zwischenstecker lösen. Wir sehen nun die Platine des S20. Im unteren Bereich sind 4 Löcher mit Lötpunkten vorhanden, auf die eine Stiftleiste (4x fach) aufgelötet werden kann. Alternativ kann man hier auch mit 4x Male-Female Steckern die Verbindung zur TFDI-Flash-Platine herstellen. Dazu werden die 4 Stecker einfach leicht schräg in die Löcher eingeführt und fixiert. Ich habe bei mir die Lösung ohne löten versucht, was bestens funktionierte.

Die einzelnen Steckleitungen werden wie folgt zwischen dem Sonoff S20 und dem FTDI-Adapter angeschlossen:

Sonoff S20 FTDI-Adapter
GND GND
VCC VCC
TX RX
RX TX

Wichtig ist hierbei, dass wir die TX und RX Leitungen vertauschen. Sprich der TX geht auf RX am Adapter und umgekehrt.

 

 



 

Software-Vorbereitung

Für das Flashen der Tasmota Firmware kann z.B. ArduinoIDE eingesetzt werden. Ich habe für das Flashen Version 1.8.5 eingesetzt. Falls Du ArduinoIDE noch nicht installiert hast, kannst Du die Software unter folgendem Link herunterladen. Nach der Installation musst Du noch die Einrichtung für die ESP8266-Boards durchführen, welche ich bereits hier beschrieben habe: Arduino IDE Einrichtung ESP8266-Boards

Im nächsten Schritt laden wir uns die aktuelle Tasmota-Version als ZIP-Datei von GitHub herunter. Der Download wird rechts oben mit der Schaltfläche „Clone or download“ und dann „Download ZIP“ gestartet.

 

Nach dem nun die ArduinoIDE installiert und konfiguriert ist, können wir im nächsten Schritt die Tasmota Firmware entsprechend vorbereiten. Dazu entpacken wir das ZIP in einen beliebigen Ordner und kopieren im ersten Schritt alle Ordner im Ordner „lib“ in den „libraries“ Ordner der ArduinoIDE Installation. In der Regel liegt dieser unter den eigenen Dokumenten\ Arduino \ libraries. Zudem kopieren wir den Ordner „sonoff“ in unseren Sketch-Ordner (Dokumente\Arduino).

Nun können wir ArduinoIDE starten und über Datei öffnen die Datei „sonoff\sonoff.ino“ aus dem Sketch-Ordner öffnen. Nach dem Öffnen sollten wir das komplette Sonoff-Projekt sehen und geöffnet haben.

Im nächsten Schritt beginnen wir nun mit der Anpassung der Firmware mit unseren WLAN-Einstellungen. Dazu öffnen wir die Datei „user_config.h“
Die mit gelb markierten Defines müssen wir nun an unsere Umgebung anpassen. Im Eintrag „WIFI_IP_ADRESS“ habe ich „0.0.0.0“ eingetragen, wodurch der DHCP-Server der Steckdose eine IP-Adresse vergeben soll. Da ich die Zwischenstecker später mit MQTT an ioBroker anbinde benötige ich hier keine feste IP-Adresse. Die Defines „STA_SSID1“ und „STA_PASS1“ erhalten die jeweilige WLAN-SSID sowie das WLAN-Kennwort. Optional kann hier noch ein zweites Netzwerk eingetragen werden. Zudem habe ich im Define „WIFI_CONFIG_TOOL“ WIFI_RETRY eingetragen, sodass sich der Zwischenstecker nach einem WLAN-Abbruch wieder erneut verbindet. Nach dem alle Änderungen gemacht wurden, können wir die Datei speichern.

Im nächsten Schritt müssen wir noch die Einstellungen der Verbindung und des Flash-Vorgangs treffen. Hierzu müssen folgende Einstellungen in der ArduinoIDE unter Werkzeuge angepasst werden:

 

 



 

Das Flashen der Software

Nun beginnen wir mit dem eigentlichen Flash-Vorgang des Sonoff S20 mit der aktuellen Tasmota Version. Hier bei zunächst wieder der Sicherheitshinweis:

Während des Flashens darf auf keinen Fall 230V anliegen!!!
Also immer den Zwischenstecker aus der Steckdose abziehen und erst nach allen Arbeiten am geöffneten Gerät wieder einstecken.

In diesem Schritt verbinden wir zunächst den USB FTDI-Adapter mit unserem PC. Dabei müssen wir den Button auf dem Sonoff S20 gedrückt halten. Die LED auf dem FTDI-Adapter blingt nun zweimal. Das Blinken der LED zeigt uns, dass sich Sonoff S20 im Programmiermodus befindet und wir jetzt mit dem Flash-Vorgang beginnen können.

Wir gehen nun wieder in Arduino IDE und klicken auf Schaltfläche „Hochladen“. Nun wird der Sonoff S20 mit Tasmota geflasht.

Nach dem das Hochladen mit 100% abgeschlossen wurde, können wir den FTDI-Adapter einmal aus dem USB-Port entfernen und erneut einstecken ohne den Button zu drücken. Nun fährt der Sonoff S20 mit Tasmota hoch und sollte grün blinken. Im nächsten Schritt müssen wir die IP-Adresse des Sonoff S20 Zwischensteckers über den DHCP-Server des Routers ermitteln. Dazu einfach die Netzwerkübersicht auf dem Router / DHCP-Server öffnen und nach einem neuen Gerät mit dem Namen „Sonoff“ suchen. Bei mir war der Zwischenstecker sofort sichtbar und ich konnte mittels der entsprechenden IP-Adresse auf das Tasmota Web-Interface zugreifen.

 

Vorbereitungen in ioBroker

Im nächsten Schritt müssen wir in ioBroker den Sonoff Adapter installieren. Dazu gehen wir auf die Adapter-Übersicht und suchen hier nach sonoff. Über die Plus-Schaltfläche können wir nun eine weitere Instanz hinzufügen.

 

Nach der Installation konfigurieren wir den Adapter. Dabei müssen wir den Port definieren, über den der MQTT-Broker läuft. Falls bereits ein MQTT-Adapter (Broker) installiert wurde muss hier ein abweichender Port gewählt werden. In meinem Fall nutze ich daher den Port 1884.

 

 

Das Tasmota Web-Interface

Nach dem wir nun die IP-Adresse ermittelt haben geben wir diese nun einfach im Browser ein. Nach dem Laden sollte die Tasmota-Software angezeigt werden. Auf der Übersichtsseite können wir den aktuellen Status des Zwischensteckers einsehen oder umschalten. Zudem stehen umfangreiche Einstellungen, Informationen über Tasmota sowie ein Firmware Update zur Verfügung. Über die Konsole können zusätzliche Befehle gesendet werden. Zudem können wir den Zwischenstecker neu starten.

 

   

Für die Integration in ioBroker öffnen wir nun in den Einstellungen der Tasmota Software die MQTT Konfiguration. In den MQTT-Einstellungen geben wir als Host die IP-Adresse von ioBroker sowie den vorher definierten Port ein. Zusätzlich können wir in der Geräte-Konfiguration noch den Gerätetyp auf „Sonoff S2X“ setzen. Hier können bei anderen Sonoff Geräten noch optionale Sensoren angeschlossen.

 

Visualisierung

Nach dem wir nun den Sonoff-Adapter konfiguriert und neu gestartet haben, erscheint unter den Objekten unter dem Zweig „sonoff.0“ unser Sonoff S20 Zwischenstecker. Wir sehen hier unter dem Bereich INFO den Hostnamen, die IP-Adresse sowie der Grund des letzten Restarts.

 

Über den Datenpunkt POWER können wir zudem den Status des Zwischensteckers setzen oder auslesen.

Ich hoffe Dir gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂


Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

14 Gedanken zu „Sonoff S20 mit Tasmota flashen und in ioBroker einbinden

  • Pingback: ioBroker kompatible Steckdosen Zwischenstecker – smarthome-tricks.de

  • Haussmann

    Zudem kopieren wir den Ordner „sonoff“ in unseren Sketch-Ordner.

    Und genau hier war für mich Ende…

    Wo ist de Ordner Sonoff den ich wo in Sketch kopieren soll?

    Danke

    Antwort
    • Matthias Korte

      Hallo,

      der sonoff-Ordner aus dem Download muss in den Arduino Ordner in den eigenen Dokumenten (unter Windows) kopiert werden. In diesem Ordner befindet sich der zu öffnende Sketch.

      Antwort
  • Moin
    Hab gestern meine Sonoff Stecker alle mit Tasmota geflasht und dann heute den ganzen Vormittag versucht FHEM auf nem PI zu installieren und die Sonoff Stecker einzubinden. Was ein Krampf. Hab genervt aufgeben und dann ein Image vom iobroker auf die SD gepackt. Nach 30min konnte ich Danke deiner Anleitung die Stecker einbinden und schalten. So muss das!
    Danke!
    Jetzt können die Spielereien beginnen.

    Antwort
    • Matthias Korte

      Moin Mark,

      Danke für Dein Feedback, so muss das doch sein 🙂

      Viele Grüße,
      Matthias

      Antwort
  • Mark der Zweite

    Hallo, danke für das und weitere Tutorials.
    Fange grad erst an mit iOBroker und bin vorher in OpenHab gerade mit der Sonoffintegration über die MQTT-Bindings kläglich gescheitert.
    Hier nun meine Frage, warum sollte der MQTT-Adapter-Port geändert werden, und was hat das für Auswirkungen.

    Antwort
    • Matthias Korte

      Hallo Mark, der Sonoff Adapter bringt einen eigenen MQTT-Broker mit. Solltest Du schon einen MQTT-Broker in ioBroker aktiviert haben, muss der Port angepasst werden. Zwei Broker auf dem selben Host funktionieren nicht mit dem selben Port.

      Antwort
  • Jürgen Schürer

    Muss ich wirklich für jeden Sonoff S20 Zwischenstecker eine neue Sonoff-Instanz installieren um den Port einstellen zu können. Ich habe erstvergangene Woche einen Sonoff Dual und zwei Shelly1 installiert und das alles über eine Instanz (sonoff.0) und einen Port (1883). Gibt es da Unterschiede?

    Antwort
  • Wolfgang

    Vielen Dank für deine Mühe. Beim Punkt Visualisierung hört es bei mir auf. Ich sehe im Admin-Menue des IoBrokers alles wie beschrieben. Leider habe ich zwei Probleme:
    1. Wenn ich den Wert von POWER ändere, passiert nichts. Die Lampe wird nicht geschaltet.
    2. Wie bekomme ich das Objekt im VIS oder sonstwo / wie zu sehen, um es in der Web-Oberfläche schalten zu können.
    Überall finde ich nur komplexe Beschreibungen für Funktionen, die ich erst mal nicht benötige. Ich möchte nur eine Lampe mit dem Sonoff schalten. In der Sonoff-Web-Oberfläche klappt alles schön. Ich möchte aber für alle Lampen (4) erst mal nur eine Oberfläche erzeugen – sonst nichts – verzweifelt.
    Danke für Hilfe

    Antwort
  • Pingback: ESP8266, Tasmota und ioBroker – smarthome-tricks.de

  • Mario MM

    Nachdem ich nun gefühlte Tage gelesen habe, komme ich nicht weiter!

    Ich konnte Gosund SP1 erfolgreich auf Tasmota flashen und einrichten, so dass diese Funktioniert.

    IOBroker habe ich am Rechner!

    Aufrufbar über localhost:8081

    Dort lässt sich dann auch der Sonoff Adapter auswählen und installieren!

    Noch Einrichtung und allen sonstigen angegebenen Einstellungen wie hier angegeben.

    In IO Broker bleibt die Instanz Sonoff gelb

    Gott Sei dank habe ich die anderen Stecker (7) noch nicht geflasht!

    Kann mir da vielleicht jemand weiter helfen!

    Antwort
  • Mario MM

    Ich konnte noch das hier in der Konsole finden, als Verbindungsversuch und Fehlermeldung!

    01:08:06.542 MQT: Verbindungsversuch…
    01:08:06.762 MQT: Verbindung fehlgeschlagen aufgrund von 10.3.0.24:1883, rc -2. Wiederversuch in 70 s
    01:08:08.390 RSL: STATE = {„Time“:“2022-09-02T01:08:08″,“Uptime“:“0T00:03:44″,“UptimeSec“:224,“Heap“:26,“SleepMode“:“Dynamic“,“Sleep“:50,“LoadAvg“:19,“MqttCount“:0,“POWER“:“ON“,“Wifi“:{„AP“:1,“SSId“:“Office-One“,“BSSId“:“CC:CE:1E:0F:EE:E2″,“Channel“:11,“Mode“:“11n“,“RSSI“:90,“Signal“:-55,“LinkCount“:1,“Downtime“:“0T00:00:03″}}

    Antwort

Schreibe einen Kommentar zu Matthias Korte Antworten abbrechen

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