KNX Climate heating actuator MDT

I would like to raise this topic again to see if anyone can help me here.

I have the following setup.

3 different rooms

Living room 0.2 with underfloor heating with 3 electric valves
Kitchen 0.3 with underfloor heating with 3 electric valves
Basement K.2 with underfloor heating with 2 electric valves

All valves are controlled by an MDT Heating Actuator AKH-0800.02

I also use a Theben KNX OT Box to control my central heating boiler via Openthem ( KNX-OT-Box S | System devices | KNX | Home and Building control | Theben )

In all rooms I use Ekinex Tasters with temperature sensors allowing me to control the temperature per room.

Currently I have the MDT Heating Actuator set up as follows:

A Mode Integrated controller for Basement K.2 and valve 1
B Mode Continuous for valve 2 for the Basement K.2
C Mode Integrated controller for Kitchen 0.3 and valve 1
D Mode Continuous for valve 2 for Kitchen 0.3
E Mode Continuous for valve 3 for Kitchen 0.3
F Mode Integrated controller for Living room 0.2 and valve 1
G Mode Continuous for valve 2 for Living room 0.2
H Mode Continuous for valve 3 for Living room 0.2

I have created the following group addresses. (see pictures)

Now I just don’t quite understand what exactly is the function of Setpoint value offset? I have only added it to the group address for the basement, but what exactly does it do?

I would also like to be able to see per room whether there is a heat demand? At the moment I take the address 0/0/17 to determine whether there is heat demand, but this is only for all groups at once. so every thermostat is “heating” also when only the valves of 1 room are open.

Is there any way to get this also from the MDT Heating actuator per group?





I guess state control value does exactly that - if this represents the valve control value.

That’s true but how can I convert this to a ON/OFF value because the State control value is from 0…255. For the heating request I need a ON/OFF value

For a climate entity use it for command_value_state_address. 0 will be idle, >0 active.
For other uses you can do same with a sensor entity and logic.
Otherwise see the actuators manual if it has this as binary too.

Ah perfect! This solution is working for the climate entity.

But can you maybe help me how I can build the logic from an KNX groupadress (or addresses) to an on/of state…

Like… Ik groupaddress 0/4/0 is >0 then put groupaddress 0/4/1 ON otherwise OFF

I can only find logic templates from entities and not from KNX group addresses within Home Assistant.

Create an entity (sensor) and use its state in a template entity.
Or use the climate entities attribute (hvac_action) in a template sensor.

Could you solve your Problem? What was the problem?

Hey Guys thank you at all that thread is really helpfull.
One more question i have. how can i configure and display the actual valve opening in percentage. In German it means Stellwert of the valve ? I have configured that he will sent the value when it is changed. But which variable it is in Homeassistant. It is under the climate or do i have to create a sensor for that ?

You can use climates command_value_state_address - it uses the value to determine idle / heating. And iirc it also sets an entity attribute.
Other than that you can always use a sensor.

1 Like

Thanks Matthias,
command_value_state_address im using alread for this i try to change my card for this maybe i will get a better graphical solution. If not i have to configure a sensor for it.

Another problem i have like we already talked in the discord.

If i change the HVAC Mode from Komfort to Night or Standby the Sollwert remains the actual one. But i want that the Sollwert will change to the Night or Standby temperature. In the ETS i can just config the Sollwertverschiebung for that Modes with -3K from the Sollwert. Which value i have to configure in the Homeassistant config and which KNX adress i need to use ? Somebody can help ?

So with help of Matthias i got a final configuration which is working fine for me in HA
This is working with MDT Glastaster I and MDT Heating Aktor AKH0800.002

climate:
  # Wohnzimmer
  - name: "Heizung Wohnzimmer"
    temperature_address: "2/1/30" # Temperaturmesswert
    temperature_step: 0.5
    target_temperature_address: "2/1/34" # Aktueller Sollwert
    target_temperature_state_address: "2/1/34" # Aktueller Sollwert
    command_value_state_address: "2/1/32" # Status Stellwert
    setpoint_shift_address: "2/1/33" # Sollwertverschiebung
    setpoint_shift_state_address: "2/1/33" # Sollwertverschiebung (lesend)
    setpoint_shift_mode: "DPT9002" # 2byte
    setpoint_shift_max: 3
    setpoint_shift_min: -3
    operation_mode_address: "2/1/35" # Betriebsmodus
    operation_mode_state_address: "2/1/36" # Betriebsmodus status
3 Likes

Hi,

hopefully anybody can help. I’m triyng to get a hager knx easy climate connfiguration (txm646R) working in my home assistant.

So far so good. I can change mode, I can change the temperature and it shows me the setpoint.

But I would like to have the target temperature shown in the climate card and not the shift point.

Unfortunately there is no adress I could figure out where I can read the temperature state adress.

Can anybody help?

Here is my knx configuration:

And here is my home assistant configuration:

Screenshot 2023-09-29 123748

here the difference between my app and home assistant

Screenshot 2023-09-29 124121

It sets the shiftpoint to the configured mode. In that case 21° so shiftpoint 1,0 which is 22°.

Is it possible or do I need to create help entitiys to calculate the target temperature?

Edit: I think “Sollwert Heizung 8Byte” Could be the one. Unfortunately it shows NULL.

First of all, thank you for publishing the configuration. I have made the same settings in ETS and HA. However, I noticed that after a certain time, the setpoint and the operating mode change.

Do you have the same problem?

I’ve the following Problem in Home Assistant:
In general the Operating Modes of all termostats should be “Komfort”. So after I configured all rooms, I set every termostat to “Komfort”. But after a few Minutes the Operating Mode changed back to “Abwesend”. I don’t understand why.

Here are my rts settings:

Hi,
I also have a MDT Glastaster and the MDT Heating Aktor.
With but when I add the “climate” part to my configuration.yaml none of the KNX entities are avaible any more. But I don’t understand why:

knx:
  light:
    - name: "Licht BĂźro"
      address: "1/1/20"
      state_address: "1/1/21"
  cover:
    - name: "Rollo BĂźro"
      move_long_address: "2/1/42"
      stop_address: "2/1/43"
      position_address: "2/1/44"
      position_state_address: "2/1/45"
  climate:
    - name: "BĂźro"
      temperature_address: "3/1/6" #Temperaturmesswert
      temperature_step: 0.5
      target_temperature_address: "3/1/8" #Aktueller Sollwert
      target_temperature_state_address: "3/1/8" #Aktueller Sollwert
      setpoint_shift_address: "3/1/9" #Sollwertverschiebung
      setpoint_shit_state_address: "3/1/9" #Sollwertverschiebung
      setpoint_shift_mode: "DPT9002" #2byte
      setpoint_shift_max: 3
      setpoint_shift_min: -3
      min_temp: 10
      max_temp: 30

can someone help me?

Have a look at the logs. Open your Home Assistant instance and show your Home Assistant logs.

Thank you!!!
the problem was that I need the setpoint_shift_address and state_address.
And there was a typing error :see_no_evil:

Maybe the used duplicate addresses aren’t working.
My config:

climate:
  # https://community.home-assistant.io/t/knx-climate-heating-actuator-mdt/36470/22
  # readflag for *_state_address at ETS

  - name: "BĂźro"
    temperature_address: 1/3/0
    #target_temperature_address: 1/3/1
    target_temperature_state_address: 1/3/5
    setpoint_shift_address: 1/3/2
    setpoint_shift_state_address: 1/3/6
    setpoint_shift_mode: "DPT9002"
    setpoint_shift_step: 0.5
    heat_cool_state_address: 0/3/11
    command_value_state_address: 1/3/7

Ah, now I see it too :rofl:

Same address for address and state address shouldn’t be a problem.