Der Heimassi (10)

Nachdem sich der aus dem Powerline-Disaster entstandene Blutdruck wieder normalisiert hat, kommen wir zur Mosquitto-Server. MQTT ist ein offenes Protokoll, das sehr gut für M2M geeignet ist. Auch bei hohen Latenzen können Telemetriedaten vernünftig übertragen werden.

Der Mosquitto ist relativ einfach aufzusetzen. Hier ist ein vernünftiges Howto. Worauf zu achten ist, ist die Verwendung von Logins und die Absicherung via TLS. Es ist ratsam, hierfür die Zertifikate von Letsencrypt zu verwenden. Ist alles aufgesetzt, lässt sich die Funktion prüfen, indem man einfach mal alle Topics abonniert:

mosquitto_sub -u <user> -P <secret> -t "#"

Mit Hilfe von mosquitto_pub lässt sich eine Meldung publizieren. Man gibt in einer zweiten shell ein:

mosquitto_pub -h 127.0.0.1 -p 8883 -u <user> -P <secret> -t home/garage/sonoff_kanal1 -m ein

mosquitto_sub sollte nun ein einfaches „ein“ in einer neuen Zeile ausgeben. Damit wissen wir, dass der Server wie gewünscht funktioniert. Jetzt muss er noch mit Standortdaten gefüttert werden, damit HA bestimmen kann, wer sich wo befindet.

Hierzu verwende ich Owntracks. Die App ist sowohl für Android als auch für IOS erhältlich und open source – was bei personenbezogenen Daten wie Standorten ein wichtiges Merkmal ist.

Die Einrichtung verläuft relativ einfach. Unter „Einstellungen“ erstellt man eine „MQTT Privat“ Verbindung, verwendet das im Server hinterlegte Login und aktiviert TLS. Erfahrungsgemäß sind in der Standortbestimmung Verzögerungen von ein paar Minuten möglich. Das lässt sich per Einstellung in Owntracks tweaken – aber da wir jetzt keine sehr schnelle Reaktion brauchen und auch die Batterie des Telefons schonen wollen, bleiben wir da sehr zurückhaltend.

Jetzt bringen wir HA noch bei, diese Daten zu verwenden. Zum Einen müssen wir HA den Mosquitto bekannt machen:

mqtt:
  broker: 127.0.0.1
  port: 8883
  username: <user>
  password: <secret>

Zum Anderen muss HA wissen, wie er mit den Daten umzugehen hat:

device_tracker:
  - platform: owntracks
    mqtt_topic: "owntracks/#"
    max_gps_accuracy: 200
    waypoints: True

Um nun festzustellen, ob sich jemand vom Haus entfernt, verwendet man Zoning. Praktischerweise hat HA die Heimzone schon fertig eingerichtet. Die ist aber in der Grundkonfiguration schon recht groß und schließt in meinem Fall den Supermarkt mit ein – den man aufgrund von Großeinkäufen von SWMBO auch öfters mal mit dem Auto besucht. Das ist unpraktisch, weil dieser Punkt schon als „nicht daheim“ registriert werden soll. Also macht man die Zone manuell etwas kleiner.

zone:
  - name: work
    latitude: <lat>
    longitude: <lon>
    radius: 150
    icon: mdi:worker
  - name: Home
    latitude: <lat>
    longitude: <lon>
    radius: 150
    icon: mdi:account-multiple

Wird die Heimzone manuell konfiguriert, überschreibt sie die automatisch angelegte. Jetzt haben wir eine Standortplattform, auf deren Basis Bewegungen als Trigger oder Conditions verwendet werden können.

Im nächsten Kapitel schauen wir uns die Sonoff-Relais an. Sie brauchen eine alternative Software, die mqtt spricht.

 

 

 

 

Schreibe einen Kommentar

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

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.