ich bin neu in der Home Assistant Umgebung und komme vom ioBroker, dass Thema MQTT stellt mich gerade vor Herausforderungen.
Installiert ist HA OS auf Proxmox Virtual Environment, per Add Ons habe ich dem Mosquitto MQTT Broker hinzugefügt und kann dort über Port 1883 auch wunderbar Nachrichten hinsenden - passt alles.
Die Nachrichten kann ich sowohl per MQTT Explorer (auf einer anderen VM) an den Broker senden als auch per MQTT Client (selbst abonieren und dann ein Topic veröffentlichen).
Nur:
Mein Anwendungsszenario ist eigentlich, dass mir z.B. meine beiden Stromzähler per MQTT Informationen an den MQTT Broker in HA senden und ich diese dann weiter verarbeite. Nur: Dafür benötige ich diese Informationen ja als Entität (oder ähnliches). Dort bekomme ich aber nichts angezeigt.
Als Discovery-Topic habe ich “homeassistant” (default) verwendet, das auch schon geändert und wieder zurück auf den Default-Wert, keine Besserung.
Was mache ich falsch?
Hier ein paar Screenshots:
1.) Veröffentliches Topic per MQTT Explorer in Richtung MQTT Broker unter HAOS.
3.) Auf das Topic homeassistant/dose hören:
Foto darf ich nicht veröffentlichen.
4.) Aber trotz aktivierter Discovery-Funktion im Client (“homeassistant”) weiterhin keine Entitäten oder ähnliches:
Foto darf ich nicht veröffentlichen.
also das im Screenshot ist einfach erstmal nur per MQTT Explorer veröffentlicht worden. Meine Annahme war, dass es ausreichend wäre das Topic mit “homeassistant” zu benennen, sodass es der installierte MQTT Client per Discovery Funktion dann veröffentlicht.
Oder habe ich hier grundlegend einen Fehler? Irgendwie wundert es mich, dass ich mich da so schwer tue und das im ioBroker damals innerhalb von 5 Minuten zusammengeklickt habe.
das kann ich Dir nicht sagen, denn ich verstehe aktuell noch nicht wie das bei Dir laufen soll.
MQTT ist ja Publish, Subscribe also einer veröffentlicht etwas und ein anderer abonniert die Daten, der MQTT Broker ist da dann der Vermittler.
Also bei mir z. B., ich habe einen MQTT Broker als LXC unter Proxmox und habe Zwischenstecker, mit Tasmota, welche auch MQTT brauchen, jetzt muss ich bei Tasmota den Broker einrichten
in Ha habe ich dann MQTT installier als MQTT Client, der auch auf den MQTT Broker schaut, und zusätzlich die Integration Tasmota, die dann die Daten vom MQTT Broker abholt und wenn ich einen Zwischenstecker schalte, das Ereignis an den MQTT Broker sendet, wo es dann der Zwischenstecker abholt.
Deswegen auch meine Frage, ob es Dein Zähler ist, der MQTT Published?
Auch in anderen Integrationen ist es so, z. B. Zigbee2MQTT, da habe ich auch meinen Broker in die Konfiguration von Z2M eingetragen und die MQTT Client in HA holt da die Daten dann beim Broker ab
1.) Ich habe per EQMX auf meiner PVE Umgebung einen MQTT Broker installiert, IP Adresse: 192.168.178.138.
2.) Da ich bisher meinen MQTT Broker unter meinem ioBroker liefen ließ (und nicht direkt alles umwerfen möchte), sende ich Werte aus dem ioBroker nun per Javascript / Blockly per MQTT an den EQMX - dort kommen sie auch an. Es sind effektiv folgende vier Topics:
Das funktioniert auch wunderbar, der MQTT Explorer zeigt mir alle 10 Sekunden die aktuellen Werte an - sie kommen also im MQTT Broker (EQMX, IP 192.168.178.138) erfolgreich an.
3.) Nun würde ich diese vier Werte ganz “schnöde” gerne per HA abonnieren wollen um damit dann irgendwas zu tun - daran scheitere ich aber gerade. Ich kann auf ein einzelnes Topic per MQTT Integration hören, dort werden mir dann auch die korrekten Werte angzeigt. Aber: Ich möchte die vier Topics ja als Entität (?) verfügbar haben um z.B. das Energie-Dashboard damit aufzubauen etc.
So funktioniert die automatische Erkennung nicht. Über das Abonnieren des topics in den Entwickler Einstellungen kannst du nur testen, ob etwas ankommt. Um die Sensoren dauerhaft in Home Assistant verfügbar zu machen, musst du diese in der configuration.yaml anlegen:
ich kapiere Dein Herangehen nicht, wenn Du einen MQTT Broker am Laufen hast, dann musst Du doch auch in HA die MQTT Integration mit dem MQTT Broker verbinden und dann werden die Werte auch in HA in der MQTT Integration angezeigt, ob dann die Entitäten passen ist etwas anderes und kann dann nachträglich angepasst werden.
Ich frage jetzt zum dritten Mal wer stellt die Werte ein, warum der Umweg über ioBroker warum nicht alles sauber über einen MQTT-Broker, und in ioBroker und HA als MQTT Clients integrieren, dann können beide ohne Probleme auf die gleichen Werte zugreifen.
Wie hast Du die MQTT Integration in HA konfiguriert?
Danke an euch!
Ich denke ich habe es nun geschafft. Der Hinweis von @73ymw und Matt1 war genau richtig. Ich habe die Sensoren nun erstmal quick & dirty in der configuration.yaml angelegt.
@dp20eic Ich weiß ehrlich gesagt nicht, was ich noch beschreiben soll damit wir beide zueinander finden. Was ich aber schonmal gemacht habe (und ich glaube das ist ein richtiger Schritt): Eine zentrale MQTT Instanz (Broker) aufzubauen, Home Assistant und ioBroker sollen dann nur noch Client von diesem werden.