Aus Raspberry Pi Geek 08/2022

Home Assistant steuert Mikrocontroller per MQTT (Seite 2)

Als Firmware kommt Tasmota zum Einsatz. Die Software erlaubt es, an den vorhandenen GPIO-Ports des Controllers eine Vielzahl von unterstützten Sensoren und Bauteilen zu konfigurieren, etwa den erwähnten Temperatursensor. Die Daten der Sensoren überträgt Tasmota über MQTT.

Abbildung 1: Der Wi-Fi-Smart-Switch Sonoff Basic mit Temperatursensor.

Abbildung 1: Der Wi-Fi-Smart-Switch Sonoff Basic mit Temperatursensor.

Tasmota flashen

Zum Flashen von Tasmota gibt es diverse Möglichkeiten. Eine beliebte Variante besteht im Verwenden eines USB-Seriell-Adapters. Eine Beschreibung dazu findeT sich unter anderem auf der Getting-Started-Seite des Projekts [2]. Da der RasPi von Haus aus eine serielle Schnittstelle mitbringt, soll das Flashen direkt über GPIO erfolgen. Die nötige Verdrahtung zeigen Abbildung 1 und Abbildung 2. Als Software dient esptool.py aus dem Pi-OS-Repository.

Abbildung 2: So verschalten Sie den Sonoff Basic mit dem Raspberry Pi.

Abbildung 2: So verschalten Sie den Sonoff Basic mit dem Raspberry Pi.

Die Tasmota-Firmware finden Sie zusammen mit vielen Infos im Github-Repository [3] des Projekts. Wir laden zum Test die Sensor-Variante herunter, da wir ja unseren Temperatursensor einbinden wollen (Listing 4, erste Zeile). Nach dem Anschließen des Moduls in der oben beschriebenen Weise müssen Sie beim Einschalten den Taster des Sonoff-Moduls gedrückt halten, die LED leuchtet nicht auf. Anschließend prüfen Sie mit dem Kommando aus der zweiten Zeile von Listing 4, ob Sie den Sonoff erreichen. Hier muss eine ID erscheinen.

Zu guter Letzt flashen Sie Tasmota mit dem Kommando aus der letzten Zeile von Listing 4, was etwa eine Minute dauert. Beim Neustart des Moduls meldet es sich als neuer WLAN-Access-Point, den Sie unter http://192.168.4.1 erreichen und auf dem Sie das zu verwendende WLAN konfigurieren. Alle weiteren Einrichtungsschritte erfolgen dann über die vom eigenen WLAN vergebene IP-Adresse.

Listing 4

Tasmota flashen

$ wget -c http://ota.tasmota.com/tasmota/release-9.4.0/tasmota-sensors.bin
$ esptool --port /dev/ttyAMA0 chip_id
$ esptool --port /dev/ttyAMA0 write_flash -fm dout 0x0 tasmota-sensors.bin

Tasmota einrichten

Vorher gilt es noch, an einem der für das Flashen verwendeten und jetzt wieder frei gewordenen GPIOs (RX/TX) den Temperatursensor anzuschließen. Dies geschieht über einen Pull-up-Widerstand und die Anschlüsse 3.3V und GND. Nach dem Verkabeln der Elemente geht es an die Konfiguration des Sensors, dessen Name die GUI bereits passend anzeigt (Abbildung 3).

Abbildung 3: Eine komfortable Web-GUI hilft beim Einrichten des Temperatursensors.

Abbildung 3: Eine komfortable Web-GUI hilft beim Einrichten des Temperatursensors.

Des Weiteren vergeben Sie ein Passwort für die Web-GUI und aktivieren MQTT, über das Sie die Daten an den Home Assistant liefern (Abbildung 4). Die Konfiguration von Broker und Topic erfolgt über den entsprechenden Eintrag in der Weboberfläche. Hier finden wir auch die Console von Tasmota, über die Sie direkte Kommandos absetzen und eine Feinparametrisierung vornehmen.

Abbildung 4: Mit wenigen Parametern bereiten Sie Tasmota für den Transfer der Daten zum Home Assistant vor.

Abbildung 4: Mit wenigen Parametern bereiten Sie Tasmota für den Transfer der Daten zum Home Assistant vor.

Spätestens hier empfiehlt sich das Studium der sehr guten Dokumentation im Tasmota-Github-Repository. Für unser Projekt verwenden wir ein Kommando, das uns das spätere Einbinden in Home Assistant mit Auto Discovery sehr erleichtert und Tasmota dazu veranlasst, alle vorhandenen Topics zu verkünden: setoption19 on. So präsentiert sich am Ende Tasmota über die GUI als Webschalter mit Temperaturfühler (Abbildung 5). Auch das MQTT-Publishing sehen Sie bei Bedarf in der Console ein.

Abbildung 5: Von kommerziellen Produkten kaum zu unterscheiden: die webbasierte Nutzeroberfläche von Tasmota.

Abbildung 5: Von kommerziellen Produkten kaum zu unterscheiden: die webbasierte Nutzeroberfläche von Tasmota.

Integrationsarbeit

Um die Komponenten in Home Assistant verfügbar zu machen, müssen Sie noch die MQTT-Integration per GUI einrichten. Dafür genügen die IP-Adresse des verwendeten Brokers und der verwendete Port in der Grundeinstellung 1883. Nach dem Setup sollten die neuen MQTT-Devices erscheinen (Abbildung 6).

Abbildung 6: Wenige Handgriffe genügen, um das MQTT-Protokoll in den Home Assistant zu integrieren.

Abbildung 6: Wenige Handgriffe genügen, um das MQTT-Protokoll in den Home Assistant zu integrieren.

Klicken Sie auf die Entities-URL, tauchen sowohl der Switch als auch der Temperatursensor als verfügbare Home-Assistant-Entities auf, die Sie jetzt wie gewohnt verwenden (Abbildung 7). Im Zusammenhang mit dem Relais im Sonoff-Modul lässt sich jetzt durch die schon bekannten Automations von Home Assistant zum Beispiel eine einfache Thermostatsteuerung realisieren.

Abbildung 7: Übersichtlich und aufgeräumt präsentiert der Home Assistant die integrierten Sensoren.

Abbildung 7: Übersichtlich und aufgeräumt präsentiert der Home Assistant die integrierten Sensoren.

Fazit

Die Tasmota-Option im Zusammenhang mit dem Auto-Discovery der MQTT-Integration von Home Assistant macht die selbstgebaute Lösung ähnlich komfortabel wie das kommerzielle Pendant, das der erste Artikel beschrieb. Selbstbau lohnt sich also – und macht zudem noch eine Menge Spaß. (tle)

Infos

  1. Home Assistant mit Z-Wave: Gerhard Schauer, “Heimautomat”, RPG 06/2021, S. 38, https://www.raspi-geek.de/45661
  2. “Getting Started”: https://tasmota.github.io/docs/Getting-Started/
  3. Tasmota-Repository: https://tasmota.github.io
  4. Tasmota verkabeln: https://tasmota.github.io/docs/DS18x20/
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben