Erstelle mit wenigen Angaben einen gültigen config-Payload für die automatische Entdeckungsfunktion der MQTT-Home Assistant-Integration.
Wähle Gerät, Sensortyp und Namen – der Generator baut daraus Topic-Pfad und JSON.
Voraussetzungen
laufender MQTT-Broker, aktivierte Home-Assistant-MQTT-Integration (base topic i. d. R. homeassistant).
Generator
Autodiscovery erstellen
So verwendest Du das Ergebnis
- Generieren und Payload kopieren.
- Publish an Ihr MQTT-Broker-Topic:
/<base_topic>/<entity_domain>/<geraeteslug>/<unique_id>/config
Beispiel:homeassistant/sensor/esp32_bme280/esp32_bme280_temp/config
– retained senden, damit Home Assistant die Config zuverlässig übernimmt. - Home Assistant legt die Entität automatisch an. Bei Änderungen: neue config erneut retained publizieren.
Minimalbeispiel
{
"name": "Temperatur",
"uniq_id": "esp32_bme280_temp",
"stat_t": "esp32_bme280/state",
"val_tpl": "{{ value_json.temperature }}",
"dev": {
"ids": ["esp32_bme280"],
"mf": "l4n",
"mdl": "ESP32 Tool",
"name": "esp32_bme280"
}
}
Gute Praxis
- Eindeutige
unique_idje Entität (stabil, keine Leerzeichen/Sonderzeichen). - Slug konsistent: derselbe Geräteslug in allen Entitäten eines Geräts.
- Namensgebung: kurz, sprechend (z. B. „Temperatur“, „Luftfeuchte“, „Batterie“).
- Topics trennen: pro Sensortyp eigenes
stat_t(z. B..../statemit JSON-Feldtemperature,humidity, …).
Häufige Fehler (und Symptome)
- Falsches Base-Topic → Entität erscheint nicht.
- Kein „retained“ → Entität verschwindet nach Neustart.
unique_iddoppelt → Home Assistant ignoriert neue Config.- Ungültiges JSON → Entität wird nicht erstellt (Log prüfen).
- Falsche
entity_domain(z. B.sensorvs.binary_sensor) → falsche UI/Features.
Sicherheit & Sichtbarkeit
MQTT-Topics sind für alle Broker-Clients sichtbar. Keine sensiblen Daten in Slugs/Namen verwenden. Zugriff auf den Broker absichern (TLS, Nutzer/Passwort, ACLs).
Nächste Schritte
- Weitere Entitäten desselben Geräts anlegen (z. B. Temperatur, Feuchte, Druck).
- In der Firmware regelmäßig an
stat_tpublizieren (QoS nach Bedarf). - Optional: Availability (
avty_t) verwenden, um Online/Offline-Status zu signalisieren.