Homee per MQTT ins Smart Home

Titelbild Homee per MQTT ins Smart Home

Homee

Homee Brain CubeHomee 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 Hörmann Brain Cube, der Basismodul und BiSecur Standard in einem Würfel integriert.

LAN & PoE

Original homee Netzwerkadapter Airtame PoE AdapterDer 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

Doppelklick auf das Abbild, um neuen Container zu erstellen Beim Erstellen des Containers auf Erweiterte Einstellungen klicken Das Netzwerk so konfigurieren, dass das gleiche Netzwerk genutzt wird, wie beim Docker Host In der File Station eine Datei config.json irgendwo im Filesystem hinkopieren In der Docker Konfiguration die erzeugte Datei auf /app/config.json mappen Unter Umgebung alle Variablen setzen Im Protokoll kann man die Verbindung prüfenUm 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
homeeUserNameusernameHomee Username
homeePasswordpasswordHomee Passwort
homeeServerhomee.fritz.boxHostname oder IP des Homee
mqttServer192.168.1.21Hostname oder IP des MQTT Servers
mqttUserNameusernameMQTT Benutzername
mqttPasswordpasswordMQTT Passwort
publishtrueHomee Status an MQTT als JSON senden
publishHumantrueHomee Status an MQTT in lesbarem Format senden
publishIntfalseHomee Status an MQTT als einzelne Integer Werte senden
publishBooltrueHomee Status an MQTT als Boolean Zeichenwerte senden
subscribetrueMQTT Themen abonnieren
subscribeHumantrueMQTT Themen abonnieren in lesbarem Format
identifierdevices/status/Pfad nach Homee für diesen Modus
identifierHumanhuman/Pfad nach Homee für diesen Modus
identifierIntdevices/int/Pfad nach Homee für diesen Modus
identifierBooldevices/bool/Pfad nach Homee für diesen Modus
filterEchoedMQTTMessagesfalseWenn 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
homeeStatusRepeattrueAnfordern aller Stati alle in statusTimer gesetzte Sekunden
statusTimer180Zeit 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:

Verfügbare Daten

Anzeige der per MQTT verfügbaren Daten im MQTT ExplorerDie per MQTT verfügbaren Daten kann man sich z. B. im >MQTT Explorer ansehen.

Empfohlene Links

>Homee Webseite

 

>homee2mqtt Github Repository von MehrCurry mit Infos zur Docker Kompilierung

 

>MQTT Explorer - Programm für Mac/Windows/Linux zum Prüfen & Ausprobieren von MQTT Daten


Übersicht

Zurück zur HauptseiteZurück zur Hauptseite