Hi all,
This is my first time creating a topic in the community forum :).
I am currently trying to integrate my garage door into Home Assistant using an Arduino in conjuction with an ethernet board. I communicate with Home Assistant using mqtt and wanted to do this “properly” by integrating my garage door as an mqtt cover which supports discovery. My Home Assistant instance is running the Mosquitto Broker addon with discovery enabled.
The config topic is published together with its payload to Home Assistant. When listening to the config topic
homeassistant/cover/garagentor/config
I receive its payload like this:
{
"uniq_id": "garagentor_hoermann_pro_3",
"name": "Garagentor Hörmann",
"dev_cla": "garage",
"dev":{
"mdl":"Promatic 3",
"mf":"Hörmann"
},
"opt": false,
"ret": false,
"~": "homeassistant/cover/garagentor",
"cmd_t": "~/set",
"pl_open": "OPEN",
"pl_cls": "CLOSE",
"pl_stop": "STOP",
"stat_t": "~/state",
"stat_clsd": "closed",
"stat_closing": "closing",
"stat_open": "open",
"stat_opening": "opening",
"avty_t": "~/status",
"pl_avail": "online",
"pl_not_avail": "offline",
"pos_t": "~/position",
"pos_clsd": "0",
"pos_open": "100",
"pos_tpl": "{{value.y }}"
}
Upon first inspection, everything seems to be looking right for me and discovery even has worked once for me yesterday. However, I am now unable to get it to work. When publishing the config topic, my device doesn’t show up in the mqtt integration. When inspecting the logs I can see the following warning:
2021-05-20 18:07:22 WARNING (MainThread) [homeassistant.components.mqtt.discovery] Unable to parse JSON garagentor: '{
"uniq_id": "garagentor_hoermann_pro_3",
"name": "Garagentor Hörmann",
"dev_cla": "garage",
"dev":{
"mdl":"Promatic 3",
"mf":"Hörmann"
},
"opt": false,
"ret": false,
"~": "homeassistant/cover/garagentor",
"cmd_t": "~/set",
"pl_open": "OPEN",
"pl_cls": "CLOSE",
"pl_stop": "STOP",
"stat_t": "~/state",
"stat_clsd": "closed",
"stat_closing": "closing",
"stat_open": "open",
"stat_opening": "opening",
"avty_t": "~/status",
"pl_avail": "online",
"pl_not_avail": "offline",
"pos_t": "~/position",
"pos_clsd": "0",
"pos_open": "100",
"pos_tpl": "{{value.y }}"
}'
The problem is that I just cannot find any error in the JSON itself. I tried getting rid of the error by throwing out element by element, but the problem just keeps persisting.
Is there anyone who can see what might be the problem here?