ich verwende aktuell 2 Heimautomationen.
Ich steige grade von FHEM auf Home Assistant um.
Ich habe beide Automationen über MQTT verbunden. Das funktioniert auch mit Geräten, die ich über die configuration.yaml angelegt habe und in einen “MQTT-Strom” gelegt habe.
Nun habe ich aber auch Geräte in HomeAssistant, die über “Integration” hinzugefügt wurden, z.B. die Deckenleuchte von Aldi.
Wie ich ihren Zustand zu MQTT bekommen, habe ich schon herausgefunden, über MQTT-Statestream. Allerdings geht der nur in “raus” Richtung, wenn ich es richtig gesehen habe.
Es gäbe noch MQTT-Eventstream, der geht in beide Richtungen, verpackt aber den Inhalt in JSON, was die Sache unnötig kompliziert macht.
Ich möchte im Beispiel einfach die Lampe über einen MQTT-Befehl EIN oder AUS schalten.
Alternativ dachte ich, einen “Dummy” Schalter über die Configuration.yaml anzulegen und in HomeAssistant eine Automation anzulegen, die dann das Gerät der Integration, je nach Zustand, schaltet. Aber das ist aufwändig.
Ich bin in HomeAssistant Neuling, aber in Programmierung ganz fit. Gibt es eine einfache Möglichkeit für HomeAssistant auf MQTT zu hören und Geräte der Integration zu steuern=
ich weiß zwar nicht wie das bei FHEM läuft und was Du bzgl. MQTT bei HA jetzt wie eingerichtet hast, aber üblicherweise installiert man unter HA einfach die MQTT Integration und hat darüber dann automatisch alle Topics die bei dem MQTT Broker bei einem Gerät zur Verfügung stehen.
Diese Geräte und ihre Entitäten kann man dann unter HA beliebig nutzen.
ja das ist Korrekt und so habe ich es auch verbunden.
Aber ich habe in HomeAssistant nun eine Entität/Gerät, dass über eine Integration (tuya) hinzugefügt wurde. Es ist also nicht mit MQTT verbunden, sondern nur über Home Assistant erreichbar. Dort kann ich es ganz normal benutzten. Durch den MQTT-Eventstream Postet HomeAssistent den Zustand dieses Gerätes nun an den MQTT-Server. Ich möchte aber auch, dass ich über MQTT dieses Gerät steuern kann.
Ich habe nun gesehen, dass es eine Autmation gibt, die auf MQTT-Befehle reagieren kann. Das wäre nur sehr mühselig, dies für alle Zustände und Geräte zu machen, die über eine Integration (die nicht MQTT ist) hinzugefügt wurden.
Ich hoffe, ich habe mein Problem anschaulich geschildert.
Also kurz. Ich habe Integrationen in HomeAssistant über MQTT, die lassen sich über den MQTT-Server steuern. Die anderen Integrationen über HomeAssistent leider nicht…
Sorry da bin ich leider raus. Ich kenne MQTT-Eventstream nur im Zusammenhang mit zwei HA Installationen und was die HA Tuya Integration da genau macht weiß ich auch nicht da ich keine Tuya Geräte darüber integriert habe.
also die Grundsatzfrage ist, kann ich über MQTT ein Gerät in HomeAssistant ansteuern, dass nicht über die MQTT-Integration angelegt wurde?!
MQTT-Eventstream war nur eine Idee von mir, aber ich bin halt neu in HomeAssistant.
OK das mit Tuya war also nur eher ein Beispiel für ein Gerät das nicht über das MQTT Protokoll kommuniziert, richtig?
Nicht direkt weil dieses Gerät halt nicht über das MQTT Protokoll kommunizieren kann. Oder anders gesagt: Du kannst ein Gerät das per Zigbee Protokoll kommuniziert ja auch nicht direkt per Z-Wave Protokoll ansprechen/steuern.
Ich vermute Du meinst das:
Ja Du kannst auf MQTT Befehle reagieren, aber wenn ein Gerät MQTT nicht “versteht” - also weder sendet noch empfangen kann - kannst Du es per MQTT Protokoll auch nicht direkt (an)steuern.
Wenn die Lampe selber kein MQTT Protokoll unterstützt geht das nicht direkt. Du könntest das per Automatisierung nur auf einem Umweg über ein andere Gerät erreichen das dann das MQTT Protokoll unterstützt. Also z.B. ein Lichtschalter in der Wand würde MQTT “sprechen” und die Lampe nur WLAN. Dann könntest Du eine Automatisierung erstellen das sobald der Lichtschalter per MQTT eine Nachricht empfangen hat das dann die Lampe per WLAN Signal ein- oder ausgeschaltet wird. Also einfach: Wenn MQTT (Lichtschalter) → Dann WLAN (Lampe).
Falls das Deine Frage noch nicht wirklich beantworten sollte dann gibt hier doch mal ein konkretes Beispiel an welche Geräte Du wie steuern möchtest. Dazu dann bitte noch welche Protokolle diese Geräte dann nutzen und wie und worüber sie bei HA eingebunden wurden. Weil Du hier nur mal eine Aldi Deckenleuchte und ein Tuya Gerät erwähnt hast.
Irgendwelche Tuya Geräte nutzen eigentlich entweder WLAN oder Zigbee. Hinzu kommt das man Tuya Geräte auch noch unterschiedliche bei HA eingebinden kann (HA Tuya Integration oder z.B. Local Tuya) und sich dadurch auch schon wieder unterschiedliche Dinge ergeben.
Genau den (mühsamen) Weg habe ich nun begonnen und werde über die Automation auf MQTT-Topics subscriben und dann für jede Eigenschaft eine Aktion anlegen.
Mir fehlt nur eine Information.
Wenn ich z.B. übe MQTT einen Helligkeitswert übergebe (z.B. MQTT-Meldung “homeassistant/light.anna_lampe/helligkeit 80” wie kann ich bei der Automation auf den übergebenen Wert (also im og Beispiel 80) zugreifen, bzw Ihn bei der Lampe dann setzen?
Gibt es hierfür eine Variable?
Ich denke wenn ich es über configuration.yaml mache, wird es übersichtlicher.