KNX Climate target temperature confusion

Lately I’m getting more and more confused with the KNX climate component. After observing a strange behaviour of my heating controls I found out, that the target temperatures I set in the UI are silently ignored by the heating actuators (Zennio HeatingBox).

The reason for this: The target temperature is written to the state group address of the actuator which indeed accepts and returns the new value but ignores it anyways, because it’s a read only GA.

To actually change the target temperature I have to write the value to a different GA. When using the proper GA, the actuator works as expected: It immediately responds the new target temperature on the ‘set’ GA as well as on the ‘state’ GA and opens or closes the affected valves.

And this is where te confusion begins: While there are pairs of GA attributes (set/state) for setpoint shift, operation mode and controller status, there is only one attribute related to the target temperature: target_temperature_address.

According to the docs, this attribute defines the GA from which the current target temperature is read. But in fact the GA defined in target_temperature_address is also used for setting new values. As described above this doesn’t work well with my zennio actuators, as they use a different GA for setting new values.

Configuring the ‘set’ GA for target_temperature_address doesn’t work well either. In this case, the target temperature in the UI isn’t updated anymore when changing the operation mode, because when changing the mode, only the state GA of the actuator responds the new value to the knx bus.

My question: Why isn’t it possible to configure separate set and state addresses for the target temperature of the actuator as it is possible for operation mode, setpoint shift etc.? And why is the “read” address (mis-)used for writing new values anyhow?

Is this a bug or is it a feature? :slight_smile:

1 Like

I have the same issue.

I am using MDT Heating actuators. Since I am migrating from SmartHomeNG, where the climate is working like a charm, I can’t figure out, why this is not working in HomeAssistant.

After a while I found out, that the Documentation of this Component is different from its real behaviour.

If it would use the target_temperature_address, like it is supposed to it would work.

At the moment it is not usable for me.

I opened an issue for this now: https://github.com/home-assistant/home-assistant/issues/20106