smarthome-tricks.de

ESP8266, Tasmota und PushButton für ioBroker

In diesem Artikel schauen wir uns einen Beispiel-Aufbau eines ESP8266 Mikrocontrollers in Verbindung mit Tasmota, ioBroker und einem PushButton 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 für den PushButton aufgebaut:

In der Schaltung wird einfach der Button zwischen den Pin D3 und GND gesetzt. Damit ziehen wir den Pin D3 bei einem Button-Klick auf Ground.

Im nächsten Schritt konfigurieren wir das Generic Modul innerhalb von Tasmota. Dazu öffnen wir die Geräte-Einstellungen und wählen am Pin D3 den Typ Switch1 aus.

Abschließend können wir die Einstellungen speichern und einen Neustart durchführen.

Im nächsten Schritt öffnen wir die Tasmota Konsole über das Hauptmenü und geben über die Befehlseingabe die folgenden Befehle nacheinander ein und bestätigen jeden Befehl mit der Entertaste.

Hier nun die Erklärung der einzelnen Befehle:

SetOption1 ON
Mit dem Befehl SetOption1 wird der Multipress Mode eingeschaltet.

SetOption11 ON
Swap pushbutton single and double press functionality

SetOption32 6
Dauer der Hold-Funktionalität setzen.

SwitchMode 5
Aktivierung des Switch Mode 5 (pushbutton with hold)

SwitchTopic 1
MQTT-Modus setzen (set MQTT switch topic to device %topic%)

Im Tasmota Wiki können alle Befehle nachgeschlagen werden.

https://github.com/arendst/Tasmota/wiki/commands

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 MQTT-Adapters 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 MQTT-Objekten die neuen Datenpunkte des ESP8266. Tasmota legt dazu unterhalb des MQTT-Adapters einen neuen Ordner ccmd – tasmota_button an. In diesem Ordner steht der POWER-Datenpunkt, mit dem der Tastendruck übermittelt wird.

Ein Einfacher Tastendruck schreibt den Wert ON in den Datenpunkt. Mit einem länger gedrückten Tastendruck wird HOLD in den Datenpunkt geschrieben.

Auf diesen Datenpunkt können wir nun einen Trigger hinterlegen, mit dem eine spezielle Aktion ausgeführt werden soll. Bei Bedarf kann ich hier gerne noch einen Folgeartikel veröffentlichen. Schreib mir dazu einfach in die Kommentare, was Du damit schalten möchtest.

Ich hoffe ich konnte Dir damit weiterhelfen. Über Fragen, Kritik oder Anregungen per Kommentar oder E-Mail freue ich mich.


Die mobile Version verlassen