after updating my HA from 0.102.3 to any version above (I am currently running 0.116.2 on a Raspberry Pi 4) my Danfoss Devolo thermostats became unavailable in Homekit / Alexa integration.
Error message(s) extracted from /config/home-assistant.log while using Homekit:
2020-10-21 23:04:22 ERROR (Thread-59) [pyhap.hap_server] Exception in set_characteristics: 'unknown' Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/pyhap/hap_server.py", line 590, in handle_set_characteristics self.accessory_handler.set_characteristics(requested_chars, File "/usr/local/lib/python3.8/site-packages/pyhap/accessory_driver.py", line 743, in set_characteristics service_callbacks[aid][service_name][SERVICE_CALLBACK]( File "/usr/src/homeassistant/homeassistant/components/homekit/type_thermostats.py", line 240, in _set_chars homekit_hvac_mode = HC_HASS_TO_HOMEKIT[hvac_mode] KeyError: 'unknown'
Error message(s) extraced from /config/home-assistant.log while using Alexa App:
2020-10-21 23:04:42 ERROR (MainThread) [homeassistant.components.alexa.capabilities] climate.danfoss_devolo_home_control_radiator_thermostat_heating_1 (<class 'homeassistant.core.State'>) has unsupported state value 'unknown' 2020-10-21 23:04:42 ERROR (MainThread) [hass_nabucasa.iot] Error handling message Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/hass_nabucasa/iot.py", line 94, in _async_handle_handler_message result = await handler(self.cloud, message["payload"]) File "/usr/local/lib/python3.8/site-packages/hass_nabucasa/iot.py", line 118, in async_handle_alexa return await cloud.client.async_alexa_message(payload) File "/usr/src/homeassistant/homeassistant/components/cloud/client.py", line 148, in async_alexa_message return await alexa_sh.async_handle_message( File "/usr/src/homeassistant/homeassistant/components/alexa/smart_home.py", line 41, in async_handle_message response.merge_context_properties(directive.endpoint) File "/usr/src/homeassistant/homeassistant/components/alexa/messages.py", line 189, in merge_context_properties for prop in endpoint.serialize_properties(): File "/usr/src/homeassistant/homeassistant/components/alexa/entities.py", line 279, in serialize_properties yield from interface.serialize_properties() File "/usr/src/homeassistant/homeassistant/components/alexa/capabilities.py", line 243, in serialize_properties prop_value = self.get_property(prop_name) File "/usr/src/homeassistant/homeassistant/components/alexa/capabilities.py", line 1007, in get_property raise UnsupportedProperty(name) homeassistant.components.alexa.errors.UnsupportedProperty: thermostatMode
I found a related issue (https://github.com/home-assistant/core/issues/29844) but as far as I understand the fix should already be in place since the fix has been merged already. I also tried to implement the fix manually as described in the post but unfortunately it did also not fix my problem.
Things I mentioned:
- Under “Developer Tools” the state of my Entity “climate.danfoss_devolo_home_control_radiator_thermostat_heating_1” is “unknown” which matches the error message(s) from Homekit / Alexa (see above). Not sure if this is because there are no hvac_modes listed under “State attributes (YAML, optional)”. However if I set the state to off,cool,heat or auto the thermostat become available again for several seconds until the state switches back to unknown.
- COMMAND_CLASS_THERMOSTAT_MODE is missing in my /config/zwcfg_0xe1977fb4.xml which might be the reason there are no hvac_modes or vice versa. Reset the thermostat and readding it did not fix the issue. I can post what is inside my /config/zwcfg_0xe1977fb4.xml file if needed.
Does anyone else have or had a similar issue or have an idea what to do? At least it would also help me if someone can tell me how I can change the (initial) state of my climate entity persistently.
Thanks a lot in advance and sorry for the very long post! Let me know if any further information are required.