Heating Control with KNX and OH 2.5x

Hello everyone, I need your help. I have been using openHAB for several years and version ~ 2.1. The integration of switches, dimmers, shutters, simple rules is no problem. :slight_smile:

Now I wanted to integrate my underfloor heating that is controlled with KNX. Unfortunately I can’t manage this and have tried a lot with googling and trying. I would be very grateful if you could help me, gladly with example items and things files.

I use MDT AKH-0400.01 heating actuators.

Here is a screenshot from ETS

things file

/* Heating */
	    Thing device AKH040001_KG "MDT AKH-0400.01 Kellergeschoss" @ "KNX" [ fetch=false, pingInterval=600, readInterval=0 ]
		{
            Type 	number : Ch_A_Technik_tempIs 	"Temperatur ist"   	[ ga="<2/1/0" ]
            Type 	number : Ch_A_Technik_tempSet 	"Temperatur soll" 	[ ga="2/1/1+<2/1/4" ]
            Type 	number : Ch_A_Technik_opMode 	"Betriebsart ist"  	[ ga="<2/1/7" ]
            Type 	number : Ch_A_Technik_opSet	"Betriebsart soll"      [ ga="2/1/6" ]
    	}
    }

items file

/* AKH040001_KG */
Number	Ch_A_Technik_tempIs     "tempIs Technik [%.1f °C]"    (gC_Technik)	{ channel="knx:device:MDTSCNIP:AKH040001_KG:Ch_A_Technik_tempIs" }
Number	Ch_A_Technik_tempSet    "tempSet Technik [%.1f °C]"   (gC_Technik)	{ channel="knx:device:MDTSCNIP:AKH040001_KG:Ch_A_Technik_tempSet" }
Number	Ch_A_Technik_opMode     "opMode Technik"              (gC_Technik)	{ channel="knx:device:MDTSCNIP:AKH040001_KG:Ch_A_Technik_opMode" }
Number	Ch_A_Technik_opSet      "opSet Technik"               (gC_Technik)	{ channel="knx:device:MDTSCNIP:AKH040001_KG:Ch_A_Technik_opSet" }

thank you in advance

Maybe match GA types. I specify the dpt type for each ga to be sure.

Hi crystollic,

thanks for your quick answer. Is it possible to send me your items and things file so that i can use it as an example?

It would be something like this:

/* Heating */
	    Thing device AKH040001_KG "MDT AKH-0400.01 Kellergeschoss" @ "KNX" [ fetch=false, pingInterval=600, readInterval=0 ]
		{
            Type 	number : Ch_A_Technik_tempIs 	"Temperatur ist"   	[ ga="9.001:<2/1/0" ]
            Type 	number : Ch_A_Technik_tempSet 	"Temperatur soll" 	[ ga="9.001:2/1/1+<2/1/4" ]
            Type 	number : Ch_A_Technik_opMode 	"Betriebsart ist"  	[ ga="<2/1/7" ]
            Type 	number : Ch_A_Technik_opSet	"Betriebsart soll"      [ ga="2/1/6" ]
    	}
    }

ETS will show you the full list of datapoint types.

Hope that helps.

I am not an expert and most of the time I am in fighting mode with my knx set up as well,
but when I have a look atyour ETS settings and at your things it looks kind of strange to me:

GA 2/1/1 and 2/1/4 end up in the same thing

even though they have different data types

Sorry, I missed the ets screen shot…

2/1/0 looks to be the actual temperature which should ga=“9.001:<2/1/0”

2/1/1 looks as if it is the PWM percentage for actuator this would be ga=“5.001:2/1/1”

2/1/4 is either your temp setpoint or delta and this would be ga=“9.001:<2/1/4”

You are right in that they have to be the same type.

My ITEM File

/* AKH-0800.01_EG */
Number	    Ch_A_Wohnraum1_tempIs       "Wohnraum1 Istwert [%.1f °C]"      <tempis>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_A_Wohnraum1_tempIs" }
Number      Ch_A_Wohnraum1_tempSet      "Wohnraum1 Setzwert [%.1f °C]"     <tempset>    (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_A_Wohnraum1_tempSet" }
Number      Ch_B_Wohnraum2_tempIs       "Wohnraum2 Istwert [%.1f °C]"      <ventil>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_B_Wohnraum2_tempIs" }
Number	    Ch_B_Wohnraum2_tempSet      "Wohnraum2 Setzwert [%.1f °C]"     <tempis>     (GF_Heizung)    	{ channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_B_Wohnraum2_tempSet" }
Number      Ch_C_Essbereich1_tempIs     "Essbereich1 Istwert [%.1f °C]"    <tempset>    (GF_Heizung) 	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_C_Essbereich1_tempIs" }
Number      Ch_C_Essbereich1_tempSet    "Essbereich1 Setzwert [%.1f °C]"   <ventil>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_C_Essbereich1_tempSet" }
Number	    Ch_D_Essbereich2_tempIs     "Essbereich2 Istwert [%.1f °C]"    <tempis>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_D_Essbereich2_tempIs" }
Number      Ch_D_Essbereich2_tempSet    "Essbereich2 Setzwert [%.1f °C]"   <tempset>    (GF_Heizung)    	{ channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_D_Essbereich2_tempSet" }
Number      Ch_E_Kueche_tempIs          "Küche Istwert [%.1f °C]"          <ventil>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_E_Kueche_tempIs" }
Number	    Ch_E_Kueche_tempSet         "Küche Setzwert [%.1f °C]"         <tempis>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_E_Kueche_tempSet" }
Number      Ch_F_FlurEG_tempIs          "Flur-EG Istwert [%.1f °C]"        <tempset>    (GF_Heizung) 	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_F_FlurEG_tempIs" }
Number      Ch_F_FlurEG_tempSet         "Flur-EG Setzwert [%.1f °C]"       <ventil>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_F_FlurEG_tempSet" }
Number	    Ch_F_WC_tempIs              "WC Istwert [%.1f °C]"             <tempis>     (GF_Heizung)	    { channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_F_WC_tempIs" }
Number      Ch_F_WC_tempSet             "WC Setzwert [%.1f °C]"            <tempset>    (GF_Heizung)    	{ channel="knx:device:MDTSCNIP:AKH080001_EG:Ch_F_WC_tempSet" }

My THING File

/* Heating AKH 0800.01_EG */
	    Thing device AKH080001_EG "MDT AKH-0800.01 Erdgeschoss" @ "KNX" [ fetch=false, pingInterval=600, readInterval=0 ]
		{
            Type 	number 	:	Ch_A_Wohnraum1_tempIs 		"Wohnraum1 Istwert [%.1f °C]"   	[ ga="<2/2/5" ]
            Type 	number 	:	Ch_A_Wohnraum1_tempSet 		"Wohnraum1 Setzwert [%.1f °C]" 		[ ga="2/2/3+<2/2/5" ]
			Type 	number 	:	Ch_B_Wohnraum2_tempIs 		"Wohnraum2 Istwert [%.1f °C]"   	[ ga="<2/2/25" ]
            Type 	number 	:	Ch_B_Wohnraum2_tempSet 		"Wohnraum2 Setzwert [%.1f °C]" 		[ ga="2/2/23+<2/2/25" ]
			Type 	number 	:	Ch_C_Essbereich1_tempIs 	"Essbereich1 Istwert [%.1f °C]"   	[ ga="<2/2/45" ]
            Type 	number 	:	Ch_C_Essbereich1_tempSet 	"Essbereich1 Setzwert [%.1f °C]" 	[ ga="2/2/43+<2/2/45" ]
			Type 	number 	:	Ch_D_Essbereich2_tempIs 	"Essbereich2 Istwert [%.1f °C]"   	[ ga="<2/2/65" ]
            Type 	number 	:	Ch_D_Essbereich2_tempSet 	"Essbereich2 Setzwert [%.1f °C]" 	[ ga="2/2/63+<2/2/65" ]
			Type 	number 	:	Ch_E_Kueche_tempIs 			"Küche Istwert [%.1f °C]"   		[ ga="<2/2/85" ]
            Type 	number 	:	Ch_E_Kueche_tempSet 		"Küche Setzwert [%.1f °C]" 			[ ga="2/2/83+<2/1/85" ]
			Type 	number 	:	Ch_F_FlurEG_tempIs 			"Flur-EG Istwert [%.1f °C]"   		[ ga="<2/2/105" ]
            Type 	number 	:	Ch_F_FlurEG_tempSet 		"Flur-EG Setzwert [%.1f °C]" 		[ ga="2/2/103+<2/1/105" ]
			Type 	number 	:	Ch_F_WC_tempIs 				"WC Istwert [%.1f °C]"	 	  		[ ga="<2/2/125" ]
            Type 	number 	:	Ch_F_WC_tempSet 			"WC Setzwert [%.1f °C]" 			[ ga="2/2/123+<2/1/125" ]
    	}

It Works, but temp setpoint or delta and PWM percentage for actuator doesn’t work. I tried it with ga=“5.001: and ga=“9.001: but I get no information. It is not important for me. I can change the temperature that’s enough

@oelles here is my sitemap

Changing the heating mode is possible with switches, but it is bad to use.
I want to switch the heating operation modes with a mapping switch [Komfort | Nacht | Frost ] so that I can set the mode very easy an it looks good

.```csv
sitemap SmartHome label=“SmartHome 2.0”
{
}
Frame label=“Status” {
Group item=Klima label=“Hausklima” icon=“klima”

	Text label="Heizung" icon="floorheating" {
		Text label="Obergeschoss" icon="firstfloor" {
			Default item=Ch_D_Eltern_Temperatur
			Setpoint item=Ch_A_Eltern_tempSet   	label="Eltern (±0.5) [%.1f °C]" 	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_A_Eltern_tempIs
			Default item=Ch_C_Kind2_Temperatur
			Setpoint item=Ch_B_Kind2_tempSet  	label="Kind2 (±0.5) [%.1f °C]" 	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_B_Kind2_tempIs
			Default item=Ch_B_Kind1_Temperatur
			Setpoint item=Ch_C_Kind1_tempSet		label="Kind1 (±0.5) [%.1f °C]"  	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_C_Kind1_tempIs
			Default item=Ch_A_Badezimmer_Temperatur
			Setpoint item=Ch_D_Bad_tempSet  		label="Bad (±0.5) [%.1f °C]" 		minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_D_Bad_tempIs
		}
		Text label="Erdgeschoss" icon="groundfloor" {
			Default item=Ch_C_Wohnraum_Temperatur
			Setpoint item=Ch_A_Wohnraum1_tempSet   	label="Wohnraum1 (±0.5) [%.1f °C]" 		minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_A_Wohnraum1_tempIs
			Setpoint item=Ch_B_Wohnraum2_tempSet  	label="Wohnraum2 (±0.5) [%.1f °C]" 		minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_B_Wohnraum2_tempIs
			Setpoint item=Ch_C_Essbereich1_tempSet	label="Essbereich1 (±0.5) [%.1f °C]"  	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_C_Essbereich1_tempIs
			Setpoint item=Ch_D_Essbereich2_tempSet  label="Essbereich2 (±0.5) [%.1f °C]" 	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_D_Essbereich2_tempIs
			Setpoint item=Ch_E_Kueche_tempSet  		label="Küche (±0.5) [%.1f °C]" 			minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_E_Kueche_tempIs
			Default item=Ch_B_FlurEG_Temperatur
			Setpoint item=Ch_F_FlurEG_tempSet 		label="Flur-EG (±0.5) [%.1f °C]" 		minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_F_FlurEG_tempIs
			Default item=Ch_A_WC_Temperatur
			Setpoint item=Ch_F_WC_tempSet 			label="WC (±0.5) [%.1f °C]" 			minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_F_WC_tempIs
		}
		Text label="Kellergeschoss" icon="cellar" {
			Default item=Ch_A_Buero_Temperatur
			Setpoint item=Ch_A_Buero_tempSet   label="Büro (±0.5) [%.1f °C]" 	minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_A_Buero_tempIs
			Default item=Ch_B_FlurUG_Temperatur
			Setpoint item=Ch_B_FlurUG_tempSet  label="Flur-UG (±0.5) [%.1f °C]" minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_B_FlurUG_tempIs 
			Default item=Ch_C_Technik_Temperatur
			Setpoint item=Ch_C_Technik_tempSet label="Technik (±0.5) [%.1f °C]" minValue=4.5 maxValue=30 step=0.5 icon="tempset"
			Default item=Ch_C_Technik_tempIs     
		}
	}