I have a KNX thermostat that I can control in Home Assistant including being able to switch HVAC modes between comfort, away, sleep and eco, with the following code:
Same here. Am wondering whether that’s somehow related to the controller_mode?
In addition to KNX heating actuators I am using ZigBee Thermostats for heating where KNX can’t be used. For these, not only do they integrate equally well into Home Assistant. Also they expose their modes to HomeKit allowing them to be read and set from e.g. the Home app. So, I assume it must be something internal to the KNX integration.
Not sure whether You’re trying to mock me, @farmio , but all I can say for now is that the thermostat exposes those modes to Home Assistant via ZigBee2MQTT and Home Assistant then to HomeKit. If I set values in Home-App those get updated in ZigBee2MQTT. That’s probably enough to safely say: Home Assistant supports configuring the bridge such that the values get properly communicated.
All the opener of this thread and I am saying is that modes of KNX heating actuators when used in Home Assistant are not exposed to HomeKit.
Have a look at the images you posted. The KNX one says preset_modes: comfort, away, sleep, eco. The Zigbee one doesn’t have any preset modes, supported_features: 1 indicates it doesn’t support it.
After all the backend / integration providing the entity doesn’t have any direct comunication with the HomeKit integration.
The way this works is:
Integration (KNX / Zigbee) -> HA states
HA states -> HomeKit Bridge
so if the states are correct (eg. supported_features) there is no reason for this not to work from a backend side.
I don’t know if HomeKit Bridge even supports presets though.
Ok, thanks for the explanation and clarifying how to read Your comment.
What I can share at the moment is that HA <=> ZigBee2MQTT states are communicated correctly, so are HomeKit <=> HA. Setting them works in all directions. I don’t yet know whether the Thermostat actually acts differently when different settings are made. But that’s something I will find out when I get the chance to fiddle around with this. And, even if it doesn’t, the integrations seem to do the right thing.
In that sense I would deduct that the preset modes are not being mapped from the underlying HomeKit integration for the KNX devices, but the HVAC modes are:
Below shows the HomeKit appearance of one KNX heating actuator. It only knows of ‚heating‘ mode.
@farmio
If I may ask You directly would You consider this a bug, a ‚works as designed‘ or feature request? If any of that in which component - HomeKit, KNX, Home Assistant?
Preset and mode are different things. My Knx climate entities use modes (heat / cool / off) but no presets (comfort, night, etc). The modes are properly mapped to HomeKit.
I don’t know if the HomeKit thermostat model even supports such presets. If not, there is not much anyone (but Apple) can do. If it does support those, then I guess it would be a feature request for the HomeKit Bridge integration.
I know that this has been a while, but something that kept circling around in my head. As I do actually have interest in changing presets in HomeKit: What would be the recommended / possible way of doing that? Connecting Modes GA to Presets?