Hi, I’m having issues with MQTT discovery of a custom device. I’ve been able to discover custom sensor entities, but when I tried publishing number entities, they aren’t being discovered by Home Assistant.
When looking at the MQTT logs, it appears that I am encountering some exception likely to do with how I’m defining the config topic. This is from:
tail -f config/home-assistant.log | grep -i mqtt
2022-12-21 21:23:47.112 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching 'mqtt_discovery_new_number_mqtt': ({'device_class': 'temperature', 'state_topic': 'homeassistant/number/Magtag-c7fd1aa11bab/state', 'step': 1.0, 'unique_id': 'Magtag-c7fd1aa11bab_Magtag_CO2_Temp_Offset', 'unit_of_measurement': '°C', 'device': {'model': 'Adafruit MagTag with ESP32S2', 'identifiers': 'c7fd1aa11bab', 'name': 'Magtag_CO2', 'sw_version': '7.3.3 on 2022-08-29', 'manufacturer': 'Espressif'}, 'name': 'Magtag_CO2_Temp_Offset', 'min': 0, 'max': 100, 'value_template': '{{ value_json.Magtag_CO2_Temp_Offset | round(0) }}', 'platform': 'mqtt'},)
File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 328, in async_discover
Here is the config topic itself:
homeassistant/number/Magtag-c7fd1aa11bab_Magtag_CO2_Temp_Offset/config
Here’s the payload I’m sending on the config topic:
{
"device_class": "temperature",
"stat_t": "~/state",
"step": 1,
"uniq_id": "Magtag-c7fd1aa11bab_Magtag_CO2_Temp_Offset",
"unit_of_meas": "°C",
"dev": {
"mdl": "Adafruit MagTag with ESP32S2",
"ids": "c7fd1aa11bab",
"name": "Magtag_CO2",
"sw": "7.3.3 on 2022-08-29",
"mf": "Espressif"
},
"name": "Magtag_CO2_Temp_Offset",
"min": 0,
"max": 100,
"~": "homeassistant/number/Magtag-c7fd1aa11bab",
"val_tpl": "{{ value_json.Magtag_CO2_Temp_Offset | round(0) }}"
}
Anyone know what I have wrong in my config topic payload??