openhab2 und MQTT verbinden

Ich habe meine openhab2 Installation , die ein paar ZWave Sensoren und Schalter steuert mit mqtt verbunden. Warum? Weil ich mich mit dem Regeldeditor von Habmin und der Regelumsetzung in openhab nicht wirklich anfreunden kann. Auf lange Sicht möchte ich auf nodered setzen, um Regeln grafisch zu editieren und dazu ist es nötig, die Daten und Zustände von Sensoren und Schaltern für die Verwendung in nodered zu publizieren.

Dafür ist für mich ein auf dem gleichen Raspberry Pi , auf dem openhab2 läuft, installierter mosquitto Server das Mittel der Wahl. Inatalliert aus den Paketquellen der Raspian Distribution, kann man mit mqttlens sehr schnell schauen, ob der Server läuft und man eine Verbindung herstellen kann…

Die Konfiguration in openhab2 ist relativ simpel:

  • über das Paper-UI unter „Addons“ das mqtt-binding aktivieren
  • die Konfiguration für den mosquitto-Server eintragen

Mit Installation des Plugins werden im ~openhab2/services Verzeichnis die folgenden beiden Dateien angelegt:

  • mqtt.cfg die eigentliche Config-Datei für die Verbindung zum Server, dort die folgende Zeile einkommentieren und den Eintrag editieren, um einen Server auf localhost anzusprechen:

# URL to the MQTT broker, e.g. tcp://localhost:1883 or ssl://localhost:8883
raspipi.url=tcp://localhost:1883

  • mqtt-eventbus.cfg hier wird eingetragen, welche Dinge aus dem openhab2 Eventbus in Richtung mqtt Server publiziert werden.

# Name of the broker as it is defined in the openhab.cfg. If this property is not available, no event bus MQTT binding will be created.
broker=raspipi das spricht den Server an, den wir zuvor eingetragen haben

# When available, all status updates which occur on the openHAB event bus are published to the provided topic. The message content will
# be the status. The variable ${item} will be replaced during publishing with the item name for which the state was received.
statePublishTopic=openhab-status/${item}/status Statusänderungen werden als Topic openhab-status publiziert

# When available, all commands which occur on the openHAB event bus are published to the provided topic. The message content will be the
# command. The variable ${item} will be replaced during publishing with the item name for which the command was received.
commandPublishTopic=openhab-command /${item}/command Kommandos werden als Topic openhab-command publiziert

Das ist eigentlich schon alles. Nach einem Neustart von openhab2 kann man im Log sehen, dass die Verbindung zum mqtt-Server hergestellt wird. Abonniert man mit mqttlens die beiden zuvor konfigurierten Topics kann man bei Betätigung eines Schalters in openhab2 auch die entsprechend publizierten Nachrichten sehen.

Hausautomatisierung – Zentrale mit Home Assistant

Eine der Softwarelösungen für die Zentrale, die ich ausprobiere ist Home Assistent. Die Installation auf der Synology ist schnell gemacht, es gibt ein Paket der Synocommunity.

Wie die Installation von 3rd Party Paketen auf der Synology funktioniert, ist auf der Homepage der Synocommunity beschrieben.

Wenn das Paket installiert und der Dienst gestartet ist, erreicht man die Weboberfläche über den Port 8123. Dort gibt es zunächst nicht viel zu sehen, ausser einer Oberfläche in der noch nichts konfiguriert ist, die aber mit Links auf die entsprechenden Dokuseiten verweist.

Einträge für Komponenten usw. kann man schnell hinzufügen, indem man die entsprechenden Passage der Datei configuration.yaml hinzufügt. Für jede Änderung muss der Dienst neu gestartet werden.

Auf der Synology liegt Home-Assistant im Verzeichnis des /Volumes/@appstore/

Was YAML ist, kann man hier nachlesen, wer auf Probleme mit seiner Konfiguration stößt, oder eingetragene Änderungen im Frontend nicht auftauchen, findet auf der Homepage von Home-Assistant viele Beispiele und sollte auch einen Blick in die Logdatei werfen, das hat mich letztlich auf die richtige Spur gebracht.

Zwischenfazit nach einigen Versuchen, Konfigurationseinstellungen für einen online Wetterdienst, die vorhandene Fritzbox, oder die Amazon Fire TV Box vorzunehmen:

Es ist mir nicht gelungen. Es fehlen Python Module in der Synology-Home-Assistant Installation, Konfigurationseinstellungen sind deprecated und und und… Eine sinnvolle Installation auf der Synology ist meiner Meinung nach nicht ohne weiteres möglich, viel zu buggy und kaum verfügbare Hinweise im Netz, die sich tatsächlich auf die Synology Installation beziehen. Verglichen mit der Demo Webseite scheint es auch ein alter Softwarestand zu sein.

Da mir die Software und der dokumentierte Funktionsumfang dennoch gut gefallen, habe ich mich kurzerhand entschlossen, einen Raspberry Pi aufzusetzen und damit einen neuen Versuch zu machen.

Die Installationsanweisungen sind hier beschrieben. Mit wenigen Einträge für einen Online Wetterdienst wie Forecast.io oder Ähnliches sieht das dann schnell so aus:

raspberry home-assistant

raspberry home-assistant