KNX: Help with climate configurationfor heater needed


another newbe question for setting up my KNX with HA. I already glanced through the related posts but did not manage to adapt the discussions to my situation. If I’m just missing basic knowledge, please bear with me. Thanks in advance!

I’m trying to integrate our KNX connected heaters to HA while I don’t have access to the KNX configuration itself but have it all setup by our electrician. The docs they provided me with shows the following groups for the heaters:

My goal would be to just expose the current & target temperatures and make the latter one configurable through HA. For this I tried several variations of the following:

- name: 'Wohnzimmer' # Temp_GF_Living
  temperature_address: '1/2/4'
  target_temperature_address: '1/0/4'
  target_temperature_state_address: '1/0/4'

The current temperature is always read fine but I did not manage to read or set the target temperature.

The state in the developer tools is presented as heat with the following attributes:

  - heat
min_temp: 10
max_temp: 26
target_temp_step: 0.1
preset_modes: []
current_temperature: 23.2
temperature: 25
preset_mode: null
friendly_name: Wohnzimmer
supported_features: 17

An attempt to set the target temperature using the following service call

- service: climate.set_temperature
  entity_id: climate.wohnzimmer
    temperature: 18

Results in the following message in the logs but no change on the target temperature:

2020-11-09 19:19:09 DEBUG (MainThread) [xknx.telegram] <Telegram group_address="GroupAddress("2/4/1")", payload="None" telegramtype="TelegramType.GROUP_READ" direction="TelegramDirection.OUTGOING" />
2020-11-09 19:19:09 DEBUG (MainThread) [xknx.knx] Sending: <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="KNXIPServiceType.ROUTING_INDICATION" Reserve="0" TotalLength="17" />
body="<RoutingIndication cemi="<CEMIFrame SourceAddress="PhysicalAddress("15.15.250")" DestinationAddress="GroupAddress("2/4/1")" Flags="1011110011100000" Command="APCICommand.GROUP_READ" payload="None" />" />" />
2020-11-09 19:19:09 DEBUG (MainThread) [xknx.raw_socket] Received from ('', 3671): 0610053000122900bcd01104140102004000
2020-11-09 19:19:09 DEBUG (MainThread) [xknx.knx] Received: <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="KNXIPServiceType.ROUTING_INDICATION" Reserve="0" TotalLength="18" />
body="<RoutingIndication cemi="<CEMIFrame SourceAddress="PhysicalAddress("1.1.4")" DestinationAddress="GroupAddress("2/4/1")" Flags="1011110011010000" Command="APCICommand.GROUP_RESPONSE" payload="<DPTArray value="[0x0]" />" />" />" />
2020-11-09 19:19:09 DEBUG (MainThread) [xknx.telegram] <Telegram group_address="GroupAddress("2/4/1")", payload="<DPTArray value="[0x0]" />" telegramtype="TelegramType.GROUP_RESPONSE" direction="TelegramDirection.INCOMING" />
2020-11-09 19:19:20 DEBUG (MainThread) [xknx.telegram] <Telegram group_address="GroupAddress("1/0/4")", payload="<DPTArray value="[0x7,0x8]" />" telegramtype="TelegramType.GROUP_WRITE" direction="TelegramDirection.OUTGOING" />
2020-11-09 19:19:20 DEBUG (MainThread) [xknx.knx] Sending: <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="KNXIPServiceType.ROUTING_INDICATION" Reserve="0" TotalLength="19" />
body="<RoutingIndication cemi="<CEMIFrame SourceAddress="PhysicalAddress("15.15.250")" DestinationAddress="GroupAddress("1/0/4")" Flags="1011110011100000" Command="APCICommand.GROUP_WRITE" payload="<DPTArray value="[0x7,0x8]" />" />" />" />

Can anyone enlighten me what is going wrong here?

Thanks in advance!

You are trying to set the wrong GA. 1/0/4 is the result of the regulator in %.
Look for something called “Sollwert”. Often 2byte. Sometimes 1 2byte “Basissollwert” and 1 1byte GA for “Sollwertverschiebung”.