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.