KNX states strangely updated for dimmer channel/item

Using openHAB3 with KNX and I’m encountering some strange KNX updates like this:

2021-02-10 13:29:10.195 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXOGSchlafzimmer_LichtSchlafzimmer' changed from 50 to 100
2021-02-10 13:29:10.218 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXOGSchlafzimmer_LichtSchlafzimmer' changed from 100 to 50

What happens here is the cyclic feedback of my actuator sends two telegrams:

  • 1/2/3 gets “ON”
  • 1/2/4 gets “50%”

so my channels are defined as follows

  - id: SchlafzimmerDLFernseher
    channelTypeUID: knx:dimmer
    label: Licht Schlafzimmer
    description: null
    configuration:
      increaseDecrease: 1/2/1
      position: 1/2/2+<1/2/4
      switch: 1/2/0+<1/2/3

The item KNXOGSchlafzimmer_LichtSchlafzimmer is linked as “Dimmer” to the channel:

My guess is, the “ON” feedback telegram leads to “100%”, then directly immedialty it changes to “50%”, which is kinda strange behaviour. Can I avoid that somehow?

(it’s also a bit strange in the “Analyze”-View…)

Hi @binderth,

Thank you so much for bringing up this question. This is something I’ve been wondering about for a long time as well. I’m also seeing this behaviour in my setup on both OH2 and OH3. Would be great to finally get an answer to that mystery.

1 Like

You might not need to listen to 1/2/3 at all, depending how the dimmer behaves. Does it send a 0% when turned off?


yes, 1/2/4 sends 0%, if turned off

So, from my understanding:

  • I can use “ON/OFF” for the same “Dimmer” item as
  • I can use “0%-100%”.

Would the dimmer item react solely on 0%-100%? and would it turn on/off the “switch” part in the channel definition also?

An openHAB dimmer Item has no on/off state at all,it can only take states 0-100, so it won’t mind only numeric reports from device.

So, why does the UI (and the channel configuration) allow the “switch”-state then for a “dimmer”-channel? shouldn’t this be removed then? or did I miss something here?

Maybe. There’s no reason that you cannot send a command OFF to a Dimmer Item, and see its state change to 0. There’s no reason you can’t have a Dimmer set to 10 and have a UI show that it is ON.

1 Like

I don’t think it’s a state, I am most definitely sure it is an accepted command type. A dimmer item can receive command types such as OnOff, IncreaseDecrease, or Percent. The state is only Percent.

No, per design, a dimmer has to accept ON/OFF command as well, where the binding should translate the command to the according values.

1 Like

The first address deals with an ON/OFF command from openHAB and does whatever it needs to do for the device.

The inbound address <1/2/3 listens for on/off from the device, and does what it needs to do for openHAB. Because a Dimmer type has no on/off state at all, it must translate that to 0 or 100.
As O.P. points out, this is undesirable when you are also getting a separate “real” % value incoming.

So do away with, don’t listen to 1/2/3, just send on 1/2/0

The question remains whether the device really sends the separate % value under all circumstances. Try it.

OK, I’ll try that… but I could swear, I didn’t have those strange updates with KNX1…?
nonetheless: one thing is not clear to me and I just read through my GIRA actuator.

  1. the Actuator does react on ON/OFF (channel1, function “switch”: DPT 1.001)
  2. the Actuator does react on Increase/Decrease (channel1, function “dim”: DPT 3.007)
  3. the Actuator does react on a percentage (channel1, function “brightness value”: DPT 5.001)

then again

  1. the Actuator sends feedback to ON/OFF (channel1, function “feedback switch”: DPT 1.001)
  2. the Actuator sends feedback to a percentage (channel1, function feedback brightness value": DPT 5.001)

I use 1/2/3 in my KNX sensor, and it will show in a LED, whether the light is ON (regardless, if it is 1% or 100%).

So, I’d expect to behave the actual dimmer-channel in the KNX-binding exactly the same way? My Actuator is a GIRA dim actuator, but I also read some docu on a Mertens, and this one is also doing the same exact thing?

I removed the listening GA for the switch (1/2/3) and now it doesn’t have those crazy updates anymore, if the actuator sends its regular state telegrams…
So it means, that I can send ON/OFF to the OH-switch, but I can’t read ON/OFF out of it…

The idea is that you don’t need to. If a Dimmer Item state is 0,it’s the equivalent of OFF. If it’s state 1-100, it’s ON. That is the only information that you can hold in a Dimmer type Item, no matter how you configure it.

1 Like