Community

homee in Verbindung mit MQTT: homeeToMqtt


#1

Hi,

Ich habe einen ersten Ansatz eines homeeToMqtt Converters auf GitHub gestellt.
Er basiert auch auch auf Code von @stfnhmplr und ist als Node Applikation konzipiert.

homeeToMqtt registriert sich bei homee und published Statusänderungen an MQTT.
Es subscribed auch auf alle sinnvollen Attribute als Topic. Somit lassen sich Lichter und Schaltsteckdosen via MQTT steuern. Temperatur , Intensität und Farbtemperatur gehen auch.

MQTT kann hiebei als Middleware angesehen werden, welche es ermöglicht homme an die gängigen Heimautomatisierunslösungen wie Node-RED, HASS-IO usw. anzubinden.

Noch interessanter ist es, via MQTT die Daten in eine influxdb zu speichern und damit eine Langzeitdatenspeicherung zu haben. Die kann man dann wiederum einfach :wink: mit Grafana auswerten.

homee -> MQTT -> Node-Red -> InfluxDB -> Grafana

Ich möchte darauf hinweisen, daß es wahrscheinlich nur für Leute nutzbar ist, die mit folgenden Schlagwörten was anfangen können:

  • nodejs
  • npm
  • mqtt
  • json config Datei

Wenn genug Interesse besteht, kann man die Doku und Installation sicherlich ausweiten und/oder in hommean einbauen.

Das Programm basiert auf der bisher nicht freigegeben API die auch von der Webapp benutzt wird.
Er funktioniert aber sehr schön und ist rein Event getrieben.
Falls sich diese ändert und diese Programm nicht mehr funktioniert, darf keiner mit homee schimpfen.
Eine bisschen Doku und ein paar node-RED Beispiele befinden sich auf GitHub.

Ciao
Gido


homeean (Skriptsammlung für Webhook-APIs für homee und einen RaspBerry Pi)
homee Status ePaper Display mit ESP32
Kopplung EIB / KNX homee
Temperatur per WebHook weiterleiten ?
Smart Switch With Rf Receiver Remote Controller Sensor Zigbee LED-Treiber
Sensoren & Aktoren im Angebot **Teil 2 (ab 01.04.2018)**
LG WEBOS TV einbinden
Verlaufsdaten in eine Datenbank pumpen und diese dann graphisch darstellen
#2

läuft :wink:

@Micha - hast Du schon damit rumgespielt und ggf. mit Node-RED verbunden?


#3

Cool dass du das umgesetzt hast. Jetzt habe ich ein paar Fragen da ich mich nicht mit node-red und mqtt auskenne.

Warum ist es cooler über mqtt in node-red zu schreiben und nicht direkt das Plugin zu nutzen?
Kann ich mit mqtt auch einfach direkt in die influx schreiben?
Hast du schon einen docker Container dazu gebaut oder ein dockerfile fertig das man nutzen kann?


#4

Am coolsten wäre es, wenn homee sich direkt mit einem MQTT-Server verbinden könnte…


#5

Ich habe es noch nicht an laufen bekommen da ich den MQTT Broker nicht ans laufen gebracht hatte.
Ansonsten eine gute Idee.
Werde es am WE nochmal probieren den Mosquito zum laufen zu bringen.

:+1::grinning:


#6

@Baschtl

Hi,

MQTT verteilt alle Nachrichten der homee an viele Kunden und die Steuerbefehle der Kunden wiederum an homee.
Es jederzeit nu ein User an der homee angemeldet.
Im Falle von Node-RED gibt es sicherlich eine Schnittmenge, weil man mit Node-RED auch wieder Nachrichten verteilen kann.

MQTT ist aber so einfach zu implementieren, daß ich z.B, ESP8266 Bastelprojekte dann via MQTT Steuerbefehle oder Stati von der homee verarbeiten kann.

Im Falle einer hommee Node-RED Kopplung bleibt es eine Philosophiefrage. Will man noch mehr oder universeller werden, wird MQTT spannend.

Ciao
Gido


#7

@Micha

In.meinem Repo findet sich auch ein kleines Mosquitto install Script:

homeeToMqtt/raspberry/mosquitto_installer

Das habe ich zumindest auf meinen nanopi Air benutzt.


#8

Also ich habe jetzt den Broker und deinen service am laufen.

110)"HWR | Werkzeug",  (686/195),  231.25V
(107)"Haus | Aussensteckdose",  (667/5)CurrentTemperature,  2.5°C
(1)"Wohnzimmer | Fensterlampe",  (6/1)OnOff,  1n/a
(1) "Wohnzimmer | Fensterlampe" subscribe: "homee/devices/set/1/attributes/6"
(110)"HWR | Werkzeug",  (686/195),  232.63V
(1)"Wohnzimmer | Fensterlampe",  (6/1)OnOff,  0n/a
(1) "Wohnzimmer | Fensterlampe" subscribe: "homee/devices/set/1/attributes/6"
(1)"Wohnzimmer | Fensterlampe",  (6/1)OnOff,  1n/a
(1) "Wohnzimmer | Fensterlampe" subscribe: "homee/devices/set/1/attributes/6"
(1)"Wohnzimmer | Fensterlampe",  (6/1)OnOff,  0n/a
(1) "Wohnzimmer | Fensterlampe" subscribe: "homee/devices/set/1/attributes/6"
(1)"Wohnzimmer | Fensterlampe",  (6/1)OnOff,  1n/a
(1) "Wohnzimmer | Fensterlampe" subscribe: "homee/devices/set/1/attributes/6"
(-1)"homee",  (516/243),  8n/a
(-1)"homee",  (517/244),  3.759°C
(-1)"homee",  (775/262),  24.767km/h
(-1)"homee",  (776/263),  50.363km/h
(-1)"homee",  (522/247),  1.129°C
(-1)"homee",  (523/247),  5.67°C
(-1)"homee",  (524/247),  6.13°C
(-1)"homee",  (525/248),  10.34°C
(-1)"homee",  (526/248),  15.56°C
(-1)"homee",  (527/248),  12.93°C

Mit einer Android App kann ich es aber noch nicht setzen. Mal schauen.

Edit: hatte einen Typo. kann jetzt auch sachen setzen
Edit2: jetzt musst du nur noch in den slack damit wir coole sachen bauen koennen


#9

Ich hatte homeeToMQTT über Nacht auf meinem Test-Pi mal durchlaufen lassen und heute morgen hat mein homee nicht mehr reagiert, so dass ein harter Reboot nötig war. Ich muss allerdings sagen, dass ich ihn schon hart rannehme (Homebridge, Node-RED und homeeToMQTT, wobei Homebridge wegen der Beta derzeit deaktiviert und nicht verbunden ist, dafür aber der homee selbst) und ich noch einen v1 Brain einsetze. Ob und wann die Verbindung zwischen dem homee und Mosquito gestoppt ist, werde ich mir mal heute Abend ansehen.

Ich weiss allerdings nicht wie ich das Like von @Tobias auf meine Aussage oben, dass es am coolsten wäre, wenn homee direkt MQTT-Messages publishen könnte, werten soll. Vielleicht, dass die homees das schon auf der Roadmap haben? @Timo: Klärt uns auf - das wäre auch für @gido fair, der ja viel Zeit und Herzblut in diesen Proof-of-Concept steckt.

Richtig cool würde es werden, wenn dann im Zusammenhang mit der Qualitätsoffensive 2018 die Daten der Funktionsüberwachung (z.B. RAM-Auslastung, Load, Problemmeldungen, etc.) des homees selbst dann ebenso bereitstünden.


#10

MQTT direkt in homee fände ich cool und wäre auch nicht beleidigt.
Syslog und ein paar mehr Infos aus der homee würde mich in der Fehleranalyse echt nach vorne bringen.

Syslog benutzen wir hier bei der Ferrari electronic, meinem Arbeitgeber in unseren Gateways mit sehr viel Output sehr erfolgreich. UDP basiert lässt sich syslog einfach als fire and forget Protokoll implementieren. MQTT und SYSLOG kann man dann, muss aber nicht konfiguriert werden. Der Normalnutzer braucht es nicht und die extrem User müssen sich dann halt damit auseinandersetzen.


#11

Zu dem homee Problem.
Nach meiner Erfahrung, ist die Größe des homee Backups ein guter Indikator.
Ist das Backup wesentlich größer als 600k (bei mir sind es ca. 100 Devices) läuft was im system schief.

Den Effekt habe ich aber mit homeeToMqtt nicht. Mit dem Node-Red plugin von Stephan aber sehr wohl. Wobei ich nicht behaupten möchte, das es am Plugin liegt. Das habe ich noch nicht im Detail untersucht und Stephan hat laut Quelle auch Maßnahmen getroffen ein mehrfaches einloggen zu verhindern. Bei scheint aber nach dem Stilllegen des Plugins Ruhe zu sein.

Zumindest kann es nicht Schaden, beide Programme mal einzeln laufen zu lassen und den Speicherverbrauch via Backup zu checken.

Ansonsten gilt, homeeToMqtt ist auch frisch und es gibt noch keine Langzeiterfahrung.

Ciao
Gido


#12

@Baschtl

Edit2: verstehe ich nicht :wink:

Habt einen slack Channel zur Koordinierung oder ist das ein Typo?


#13

Ich weiss allerdings nicht wie ich das Like von @Tobias auf meine Aussage oben, dass es am coolsten wäre, wenn homee direkt MQTT-Messages publishen könnte, werten soll. Vielleicht, dass die homees das schon auf der Roadmap haben? @Timo: Klärt uns auf - das wäre auch für @gido fair, der ja viel Zeit und Herzblut in diesen Proof-of-Concept steckt.

Ich persönlich bin auf jeden Fall MQTT Fan, aber leider gibt es dazu derzeit keine Pläne :frowning:


#14

Danke für die Aussage…

Ja, kenne ich schon (ich bin regelmässig vor meinen Backups wieder am Aus- und wieder Einloggen).


#15

Ja wir haben ein public slack wo man sich etwas austauschen kann;


#16

Ich kann nur sagen, super Arbeit!!! Hab das jetzt eine Woche laufen und keine Problem. MQTT Daten werden von mir in Node-Red verarbeitet. Jetzt am Wochenende habe ich einige Geräte aus dem homee exkludiert und wieder in die Hue und Tradfri Bridge eingebunden, welche wiederum mit Node-Red verbunden sind. Homee dient so langsam nur noch als “dumme” Bridge für Zwave/Enocean Geräte. Es lassen sich deutlich mehr Use Cases und deutlich mehr Funktionen in Node-Red abbilden. Derzeit bin ich am Bau des Dashboards.

Das kann ich jedem nur Empfehlen.


#17

Hi,
danke für das Lob.

Bei der Idee mit der Verdummung von homee habe ich mich auch schon erwischt.
Ich gebe aber den neuen Z-Wave Stack eine Chance.
Baust du dein Dashboard auf Node-Red Basis?


#18

Ist auch nett um den homee zu ioBroker zu holen. damit ist dann auch vieles möglich :slight_smile:


#19

@uvex

Solltest du das geschafft haben, wäre ich über Hilfe deinerseits dankbar.

IoBroker ist genial, genialer wäre es noch wenn ich die Daten von homee als Datensätze in IoBroker hatte…

Komm mit dem mqtt nicht wirklich klar - bzw. habe besser gesagt keine Ahnung wie man da vorgehen muss. Es gibt zwar einen Adapter -… und dann?


#20

Ja, baue die Dashboards mit “node-red-dashboard”. Damit kann ich alles realisieren und wie ich das möchte. Time series gehen bei mir in influxdb. Stichwort Sprüche. Ich habe mir jetzt noch den ConBee besorgt. Der spielt unteranderem auch die Firmware anderer Devices auf und unterstützt unteranderem auch Xiaomi Sensoren und co.

Ich möchte endlich vom dem Polling weg, da ist mit deCONZ und Websocket die perfekte Möglichkeit auf Sensor Events in nahezu Realtime zu reagieren. Hue Bridge und co. benötigt ja Polling… Endlich kann ich dann auch die ESP32 per MQTT mit einbinden :slight_smile:

Zwave habe ich nur für Plugs, die werde ich wohl wie es ausschaut mit Wifi Plugs ersetzen.