Homee per MQTT ins Smart Home

Homee
Homee
ist eine Smart Home Steuerzentrale, die
verschiedene Smart Home Standards unterstützt. Beginnend mit einem
Brain Cube können weitere Standards mit weiteren Cubes
nachgerüstet werden, wie z. B. EnOcean, Z-Wave, Zigbee oder
Hörmann BiSecur. Für das BiSecur System des Tür- und
Tor-Herstellers Hörmann gibt es den
LAN & PoE
Der
Homee ist mit Wi-Fi ausgestattet, unterstützt aber auch LAN mit Adaptern. Der offizielle
homee Netzwerkadapter
kostet €16 und muss an ein Netzwerkkabel und eine Stromversorgung
angeschlossen werden. Alternativ kann man den
Airtame PoE Adapter
in Verbindung mit einem voll belegten
USB-A auf microUSB Kabel
nutzen. Den Adapter muss man nur an ein Netzwerkkabel mit PoE anschließen. Der Komfort kostet aber auch happige
€160.
MQTT
Ein im Smart Home beliebter Standard ist MQTT. MQTT Clients senden Daten an den MQTT Broker, der diese zum Abruf für andere MQTT Clients bereitstellt. Oft haben Smart Home Systeme eine Möglichkeit, auf MQTT zuzugreifen, um die Daten zu visualisieren und Kommandos an die jeweiligen Geräte zu senden.
Verbindung
Um
den Homee mit MQTT zu verbinden, gibt es auf GitHub das
Projekt
homeeToMqtt.
Dieses habe ich als
Docker Image
auf meinem Synology NAS installiert. Da der eigentliche
Autor des Repositorys keine Docker Images anbietet, wurden diese von anderen
Usern erstellt. Die Installation ist in den Bildern
beschrieben, die benötigten Werte stehen im Folgenden.
ENV Variablen
Variable | Beispielwert | Beschreibung |
---|---|---|
homeeUserName | username | Homee Username |
homeePassword | password | Homee Passwort |
homeeServer | homee.fritz.box | Hostname oder IP des Homee |
mqttServer | 192.168.1.21 | Hostname oder IP des MQTT Servers |
mqttUserName | username | MQTT Benutzername |
mqttPassword | password | MQTT Passwort |
publish | true | Homee Status an MQTT als JSON senden |
publishHuman | true | Homee Status an MQTT in lesbarem Format senden |
publishInt | false | Homee Status an MQTT als einzelne Integer Werte senden |
publishBool | true | Homee Status an MQTT als Boolean Zeichenwerte senden |
subscribe | true | MQTT Themen abonnieren |
subscribeHuman | true | MQTT Themen abonnieren in lesbarem Format |
identifier | devices/status/ | Pfad nach Homee für diesen Modus |
identifierHuman | human/ | Pfad nach Homee für diesen Modus |
identifierInt | devices/int/ | Pfad nach Homee für diesen Modus |
identifierBool | devices/bool/ | Pfad nach Homee für diesen Modus |
filterEchoedMQTTMessages | false | Wenn true, wird die nächste lesbare Nachricht mit dem gleichen MQTT Thema, wie die von homeeToMqtt gesandte, ignoriert. Sollte auf true gesetzt werden, wenn jede von homeeToMqtt geschickte Nachricht direkt von MQTT empfangen wird und per put an Homee geschickt wird |
homeeStatusRepeat | true | Anfordern aller Stati alle in statusTimer gesetzte Sekunden |
statusTimer | 180 | Zeit in Sekunden, um den kompletten Homee Status zu senden |
Bei mir muss die conf.json zwar vorhanden sein, wird aber ignoriert und die
o.g. ENV Variablen genutzt. Hierbei gibt es allerdings den Fehler, dass alle
Werte als String übergeben werden, also z. B. "true" statt
true. Der Inhalt der config.json Datei hätte dieses Format:
{ "homeeUserName": "mqtt", "homeePassword": "mqtt", "homeeServer": "homee.fritz.box", "mqttServer": "mqtt.fritz.box", "mqttUserName": "mqtt", "mqttPassword": "mqtt", "publish": true, "publishHuman": true, "publishInt": false, "publishBool": true, "subscribe": true, "subscribeHuman": true, "identifier": "devices/status/", "identifierHuman": "human/", "identifierInt": "devices/int/", "identifierBool": "devices/bool/", "filterEchoedMQTTMessages": false, "homeeStatusRepeat": true, "statusTimer": 180 }
Docker Updates
Wenn Docker Updates erscheinen, kann man diese leider nicht
einfach per Knopfdruck aktualisieren. Um nicht alles zu löschen, neu zu installieren und
insbesondere neu zu konfigurieren geht man wie folgt vor:
- Docker Applikation auf der Synology öffnen
- Den betreffenden Container stoppen (Container ▸ Aktion ▸ Stopp)
- Einstellungen exportieren (Container ▸ Einstellungen ▸ Exportieren)
- Image aktualisieren (Registrierung ▸ Suche mqtt-netatmo-bridge ▸ Download)
- Einstellungen zurücksetzen (Container ▸ Aktion ▸ Zurücksetzen)
- Einstellungen importieren (Container ▸ Einstellungen ▸ Importieren)
- Container wieder starten
Verfügbare Daten
Die
per MQTT verfügbaren Daten kann man sich z. B. im
MQTT Explorer ansehen.