HA MQTT Autodiscovery erkennt eigenes Projekt nicht

Hallo zusammen,

ich habe mir einen eigenen Sensor gebaut, der seine Daten per MQTT an den HA senden soll. Allerdings erkennt der HA das Gerät nicht.
Manuelle Konfiguration in der configuration.yaml hat nicht funktioniert. Plan B ist nun das Gerät per Auto-Discovery bekannt zu machen.

Die Discovery Message sieht meiner Meinung nach aus, wie in verschiedenen Anleitungen beschrieben:

Im MQTT log finde ich eine Nachricht, die auch recht OK aussieht:

2024-07-09 20:39:09.022 DEBUG (MainThread) [homeassistant.components.mqtt.client] Received message on homeassistant/sensor/pwgardener/pico1/config (qos=0): b'{ "unique_id": "pico1", "name": "PicoW Gardener", "state_topic": "pwgardener/pico1/status", "availability_topic": "pwgardener/pico1/available", "retain": true, "platform": "mqtt"}'
2024-07-09 20:39:09.022 DEBUG (MainThread) [homeassistant.components.mqtt.discovery] Process discovery payload {'unique_id': 'pico1', 'state_topic': 'pwgardener/pico1/status', 'availability_topic': 'pwgardener/pico1/available', 'retain': True, 'platform': 'mqtt', 'name': 'PicoW Gardener'}
2024-07-09 20:39:09.022 INFO (MainThread) [homeassistant.components.mqtt.discovery] Found new component: sensor pwgardener pico1
2024-07-09 20:39:09.023 DEBUG (MainThread) [homeassistant.components.mqtt.discovery] Pending discovery for ('sensor', 'pwgardener pico1'): deque([])
2024-07-09 20:39:09.124 DEBUG (MainThread) [homeassistant.components.mqtt.client] 10.0.10.108: register write 67
2024-07-09 20:39:09.124 DEBUG (MainThread) [homeassistant.components.mqtt.client] Subscribing with mid: 124 to topics with qos: [('pwgardener/pico1/available', 0), ('pwgardener/pico1/status', 0)]
2024-07-09 20:39:09.125 DEBUG (MainThread) [homeassistant.components.mqtt.client] 10.0.10.108: unregister write 67

Allerdings meldet HA das Gerät nach wie vor nicht in der Liste der Geräte oder Entities. Ein publish “available”: “online” hilft auch nicht.

Irgendwo steckt noch ein Fehler, aber bislang konnte niemand helfen. Seht ihr vielleicht was?

Gruß
Heiko

Du postest nicht alle mqtt Messages die nötig sind um ein Autocreate zu triggern.

Du brauchst für jeden Sensor einen Config Teil der definiert was mit der empfangenen Nachricht getan wird.

Als Beispiel hänge ich mal einen Sensor von mir an. Wenn du schon mqtt Devices hast dann kannst auch diese als Vorlage nehmen. Oder halt die offizielle Dokumentation.

Temperatur Sensor hat 6 Informationen. Temperatur,Luftfeuchte, Batterie … Jeder Sensor braucht Config Informationen

Definition für Sensor Temperatur …

homeassistant/sensor/ATC_DE8BF8/temperature/config
{
    "device_class": "temperature",
    "name": "Temperature",
    "unique_id": "lywsd03mmc_ATC_DE8BF8_temp",
    "device": {
        "name": "ATC_DE8BF8",
        "identifiers": "ATC_DE8BF8",
        "model": "LYWSD03MMC",
        "manufacturer": "Xiaomi"
    },
    "state_topic": "homeassistant/sensor/ATC_DE8BF8/state",
    "unit_of_measurement": "°C",
    "value_template": "{{ value_json.temperature}}",
    "platform": "mqtt"
}

Noch ein Biespiel für Luftfeuchte, … die für Batterie usw. sind ähnlich aber poste ich nicht mehr …

homeassistant/sensor/ATC_DE8BF8/humidity/config
{
    "device_class": "humidity",
    "name": "Humidity",
    "unique_id": "lywsd03mmc_ATC_DE8BF8_humi",
    "device": {
        "name": "ATC_DE8BF8",
        "identifiers": "ATC_DE8BF8",
        "model": "LYWSD03MMC",
        "manufacturer": "Xiaomi"
    },
    "state_topic": "homeassistant/sensor/ATC_DE8BF8/state",
    "unit_of_measurement": "%",
    "value_template": "{{ value_json.humidity}}",
    "platform": "mqtt"
}

Nun weiß Homeassistant dass am topic ATC_DE8BF8/state’ Daten kommen werden und legt das Device an

So würden dann die Daten aussehen.


homeassistant/sensor/ATC_DE8BF8/state
{
    "temperature": 29.2,
    "humidity": 51,
    "batteryvoltage": 2.98,
    "batterylevel": 86,
    "rssi": -76,
    "sensorname": "ATC_DE8BF8"
}

Im Bild siehst du wie es dann in HA aussehen würde.

So ähnlich sollte es bei dir auch gehen …

16-07-2024_15-31-40

2 „Gefällt mir“

Danke Dir und sorry für die späte Rückmeldung!

Ich habe es jetzt schon mal mit einem Sensor+ einem Device hinbekommen. Bei ein paar Versuchen sind plötzlich zwei mal die gleichen Sensoren aufgetaucht, aber das lag wohl daran, dass ich zwei Devices mit unterschiedlichen IDs, aber den gleichen Daten (Publish Topic) geflasht habe.

Die Beispiele sind wirklich super! So ähnlich wie in Deinem Screenshot soll es final auch aussehen.

Gruß,
Heiko