MQTT mit Home Asssistant

Hallo zusammen,
ich habe schon lange Homey im Einsatz und verfüge auf diesem über ein großes ZWave Netzwerk. Als bei mir die PV Anlage und Wallboxen dazukamen, habe ich mich dazu entschlossen, Home Assistant als übergeordnete Instanz einzurichten. In diesem laufen nun evcc mittels mqtt auf, einige MODBUS TCP geärte, die Sonnenbatterie und so weiter. Alles was die direkte Haussteuerung betrifft, bin ich mit Zwave und Homey sehr zufrieden und will das auch bei der abstufung so lassen. Homey hat seine eigenen Flows die halt das Haus betreffen.
Nun habe ich auch schon lange auf dem Home Assistant den MQTT Broker laufen. Homey und EVCC benutzen den, um die Geräte im HA sichtbar und vorallem steuerbar zu machen. Mit EVCC klappt das ohne Probleme. Beim Homey ist es leider glückssache.
Den Zustand der einzelnen Geräte von Homey sehe ich immer im HA. Jedoch funktioniert das Steuern nur selten. Wenn ich es zum Laufen bekommen will, dann ist es immer ein rumspielen mit Restarts von Homey, HA oder MQTT Hub und anschließendem Broadcast im MQTT Hub. Dann geht es eine weile und steigt dann aber irgendwann aus.

Ich habe mit einem MQTT Explorer mir den Commandbefehl vom HA angeschaut und der wird auch gesetzt, jedoch reagiert Homey nicht darauf.

Mein Homey wird jede Nacht neugestartet und ich habe mittlerweile jede Stunde einen MQTT Broadcast, aber ist es immernoch Glückssache ob die Steuerung geht.

Ich habe auch ein paar Geräte, die z.B. per Alexa gesteuert werden sollen, aber Athom hat es seit 2 Jahren nicht geschafft, die IDs der Geräte zu implementieren, so dass ich das nun über HA in Alexa steuern will.

Bevor der Post jetzt noch länger wird und keiner den liest…

Hat wer noch Tipps, wie ich Homey und HA über MQTT dauerhaft stabil steuern kann, was ich noch einstellen kann?

Wenn der MQTT Hub nach dem Homey-Neustart auch startet, dann sind die meisten Geräte-Apps noch nicht geladen.
Und ein Broadcast hilft hier nicht. Da muss die App neu gestartet werden, damit die Registrierung für HA-Autodiscovery korrekt übertragen wird.
Ich starte dazu nach einem Homey-Neustart dden Hub nach ein paar minuten per Flow neu. Das hilft eigentlich recht zuverlässig.

Außerdem reagiere ich über den MQTT-Client auf den HA-Status (birth/last will) und starte den Hub auch nochmal neu wenn HA nach einem Neustart wieder am Broker angemeldet ist. Kann man auch ohne Variable in einem Flow machen.

2 Likes

Das stimmt, darüber hatte ich noch nicht nachgedacht.

Vielen Dank, ich baue das so nach :+1:

1 Like

Leider ist noch keine Änderung eingetreten. Die Steuerung aus HA heraus funktioniert für 30 min, danach reagiert Homey nicht mehr auf Commands.
Wenn ich dann den MQTT Hub neustarte, dann geht es wieder für 30 min

Ich hab das nach deiner Meldung mal beobachtet. Ich hab den Mosquitto Broker im Home Assistant laufen. Den Broker benutzen HA, Homey early 19, Homey early 23 und der Fully Browser.
Ich hab für meine Homeys die Flows wie Ronny laufen. Ich konnte deine Fehlermeldung nicht nachvollziehen und habe permanent Zugriff auf Homey :man_shrugging:.

Ich habe auch den Moskito Broker auf dem HA laufen. Auf den melden fhem, evcc und homey (early 23). Mit MQTT Explorer schaue ich mir die werte an. Wenn ich im HA das Licht im Arbeitszimmer (z.B.) anmache, dann wird im Topic homie/homey/licht-arbeitszimmer/onoffoutput1/set auf True gesetzt. Wenn alles geht, dann wird der Topic homie/homey/licht-arbeitszimmer/onoffoutput1 auch auf true gesetzt und das Licht ist an.
Wenn die Commands nicht verarbeitet werden, dann wird zwar set auf true gesetzt, aber nichts weiter passiert.

Hallo…
Ich habe ein ähnliches Problem: der MQTT-Hub stürzt dauernd ab. Ich habe die o.g. Flows angelegt. HASS und Homey mal neu gestartet. Nach ca. 30-60’ ist die App wieder abgestürzt. Keine Änderung im Verhalten. Kann es sein, dass zu wenig Speicher verfügbar ist. Ist dann lt. SysInternals bei ca. 20%.
Der Hub ist ja auch schon ewig nicht mehr aktualisiert worden. Letztes Update Mai 2021.

Du hast im HP23 sicher auch das Problem mit CPU/memory Limits.
Evtl. hat Harrie meinen Pullrequesg schon als Testversion veröffentlicht. Ansonsten könntest du im AppTread nochmal nachfragen.

Hallo Ronny, der PR auf GitHub steht noch. Also noch keine neue Version. Das wäre sicher die Lösung…

ich habe nochmal i. anderen Thread nachgefragt. Mal sehen, ob es hilft :smiley:

Sehr gut. Besten Dank. So ist diese Kombination aktuell leider nutzlos. Gibt es andere Ideen?

Nicht wirklich, außer einen Großteil der Geräte im Hub zu deaktivieren, damit nicht so viel auf einmal übertragen wird.

So ich habe es nun seit vielen Wochen sehr gut am Laufen, so dass man es nutzen kann.
Ich hatte festgestellt, dass nach dem Neustart und dem Restart des Hubs immer wieder der MQTT Client abstützt und danach wieder nichts mehr ging. Daraufhin habe ich den Flow für den Restart des Hubs so geändert, dass nicht die Änderung des Online Status vom HA den Restart auslöst, sondern direkt eine Message. Wenn jetzt der Homey neugestartet wird, wird ca. 5 mal der Hub neugestartet, bis der MQTT Client sauber läuft.
Ich habe mir dabei mal die Logs im MQTT Client angeschaut. Ich gehe davon aus, das einfach zuviele Messages gesendet und empfangen werden. Die Belastung des Homey durch die App liegt kurz vor dem Absturz des MQTT Client auch bei 40% CPU.
Prinzipiell habe ich schon einige Geräte im Hub ausgeschlossen, die auf anderen Weg im HA verwaltet werden (Sonos, Hue, Harmony, Netatmo etc).

Würdest du den Flow mal posten?

Das ist kein Problem, ich habe nur den Start des Flows vom Original verändert

Danke!