Home Assistant 2

Posted on Mo 07 Dezember 2020 in Computer & Electronics

Letztes mal hatte ich mich ordentlich aufgeregt, dass Home Assistant auf diesen blöden Appliance Modus fokussiert. Heute habe ich mich wieder abreagiert und versuche, erstmal die Espressomaschine zum Laufen zu kriegen. Wie wir uns erinnern, hängt selbige an einer Sonoff S20 WLAN-Steckdose mit TASMOTA Firmware.

Nützliche Moskitos

Um mit der reden zu können, brauchen wir den MQTT-Broker Mosquitto auf dem Server. MQTT steht für Message Queuing Telemetry Transport und ist sowas wie das Haus- und Hof-Protokoll im IoT-Bereich. Wer mehr dazu wissen will sei auf diesen Blog-Post verwiesen. Aber weiter im Text:

sudo apt-get install mosquitto

Und schon haben wir unseren Broker. Und der will nun konfiguriert werden. Zuerst legen wir ein password File und den ersten User an:

sudo mosquitto_passwd -c /etc/mosquitto/passwd phil

Als nächstes brauchen wir ein lokales config file:

vim /etc/mosquitto/conf.d/default.conf

Und da schreiben wir dies rein:

allow_anonymous false
password_file /etc/mosquitto/passwd

Damit Mosquitto die neue config auch liest, müssen wir den Demon neu starten:

sudo systemctl restart mosquitto

Nun sollte es laufen. Aber tut es das auch? Besser testen! Und dazu brauchen wir noch die clients:

sudo apt-get install mosquitto_clients

Nun haben wir zwei Client-Applikationen, mit denen wir das mal testen können. Dazu machen wir zwei Terminals auf. In meinem Fall mache ich das auf meinem Laptop – Mosquitto hingegen läuft auf meinem Server.

Im einen Terminal starten wir einen subscriber client – also einen der lauscht:

mosquitto_sub -h hal -t test -u phil -P TopSecret

Und im zweiten senden wir eine Message an den MQTT-Broker:

mosquitto_pub -h hal -t test -u phil -P TopSecret -m 'Hi there!'

Und siehe da – im ersten Terminal sehen wir:

Hi there!

Kurz – der MQTT-Broker funktioniert!

Tasmota Steckdose konfigurieren

Nun muss noch die Sonoff Steckdose konfiguriert werden. Also rein ins Web-Interface. Dort gehen wir nach nach Configuration/Configure other und setzen einen Haken bei MQTT enable. Dann MQTT einrichten: Configuration/Configure MQTT und dort die Zugangsdaten und den Server eintragen:

Um zu testen, ob das funktioniert hat wenden wir wieder den sub-client an. Diesmal subscriben wir alle topics, die mit home anfangen. Dann im Tasmota-Web-Interface mal an/aus schalten und schauen, was wir empfangen:

❯ mosquitto_sub -v -h hal -t 'home/#' -u phil -P TopSecret
home/espresso/tele/LWT Online
home/espresso/stat/RESULT {"POWER":"ON"}
home/espresso/stat/POWER ON
home/espresso/stat/RESULT {"POWER":"OFF"}
home/espresso/stat/POWER OFF

Einrichtung in Home Assistant

Nun und wir können das in Home Assistant konfigurieren: Configuration/Integrations/Add Integration/ und dort nach mqtt suchen und das auswählen. In das Formular geben wir nun den Namen unseres Servers und die oben festgelegten Zugangsdaten ein:

Sobald wir das eingerichtet haben, findet Home Assistant von selbst eine weitere Integration – TASMOTA:

Und auch das ist schnell eingerichtet:

Zunächst ist die Steckdose noch namenlos:

Aber das kann man ja konfigurieren und so bekommt man dies:

Und auch im Dashboard ist nun ein Schalter zu sehen:

Das erfordert sofortige Ausprobierung! Schalter anklicken und Ohren spitzen: Und es macht "click" in der Küche und die Maschine ist an – Hurra!