ESP8266, Tasmota und ioBroker

In diesem Artikel schauen wir uns einen Beispiel-Aufbau eines ESP8266 Mikrocontrollers in Verbindung mit Tasmota und ioBroker an.

Tasmota ist eine kostenlose, quell-offene und alternative Firmware für ESP8266 basierte Geräte. Tasmota wurde im Jahre 2017 von Theo Arends entwickelt, der Name Tasmota steht für Theo-Arends-Sonoff-MQTT-OTA.

Der folgende Screenshot zeigt das Tasmota Menü. Über dieses Menü können später Informationen von angeschlossenen Sensoren eingesehen, sowie auch Zustände verändert werden. Zudem stehen hier alle Einstellungen und auch optionale Firmeware Updates zur Verfügung. Wir werden später auf die einzelnen Funktionen und Möglichkeiten näher eingehen.



Flashen des ESP8266

Im ersten Schritt laden wir uns jetzt ein geeignet Flash-Tool für das Aufspielen der Firmware herunter. Ich flashe den ESP8266 Mikrocontroller mit meinem Windows 10 Notebook, daher lade ich mir den Tasmota-Pyflasher herunter:

https://github.com/tasmota/tasmota-pyflasher/releases

Nach dem wir uns die Software zum Flashen heruntergeladen haben, laden wir uns im nächsten Schritt ein Tasmota Image im Bin-Format herunter. Auf der Github-Projektseite findest Du die Images der aktuellen Version in verschiedenen Sprachen. In der Liste der Assets lade ich nun die aktuelle Version v8.1.0 in Deutsch als Bin-Datei herunter.

https://github.com/arendst/Tasmota/releases/tag/v8.1.0

Den Flasher sowie auch die Bin-Datei habe ich unter C:\temp\tasmota gespeichert. Nun können wir direkt den ESP8266 per Mikro-USB-Kabel mit dem Notebook/PC verbinden und im Verzeichnis C:\temp\tasmota die Datei Tasmota-PyFlasher-1.0.exe ausführen.

Nach dem Start des Tasmota Pyflasher Tools wählen wir nun zunächst den COM-Port aus, an dem unser ESP8266 eingesteckt ist. Bei mir ist das COM5. Im nächsten Schritt wählen wir die Tasmota Firmware als Bin-Datei aus C:\temp\tasmota. Die Einstellung Erase flash habe ich mit yes so belassen. Wir können jetzt den Flash-Vorgang starten.

Nach ca. 30 Sekunden wurde der Flash-Vorgang mit folgender Meldung erfolgreich beendet.

Im nächsten Schritt können wir nun den ESP8266 vom PC aus- und wieder einstecken, sodass der ESP8266 neu gestartet wird.

Jetzt verbinden wir uns mit dem neu gestarteten ESP8266 über die WLAN-Verbindung. Dazu einfach die Liste der WLAN-Netze öffnen und nach Tasmota suchen. Mit einem Klick auf das Tasmota-XXXX Netzwerk stellen wir nun eine Verbindung her und es sollte sich automatisch der Browser öffnen.

Nach dem Start von Tasmota müssen wir nun die WLAN-Einstellungen anpassen. Hierzu die WLAN-Einstellungen auf Tasmota öffnen und unser WLAN-Netz (SSID) sowie das WLAN-Kennwort eintragen. Hier können wir optional auch zwei WLAN-Netzwerke hinterlegen. Wichtig ist noch hier den Hostname korrekt und am besten sprechend zu vergeben. Ich habe zu Testwecken hier tasmota_test vergeben. Nach dem Speichern der Konfiguration können wir dann einen Neustart durchführen.

Während dem Neustart trennen wir zudem auch wieder die Netzwerkverbindung zum Tasmota-Netzwerk und verbinden uns mit dem normalen WLAN-Netzwerk.

Über unseren Router können wir nun die IP-Adresse des ESP8266 herausfinden.



Optional eine feste IP-Adresse in Tasmota hinterlegen

Im nächsten Schritt habe ich nun über die Tasmota Konsole eine feste IP-Adresse definiert. Klicke dazu auf die Schaltfläche Konsole.

Nun öffnet sich die Tasmota Konsole, über die Kommandos ausgeführt werden können.

Setze nun die beiden folgenden Befehle über die Konsole ab. Hierzu natürlich die IP-Adresse entsprechend an das eigene Netzwerk anpassen.

savedata 1
ipaddress1 192.168.2.130
savedata 0

Wir haben nun die Basis-Konfiguration der Tasmota-Software vorgenommen. Im nächsten Schritt beginnen wir Tasmota entsprechend unserer Beispiel-Anwendung zu konfigurieren. Wir klicken hier nun auf die Schaltfläche Einstellungen.

In den Einstellungen ändern wir den Gerätetyp auf Generic (0) und speichern die Einstellungen. Ich habe nun folgende Schaltung aufgebaut:

Den DHT22 Temperatur-und Luftfeuchtigkeits-Sensor habe ich wie folgt angeschlossen:

DHT22ESP8266
Pin 1 – 3,3V3,3V
Pin 2 – DataD3
Pin 4 – GNDGND

In den Tasmota-Einstellungen wählen ich dann am Port D3 den AM2301 (DHT22) Sensor. Das Relay wird am Port D2 angeschlossen, die Belegung vom Relay sieht wie folgt aus:

RelayESP8266
3,3V3,3V
SD2
GNDGND

Daher stellen wir hier noch am Anschluss D2 das Relay1 ein. Wenn wir mehrere Relais verwenden möchten, müssen wir hier einfach die entsprechend durchnummerierten Relais wählen (Relay1 – Relay8).

Wenn wir nun die Geräte-Einstellungen speichern können wir bereits auf der Startseite der Tasmota-Software die Sensor-Informationen einsehen sowie das Relais ein- und ausschalten. Das funktioniert soweit schon mal ziemlich schnell und einfach 🙂

Im nächsten Schritt werden wir nun das Tasmota-Gerät in unsere Haussteuerung integrieren.


MQTT-Einstellungen

Im ersten Schritt öffnen wir nun die Einstellungen und klicken dann auf die MQTT-Einstellungen. In den MQTT-Einstellungen tragen wir hier nun den IP-Adresse von ioBroker sowie den Port des Sonoff-MQTT-Adapters ein. Falls Du den Sonoff-Adapter noch nicht installiert hast, würde ich nun zunächst den Adaper installieren. In folgendem Artikel ist die Installation beschrieben:

Nach der Installation des Adapters tragen wir hier nun die IP-Adresse sowie den entsprechenden Port des Sonoff-Adapters in die MQTT-Konfiguration ein. Abschließen klicken wir auf die Speichern-Schaltfläche und starten zudem noch den Tasmota neu.


Integration in ioBroker

Nach wenigen Sekunden sehen wir nun in den Sonoff-Objekten die Datenpunkte des ESP8266. Über die AM2301-Datenpunkte können wir die Luftfeuchtigkeit (Humidity) sowie die Temperatur einsehen. Mit dem Power-Datenpunkt können wir das Relais ein- und ausschalten.

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.

2 Gedanken zu „ESP8266, Tasmota und ioBroker

  • 29. März 2020 um 12:43
    Permalink

    kämpfe aktuell mit der iobroker Konfiguration eines tasmota geflashten sonoff TH16 mit AM2301 Temperatur und Luftfeuchtigkeit (diese Werte erscheinen nicht im iobroker) – habe diesen Blog gelesen, weil er mir sehr detailliert erschien. Warum aber wird tele/SENSOR nicht aktiviert? Bei mir erscheinen weiterhin nur alive und POWER. Danke für jegliche Antwort.

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.