Oh, KNX, Why Do You Have to be so Difficult? (i.e. _please_ help me, someone ;) )

Hi All,

I seem to have got myself in rather a dumb/stressful/difficult/etc situation, and time isn’t exactly a luxury that I have right now, so if anyone has any ideas or pointers (abstract as they may be…) please send them my may.

I’m trying to setup a OpenHAB powered, iPad interfaced, interface in a boutique hotel. (I’ve actually posted about this before, but then got married and got to escape life for just a bit and go off on holiday/honeymoon :wink: ).

In essence, I’ve got my interface built, and it works great. Well, sort of… It does, but because I can see the REST calls to OpenHAB. But I’m definitely doing something wrong (I’m pretty sure with my items file — because running as start_debug.sh and pressing some of the physical switches in a hotel room, I see activity in the log with proper item names changing their state). Yet, when I try to change the state of items, either through REST, the web interface or the iPhone app, I don’t see any reaction from lights. And moreover, I don’t see the item names appearing in the output from start_debug.sh. Because its a hotel (small as it may be, but its decently fancy and the KNX bus is rather packed) there is a ton of activity flipping through it all the time. But oddly enough, clicking around the iPhone app, web interface etc. I’m not sure that — in fact, I’m rather sure — that the output of start_debug.sh isnt showing my actions (basically, I don’t see the right addresses coming through — although there is a lot, so I can’t tell if false addresses are coming through). But the correct ones, definitely aren’t. Hence my thinking that my items file is wrong somehow.

I love openhab — but I’m a homematic, raspberry pi + gpio etc. type of person at home. KNX is not within my comfort zone, yet I’m here, in this hotel because I have big mouth and have promised to move mountains by tomorrow (yes, I’m that kind of moron…) So, I would be immensely grateful for anyone’s ideas. :wink:

Here’s some more background…… Excerpts from my setup, showing one room:

CSV export from ETS (filtered down to one room, and apologies about the Italian. I dont speak it either :wink: …)

Room 06.GEN.Welcome.OFF 1/0/100
Room 06.GEN.Principale.toggle 1/0/101
Room 06.Alllights 1/0/102
Room 06.EXT.Presa comandata.toggle 1/1/100
Room 06.EXT.Neon.toggle 1/1/101
Room 06.BD.AbajourDX.toggle 1/1/102
Room 06.BD.AbajourSX.toggle 1/1/103
Room 06.BT.Soffione doccia.toggle 1/1/104
Room 06.BD.Presa comandata scrittoio.toggle 1/1/105
Room 06.BT.Spot WC.toggle 1/1/106
Room 06.BT.Ventola.toggle 1/1/107
Room 06.BT.LED specchio.toggle 1/1/108
Room 06.BT.Spannatore.toggle 1/1/109
Room 06.BD.Spot testata letto.toggle 1/1/110
Room 06.HW.Spot ingresso.toggle 1/1/111
Room 06.BD.Lato DX.toggle 1/1/112
Room 06.BD.Lato SX.toggle 1/1/113
Room 06.BT.Spot specchio.toggle 1/1/114
Room 06.BT.Luce parete lato bagno.toggle 1/1/115
Room 06.BT.Luce parete lato corridoio.toggle 1/1/116
Room 06.BT.Spot vasca.toggle 1/1/117
Room 06.EXT.Neon.dim 1/2/101
Room 06.HW.Spot ingresso.dim 1/2/111
Room 06.BD.Lato DX.dim 1/2/112
Room 06.BD.Lato SX.dim 1/2/113
Room 06.BT.LED WC.dim 1/2/114
Room 06.BT.Luce parete lato bagno.dim 1/2/115
Room 06.BT.Luce parete lato corridoio.dim 1/2/116
Room 06.BT.Spot vasca.dim 1/2/117
Room 06.EXT.Neon.value 1/3/101
Room 06.HW.Spot ingresso.value 1/3/111
Room 06.BD.Lato DX.value 1/3/112
Room 06.BD.Lato SX.value 1/3/113
Room 06.BT.LED WC.value 1/3/114
Room 06.BT.Luce parete lato bagno.value 1/3/115
Room 06.BT.Luce parete lato corridoio.value 1/3/116
Room 06.BT.Spot vasca.value 1/3/117
Room 06.EXT.Presa comandata.status 1/4/100
Room 06.EXT.Neon.status 1/4/101
Room 06.BD.AbajourSX.status 1/4/102
Room 06.BD.AbajourDX.status 1/4/103
Room 06.BT.Soffione doccia.status 1/4/104
Room 06.BD.Presa comandata scrittoio.status 1/4/105
Room 06.BT.Spot WC.status 1/4/106
Room 06.BT.Ventola.status 1/4/107
Room 06.BT.Spot specchio.status 1/4/108
Room 06.BT.Spannatore.status 1/4/109
Room 06.BD.Spot testata letto.status 1/4/110
Room 06.HW.Spot ingresso.status 1/4/111
Room 06.BD.Lato DX.status 1/4/112
Room 06.BD.Lato SX.status 1/4/113
Room 06.BT.LED WC.status 1/4/114
Room 06.BT.Luce parete lato bagno.status 1/4/115
Room 06.BT.Luce parete lato corridoio.status 1/4/116
Room 06.BT.Spot vasca.status 1/4/117
Room 06.EXT.Neon.value.status 1/5/101
Room 06.HW.Spot ingresso.value.status 1/5/111
Room 06.BD.Lato DX.value.status 1/5/112
Room 06.BD.Lato SX.value.status 1/5/113
Room 06.BT.LED WC.value.status 1/5/114
Room 06.BT.Luce parete lato bagno.value.status 1/5/115
Room 06.BT.Luce parete lato corridoio.value.status 1/5/116
Room 06.BT.Spot vasca.value.status 1/5/117
Room 06.HW.Dim25% 1/7/100

Items: ( I know, not nearly complete from the list above, but enough to test, I thought…)

Group Room06
Group Lights

Switch Principale (Lights,Room06) { knx=“1/0/101” }
Switch PresaComandata (Lights,Room06) { knx=“1/1/100+1/4/100” }

Dimmer LatoDX (Lights,Room06) { knx=“1/1/112+1/4/112, 1/2/112, 1/3/112+1/5/112” }
Dimmer LatoSX (Lights,Room06) { knx=“1/1/113+1/4/113, 1/2/113, 1/3/113+1/5/113” }
Dimmer SpotSpecchio (Lights,Room06) { knx=“1/1/114+1/4/114, 1/2/114, 1/3/114+1/5/114” }
Dimmer PareteBagno (Lights,Room06) { knx=“1/1/115+1/4/115, 1/2/115, 1/3/115+1/5/115” }
Dimmer PareteCorridioio (Lights,Room06) { knx=“1/1/116+1/4/116, 1/2/116, 1/3/116+1/5/116” }
Dimmer SpotVasca (Lights,Room06) { knx="1/1/117+1/4/117, 1/2/117, 1/3/117+1/5/117” }

Sitemap:

(Yes, I know, severely lacking… but I’m just trying to get lights toggling…. then I will fix it all….)

sitemap home label=“Room_06”
{
Frame label=“Room 06” {
Text label=“Etagen” icon=“house” {
Group item=Room06 icon=“firstfloor”
}
Text item=Lights label=“Lamps [%d]” {
Slider item=SpotIngresso
Switch item=Room_06_BD_Lato_SX_toggle mappings=[OFF=“Off”,ON=“On”]
Switch item=Room_06_BD_Abajour_SX_toggle mappings=[OFF=“Off”,ON=“On”]
Setpoint item=Setpoint_-_Room06 [label=“Room 06 Temp”] [icon=“kitchen”] minValue=“14” maxValue=“30” step=“1”
}

}

}

Some Log Transcripts….

02:50:14.880 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:14.881 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:15.429 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:15.431 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:15.980 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:15.982 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:16.530 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:16.531 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:16.581 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 9.1.28
02:50:16.582 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:16.584 [DEBUG] [.b.knx.internal.bus.KNXBinding:201 ] - Received telegram for unknown group address 2/1/207
02:50:17.080 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:17.081 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:17.630 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:17.631 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:18.180 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:18.181 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:18.730 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:18.731 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:19.280 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:19.282 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:19.830 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:19.832 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:19.880 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:19.880 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:20.380 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:20.380 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:20.930 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:20.931 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:21.480 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:21.481 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:21.506 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 1.1.28
02:50:21.507 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:21.509 [DEBUG] [.b.knx.internal.bus.KNXBinding:201 ] - Received telegram for unknown group address 1/1/219
02:50:22.030 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:22.031 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:22.580 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:22.582 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:23.131 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:23.132 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:23.680 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:23.681 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:24.230 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:24.232 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:24.781 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:24.782 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:25.331 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:25.332 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:25.381 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:25.382 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:25.880 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:25.882 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:26.430 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:26.432 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:26.981 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:26.982 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:27.530 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:27.531 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:28.080 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:28.080 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:28.631 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:28.633 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:29.181 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:29.183 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:29.731 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:29.732 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:30.281 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:30.282 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:30.830 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:30.832 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.
02:50:30.881 [INFO ] [tuwien.auto.calimero :51 ] - [KNXnet/IP receiver] link 10.10.10.100:3671: indication from 0.0.250
02:50:30.882 [DEBUG] [.b.knx.internal.bus.KNXBinding:169 ] - Received groupWrite Event.

Again, I know this email is probably a head trip just to read, but I would be really so incredibly greatly to anyone that has any ideas what is going on….

best,
matt

Here’s a simple example based on my configuration that may help you to understand the required KNX configuration. ( since I had to translate from my configuration I have not tested )

I’m using openHab 1.7.0.

Items file 

Group:Switch:OR(ON, OFF) gAllLights “All Lights [%d]”
Group:Switch:OR(ON, OFF) gLights_1st “All Lights 1st Floor [%d]” (gAllLights)

Switch Lights_1st_Room1_L6 “Ceiling Lamp” (gLights_1st) { knx=“1/3/3+<9/3/3” }
Switch Lights_1st_Room1_L2 “Varanda Lamp” (gLights_1st) { knx=“1/3/4+<9/3/4” }


Sitemap file

sitemap default label=“Home” {
Frame label=“Main Categories” {
Text item=gAllLights label=“All Lights [%d]” icon=“light” {
Switch item=gLights_1st label=“All Lights 1st floor” mappings=[ON=“All on”, OFF=“All Off”]
Group item=gLights_1st
}
}
}


The KNX adress of the Items indicates each Light group Address , e.g. 1/3/3 in this case for the first Light, and its status group adress, 9/3/3. This is not a dimmable Ligth in my case.
This sitemap reports how many lights are on or off. Lets you to turn on or off al ligths at the same time and also lets you turn on/off each individual light.

Many thanks…

I’ve actually got it more or less working now.

But now, I’m struggling with the climate stuff.

I can get the current room temperature with this:
Number Temperature_Current “Temperature [%.1f °C]” (Room06) { knx = “<5/1/60”}

And the way it works here, I can set a set point deviation for the temperature (i.e. + or - 3 degrees). I would like guests to be able to dial that up or down in steps of .5 degrees.

Here is my item for the deviation:

Number Temperature_Setpoint “Temperature Setpoint [%.1f °C]” (Room06) { knx =“9.002:5/1/64”}

And my sitemap entry:
Setpoint item=Temperature_Setpoint step=“0.5” minValue="-3" maxValue=“3” }

Ideally, I would show the current set point deviation in between the set point, and by pressing the the buttons on either site, this number would increase or decrease by 0.5 degrees.

However, this doesn’t seem to work. With a rest call, I can set the set point and that works, but my set point widget seems to always show 3 degrees, and 0.5 step changes dont seem to be sent.

Am I missing something?