[Modul] "Home Assistant" (Integration über MQTT Statestream + REST)

Ok, der Reihe nach :slight_smile:

Es geht hier um das Entity „Event“, korrekt? Ich habe hier zum Vergleich eine Fernbedienung mit 4 Tasten. Bei dem Gerät in Symcon sehe ich für eine Taste die Attribute

{"event_types":["initial_press","repeat","short_release","long_press","long_release"],"event_type":"short_release","device_class":"button","friendly_name":"Gast Fernbedienung Taste 1","supported_features":0}

Somit können meine Tasten die fünf gemeldeten Event Types melden, die man auch im Archiv sieht

Um jetzt eine Aktion auszulösen, würde ich ein „ausgelöstes Ereignis“ anlegen, das bei einem bestimmten Wert ausgelöst wird. Dort kann ich dann ja unterscheiden, ob ich auf „Nach Drücken losgelassen“ oder auf „Nach langem Drücken losgelassen“ reagieren möchte:

Das sollte eigentlich funktionieren. Oder ist es bei dir anders?

Das sollte bei einem Taster allerdings nicht so sein und kann ich bei mir auch nicht beobachten.

Moin,

richtig, es ist ein Event.
So sehen meine Attribute aus:

{"event_types":["single_press","double_press","long_press"],"event_type":"single_press","device_class":"button","friendly_name":"Onvis-HS2-EF4D4A Stateless Programmable Switch 1","supported_features":0}

Pro Zustand ein event anzulegen ist ganz schöner Overkill, oder?
das sind bei 5 Tasten 15 Events. Die Variable auf 0 zu setzen ist nicht machbar? Dann könnte man einfach auf Änderung auslösen.

Bleibt das Problem mit dem zyklischen refresh. Dann wird bei einem bestimmten Wert ja trotzdem ausgelöst, obwohl ich gar nicht bedient habe.
ich stehe vor einem Rätsel.

Loerdy

Das ist Standard. Du legst ja auch nur die Events an, auf die die reagieren willst. Das ist im Normalfall nur der Short_Press.

Den sollten wir uns genauer anschauen. Hast du da einen Debug?

Hallo erstmal besten dank für das Modul hat bei mir auf anhieb funktioniert. Da ja bald wider die Klimaanlagen Zeit beginnt wollte ich mal nachfragen wie es mit Vollständigen Unterstützung für Climate aussieht? momentan geht ja nur soll Temperatur.

Danke

gruß Stefan

Magst du mal bei den Attributen schauen, was deine Geräte unterstützen?

Ja dies gibt es bei mir:

{„hvac_modes“:[„off“,„auto“,„cool“,„dry“,„heat“,„fan_only“],„min_temp“:16,„max_temp“:30,„target_temp_step“:0.5,„fan_modes“:[„silent“,„low“,„medium“,„high“,„full“,„auto“],„preset_modes“:[„none“,„comfort“,„eco“,„boost“,„sleep“,„away“],„swing_modes“:[„off“,„vertical“,„horizontal“,„both“],„current_temperature“:20,„temperature“:20,„fan_mode“:„low“,„preset_mode“:„none“,„swing_mode“:„vertical“,„prompt_tone“:true,„power“:false,„mode“:2,„target_temperature“:20,„fan_speed“:40,„swing_vertical“:true,„swing_horizontal“:false,„smart_eye“:false,„dry“:false,„aux_heating“:false,„boost_mode“:false,„sleep_mode“:false,„frost_protect“:false,„comfort_mode“:false,„eco_mode“:false,„natural_wind“:false,„temp_fahrenheit“:false,„screen_display“:false,„screen_display_alternate“:false,„full_dust“:false,„indoor_temperature“:20,„outdoor_temperature“:21.5,„indirect_wind“:false,„indoor_humidity“:„None“,„breezeless“:false,„total_energy_consumption“:0,„total_operating_consumption“:0,„current_energy_consumption“:0,„realtime_power“:1.5,„electrify_time“:0,„total_operating_time“:0,„current_operating_time“:0,„fresh_air_power“:false,„fresh_air_fan_speed“:0,„fresh_air_mode“:„None“,„fresh_air_1“:„None“,„fresh_air_2“:„None“,„wind_lr_angle“:„None“,„wind_ud_angle“:„off“,„icon“:„mdi:air-conditioner“,„friendly_name“:„Klimaanlage“,„supported_features“:441,„supported_features_list“:[„Target Temp“,„Fan Mode“,„Preset Mode“,„Swing Mode“,„Turn On“,„Turn Off“]}

Hallo,
vielen Dank für das Modul, das sicherlich viel ermöglichen wird.
Ich habe es installiert und kann auch die Entitäten in Symcon sehen. Allerdings aktualisieren sie sich nicht. Leider bin ich mit der Dokumentation sowie Chatgpt auch nicht weitergekommen.

Das habe ich bisher gemacht:

  • Modul installiert
  • Im „Home Assistant Splitter“ habe ich als MQTT Basis Topic „homeassistant“ stehen, als HA URL „http://192.168.147.13:8123
  • Den Langzeit-Acess-Token in HA neu erstellt und in Symcon kopiert.
  • Im Client Socket bei Host die IP von Homeassistant „192.168.147.13“ und bei Port „8123“
  • Im MQTT Client steht unter ID „symcon-ha-Mein-IP-Symcon“. Das habe ich unverändert gelassen. Liegt hier der Fehler?
  • Benutzername und Passwort habe ich nicht gesetzt. Sicherlich hat es hier etwas mit zu tun. Aber wo bekomme ich das in HA her. Ich bin in HA noch nicht ganz fit.
  • KeepAlive Intervall 60 Sekunden

In HA habe ich in der Configuration.yaml Datei stehen:

Was muss ich noch wo eingeben/ einstellen? Wo finde ich das genau?
Viele Grüße
marvus

EDIT:
In HA habe ich den „Mosquitto broker“ installiert und den Port von MQTT Normal geändert, da 1883 bereits belegt ist. Weiter habe ich einen eigenen Benutzer angelegt und in der Konfiguration von „MQTT“ den Benutzernamen und das Passwort eingetragen.

EDIT 2:
Ich denke die Hürde liegt in HA den MQTT Broker richtig zu konfigurieren. Hier konfiguriert er in der Integration den „MQTT“ nur neu, wenn ich den Port 1883 nutze. Dieser ist leider schon belegt. Sonst schlägt die Einrichtung fehl, obwohl ich im Mosquitto Broker den Port „MQTT normal“ immer angleiche.

Kennst du das Tool MQTT-Explorer? Damit könntest du als erstes prüfen, ob die MQTT Nachrichten von HA verschickt werden.

Ich habe die Integration von Climate Entitäten nun in der Beta erweitert.
Ich hoffe, es passt bei dir.

2 „Gefällt mir“

super funktioniert

Danke

gruß Stefan

Es ist wie verhext.
Jetzt, wo ich das beobachte passiert es nicht mehr …
Ich hab allerdings meinen HA zwichendurch fest im Verteiler verabaut und dadurch neu
gestartet. Vielleicht hat das ja schon geholfen. Ich beobachte weiter.

Ist halt nur blöd, wenn mitten in der Nacht die Sonos Box in der Küche losbrüllt :rofl:

dankende grüße,
Loerdy

Danke für den Tipp. Ich habe es installiert und kann auch unterschiedliche Sensoren und Lampen hier sehen. Allerdings nicht alle. Anscheinend nur die, die gerade aktiv senden?
Zumindest kommen meiner Meinung nach dadurch Daten an.

In Symcon steht im Home Assistant Splitter immer noch „Kein aktiver MQTT Parent gefunden“.

Vielleicht kann mir jemand erstmal sagen, was für Voraussetzungen in HA geschaffen werden müssen, um auf dieser Seite erstmal alles ordnungsgemäß eingerichtet zu haben.

  • Einstellungen → Personen → Benutzer → Neuen Benutzer anlegen und Benutzername und Passwort vergeben
  • Unter Einstellungen → Apps → Mosquitto broker installieren
  • File Editor → configuration.yaml erweitern um

mqtt_statestream:
base_topic: homeassistant
publish_attributes: true
publish_timestamps: true

  • EInstellungen → Geräte & Dienste → MQTT installieren. Neu Konfigurieren und hier Benutzername und Passwort des oben angelegten Benutzers eintragen. Server „core-mosquitto“ bleibt gleich.
  • Langzeit Token unter „Benutzerbild anklicken“ → Sicherheit → Langzeittoken anlegen.

Fehlt hier ein Schritt? Oder ein wichtiger Eintrag der geändert werden muss?

Perfekt. Dass im MQTT Explorer nicht sofort alles sichtbar ist, ist normal, weil viele States nur bei Änderungen publiziert werden. Spätestens nach Zustandsänderungen (oder HA-Neustart) sollten die Topics erscheinen.

Die HA-Seite ist also korrekt eingerichtet.

Der Hinweis „Kein aktiver MQTT Parent gefunden“ bedeutet aber: Der Home Assistant Splitter hat in Symcon keinen aktiven MQTT-Parent.

Bitte prüfe mal in Symcon:

  1. MQTT-Client (oder MQTT-Server) ist angelegt und verbunden.
  2. Im MQTT-Client ist eine Subscription gesetzt, z. B. homeassistant/# (oder testweise #).
  3. Der Home Assistant Splitter ist genau mit dieser MQTT-Instanz als Parent verbunden.
  4. Im Splitter ist MQTTBaseTopic = homeassistant gesetzt (muss zu mqtt_statestream.base_topic passen).

Bei mir sieht der Splitter so aus:

Benutzername und Passwort sind identisch wie im MQTT-Explorer einzugeben.

Eventuell fehlt nur das „/#“ im Topic.

Die ClientID ist ein frei vergebbarer Name für die Verbindung.

Super vielen Dank, jetzt funktioniert es. Ich musste im „Home Assistant Splitter“ noch ein „/“ hinter den Port einfügen. Da wäre ich so nie drauf gekommen. Manchmal kann es so leicht und gleichzeitig so schwer sein :sweat_smile:

Du meinst bei der „HA URL“?

Das war bestimmt Zufall und du hast damit nur ein erneutes Speichern provoziert. Kann das sein?

Ja genau. Bei der HA URL. Ich kann es dir nicht erklären, woran es liegt. Ich habe aber gestern 3 Stunden vor dem PC gesessen und die ganze Zeit nichts anderes gemacht. Vorhin das „/“ hinter die URL gesetzt und schwupps aktualisierten sich alle Variablen bei Veränderungen. Keine Ahnung warum und wieso.

Da musste wohl bei dir nur der Splitter einmal angestupst werden, damit er sich aktualisierte.
Du kannst gerne das / Zeichen wieder entfernen.

Schön, dass es jetzt bei dir läuft.

Ja stimmt, geht auch.

Mal eine andere Frage. Ich habe über HACS „Waste Collection Schedule“ eingerichtet und erhalte die Folgenden Mülltermine:

In Symcon kommt das Datum aber nicht komplett an, sondern nur der einzelne Tag. Zudem wird der Wert als „Float“ angegeben. Ich benötige aber String, da ich das Datum als „13.04.2026“ darstellen möchte.

Gibt es da modulseitig eine Lösung?

Schau mal bitte, was die Domäne für Attribute hat. Am einfachsten ist es in der Instanz beim Listenelement („Attribute (JSON)“.

Meinst du das?