homee in Verbindung mit MQTT: homeeToMqtt

:wave::+1::boom:

1 „Gefällt mir“

Hallo zusammen
Ich habe gemäß homeean ein Raspberry Pi aufgesetzt mit Node red, homebridge, MQTT, usw.
Wie kann ich nun homee und den pi koppeln und wie kann ich vom homee den Pi (MQTT, Node red) und umgekehrt ansprechen , bzw. Wie läuft die Kommunikation. Ich stehe ziemlich auf dem Schlauch. Mit den Scripten auf GitHub kann ich noch nichts anfangen, da ich nicht weiß, wo sie eingesetzt werden. Kann mir jemand auf die Sprünge helfen für ein erstes Erfolgserlebnis, damit ich es grob verstehe und dann etwas experimentieren kann. Danke

Zu Node–Red und Homebridge wirdt Du im Blog von @stfnhmplr fündig. Zu homeeToMQTT gibt es leider bisher nicht viel mehr Doku als das was sich auf github und hier findet.

https://himpler.com/blog

Alle anderen homeean–Pakete sind auf homeepedia dokumentiert:
https://www.homeepedia.de/books/homeean

Edit: Ansonsten finden sich auch auf den jeweiligen Paketbeschreibungen auf https://homeean.de/buildscript (Klick auf Details) noch mal Links zu Infoquellen…

1 „Gefällt mir“

Da ich im Moment mehr mit meiner Kellertrockenlegung beschäftigt bin und gerne gegen IOT Beratung tausche ;-). Hier der Einstieg in Kurzform:

homeeToMqtt registriert sich als Benutzer and der homee dieser sollte natürlich existieren und in der homee angelet sein. Wenn man das in das auf den Raspberry nicht konfigurieren will ist es User: mqtt Passwort: mqtt. Den nur ein konfigurierter User darf von der homme etwas auslesen.

Genauso ist das mit dem MQTT Server aber dieser ist von homeean schon passend vorkonfiguriert.

homeeToMqtt sendet nun jede Statusänderung an MQTT. Diese Stati folgen eine Art Verzeichnisschema mit JSON Inhalten.

Jede Software die sich an MQTT anmeldet kann nun Teile die Information oder alles subscriben (abbonieren) und wird von MQTT benachrichtig das sich da was tut.

Subscribed man “#” wir man über alles informiert.

In Node-Red gibt es nun einen Knoten, der MQTT Nachrichten empfangen kann. Dieser muss konfiguriert werden, in dem man den MQTT Server konfiguriert und “#” subscribed. Jetzt Verknüpft man diesen Knoten noch mit dem Debug Knoten, "Deployed: das ganze in Nod-Red und sieht schon mal alle homee Nachrichten. Jetz kann man in Node-Red Abläufe (Flows) programmieren und alles machen was man will und genau das ist das Problem. Man kann ganz viel machen und dazu muss man erst einmal Node-Red lernen.

Schickt man nun eine Nachricht an den richtigen MQTT Pfad von Node-Red so reagiert homeeToMqtt darauf und löst eine eine entsprechende Aktion in der homee aus.

Aber vielleicht erst einmal Stati empfangen und in Node-Red sehen der richtige Start.

Ansonsten hilft es glaube ich sehr sich mal ein paar MQTT und Node-Red Videos bei YouTube anzuschauen. Wie gesagt homeeToMqtt übersetzt nur homee nach MQTT und umgekehrt.

Bitte nicht auf den Schlips getreten fühlen, aber wie schon im ersten Beitrag geschrieben ist das hier alles nicht plug and play. Du musst dich schon mit MQTT und Node-Red als solches auseinandersetzen um bei Problemen nicht frustriert zu werden. Wenn man es aber einmal Verstanden hat bietet es tolle Möglichkeiten seine homee zu erweitern. Also nicht frustrieren lassen und ich werde auch versuchen zu helfen und mehr zu dokumentieren. Vielleicht hilft ja auch ein howto YouTube Video meinerseits.

Wer macht meine Keller fertig (Die beauftragte Firma war unfähig und ich mach es nun alleine)?
Wer redet mit meinen Chef über 6 Wochen bezahlten Urlaub (oops der liest ja mit und ist homee Fan)?

Ciao
Gido

5 „Gefällt mir“

Habe jetzt auch homeetomqtt installiert und es läuft wirklich super.

Schaltvorgänge über Node-Red gehen extrem schnell.
Ein ganz große Lob an @gido , sehr schön Arbeit.

Ja läuft top… Und das schon eine ganze Weile… nach einem Neustart des PI , muss ich den mqtt Adapter in Iobroker einmal Neustarten… aber kommt ja selten vor!

Hallo zusammen,

sorry wenn ich diesen Beitrag hier reaktiviere. Da sich aber wohl noch nicht sehr viele Leute mit diesem Thema beschäftigt haben, ist meine Hoffnung, damit genau die richtigen anzusprechen. :wink: Ich bin zwar noch Homee-Frischling, habe mich aber relativ schnell mit Node-RED und MQTT beschäftigt um hiermit vielleicht einige DIY-Projekte in Homee integrieren zu können. Die entsprechende Umgebung habe ich inzwischen auch aufgesetzt und funktioniert so weit, d.h. ich kann mir damit z.B. die Konfiguration des Homees anzeigen lassen (homee/#).
Jetzt zu meinem eigentlichen Problem: ich schaffe es momentan nicht eine einfache Schaltsteckdose damit ein- oder auszuschalten, da ich mir beim entsprechenden inject-Node nicht sicher bin was ich als Payload und Topic eintragen soll. Aktuell verwende ich sowas wie:

Topic: homee/devices/set/1/attributes/18/target_value
Payload: 0

Dabei entspricht die 1 der Node-ID und 18 der attributes-ID. Oder muss der Pfad ganz anders aufgesetzt werden? Kann ich den irgendwie selbst ermitteln?

Schon mal vielen Dank für ein paar hilfreiche Tipps!

Nicht unbedingt direkt hilfreich , aber evtl. eine Alternative:
Iobroker mit MQTT -Adapter und homee -Adapter

Edit

Ich habe das homee plugin (https://himpler.com/blog/node-red-plugin-fuer-homee)
verwendet:

image

Die function An/Aus:

if (msg.payload === “true”) {
return {
payload: ‘PUT:nodes/190/attributes/757?target_value=1’
};
}

if (msg.payload === “false”) {
return {
payload: ‘PUT:nodes/190/attributes/757?target_value=0’
};
}

Vielen Dank noch an @Micha und @Sven !

1 „Gefällt mir“

Danke für den Hinweis, muss ich mir mal als Alternative in Ruhe anschauen. Inzwischen ist das ja schon Wahnsinn wieviel kommerzielle und freie Lösungen es im Smart-Home-Bereich gibt. Da fällt die Entscheidung nicht leicht in welche Richtung man gehen soll bzw. was am besten für einen passt.

OK, vielen Dank, so funktioniert es zumindest mit der direkten Verbindung zum Homee :+1:. Meine Frage war ja eher wie das Kommando bei Verwendung des MQTT-Brokers (Mosquitto) aussieht. Im Endeffekt möchte ich dann ja auch einen MQTT-Client verwenden um z.B. von einem Arduino-Board die Statusmeldungen eines Sensors verschicken zu können.

grafik

Hey @Frogking

Gib mal genau an was du machen willst.
Ich steige bei deiner Erklärung nicht so recht durch.

Du sendest von deinem Arduino einen Zustand an den MQTT Broker und dann soll über diese Änderung eine Aktion in homee ausgeführt werden ?

VG Micha

Hallo Micha,

also momentan mache ich noch nichts mit einem Arduino. Ich teste erst mal in Node-RED um zu schauen, ob es prinzipiell funktioniert. Mein Problem ist momentan noch, dass ich nicht genau weiß, was ich bei den Inject-Nodes “Schaltsteckdose [ein|aus]” hinterlegen muss um dann mittels MQTT den Homee ansprechen zu können. Ein Stückchen bin ich jetzt schon weiter, da ich auf der Consolenausgabe von homeeToMqtt die subscribe und publisher-Pfade meiner Geräte sehen kann.
Die Readme-Angaben auf der Github-Seite bringen mich auch nur bedingt weiter:

OK, trial and error hat nun irgendwann die Lösung gebracht:

So musste ich folgendes zum Einschalten der Schaltsteckdose in dem Inject-Node hinterlegen:

Payload: 1
Topic: homee/human/Schaltsteckdose TechniSat(1)/OnOff(18)

Vielen Dank für’s erste. Damit komme ich jetzt weiter.

2 „Gefällt mir“

Ich mache meine ersten Schritte mit homee-to-mqtt. Es postet zum mqtt und ich kann die Nachrichten sehen per mqtt-spy.

Was mich wundert:

  • homee-to-mqtt holt immer alle Zustände per GET:all Befehl? Ich sehe ca. alle 10 Sekunden ein “Connection to homee … successful”. Soll das so sein?
  • Genauso sehe ich im mqtt parallel zum Pollen des Homees durch homee-to-mqtt Nachrichtenmassen. Sieht mir nicht so aus, dass das nur bei Veränderung von Werten passiert. Wieder die Frage: soll das so sein?

Viele Grüße
Stefan

Um mir selbst zu antworten: Homee crasht. Scheint also nicht so gewollt zu sein.

Wie hast du den Broker eingestellt ?
Reagiert der auf Statusänderungen?

@Micha Broker ist momentan nicht groß konfiguriert, siehe https://github.com/sttts/pi/blob/master/docker-compose.yaml#L45

Leider hilft es auch nicht, Mosquitto entsprechend https://github.com/odig/homeeToMqtt/blob/master/raspberry/mosquitto_installer#L25 zu konfigurieren.

Siehst du im Tagebuch die Anmeldungen vom homee-to-mqtt?

Werden die State im MQTT Spy ordnungsgemäß angezeigt ?.

Eigentlich sollte der websocket offen bleiben und nicht neu aufgebaut werden.

Aber auch bei mir ist es durch einen Absturz des Brockers zum Absturz von homee gekommen. Da kann Evt. @gido was dazu sagen. Wenn mich nicht alles täuscht ist es von Ihm.

VG