OH2 KNX Read and Update seems mutually exclusive

I’m a new user (using OH for a few months) using OpenHAB 2.2.0 with KNX Binding 1.11 (according to Paper UI).

In this setup I cannot create a configuration that reads the KNX dimmers on startup and periodically, while also reacting to KNX update bus events for the dimmers. As soon as I configure my update groups in the item configuration OpenHAB stops reading values.

My KNX configuration is grouped per function:
1/0/x - On / Off
1/1/x - Increase / Decrease
1/2/x - Percentage
1/6/x - Value Update

2 lines from my item config:

Dimmer BG_WK_Lamp_Salon          "BG_WK_Lamp_Salon [%s]"         (Lights) { knx="1/0/0, 1/1/0, <1/2/0" }
Dimmer BG_WK_LedWandAll_TV       "BG_WK_LedWandAll_TV [%s]"      (Lights) { knx="1/0/4, 1/1/4, <1/2/4+1/6/4" }

So in this configuration it reads the BG_WK_Lamp_Salon properly, but this does not update (obviously) when I press a button on the wall that dims the lamp directly. BG_WK_LedWandAll_TV updates when I press a button on the wall, but does not have any initial value and also when I monitor the bus I do not see any reads. This means that on a reboot, or when a message is missed it will be out-of sync.

Is there something I can do to get this to work?

Thanks in advance,

The question is, how did you configure your actuator?

I’ve done it this way:
1/0/1 -> Set On/Off (Write only)
1/1/1 -> Increase/Decrease (Write only)
1/2/1 -> Set % Value (Write only)
1/6/1 -> % State (Read only)

And the Item looks like

Dimmer MyDimmer "My Dimmer [%d %%]" (Lights) { knx="1/0/1, 5.001:1/2/1+<5.001:1/6/1", autoupdate="false"}

As you can see, I don’t use any relative dimming at all, because my actuators do not provide relative dimming the way, openHAB does (I can only use start-stop-dimming)

Every time openHAB starts, it send a read request to 1/6/1 and receives the actual state.
Every time the actuator is dimmed through wall buttons, the actuator sends an update through 1/6/1.
If setting the dimmer through openHAB, when using ON, the actuator will dimm to 80% (this is set through ETS)
If setting the dimmer through openHAB, when using a percentage value, the actuator will dimm to the value. At the end, the actuator will send a state update through 1/6/1.
When using INCREASE or DECREASE, I use a rule to translate this to “5% up/down”:

rule "up/down dimmer"
    Item MyDimmer received command
    switch (receivedCommand) {
        case INCREASE : {
            MyDimmer.sendCommand((MyDimmer.state as Number)+5)
        case DECREASE : {
            MyDimmer.sendCommand((MyDimmer.state as Number)-5)

But you don’t need the rule if you don’t want to use relative dimming or if your actuator does not need start-stop-dimming.

Thank you very much for the reply. It took me a while to reply, but I have been busy and wanted to test things properly before making conclusions. Your answer helped me a lot. It works in the way you describe and I have made the following modifications to my own setup:

  1. I realized that most of my read / transmit / write flags where set incorrectly and inconsistently. I’ve changed this.
  2. I used groups for read/write (combined) and separate for transmit. I changed this to write separately and transmit/read combined
  3. I changed my config to match yours

Now everything is working as expected. :+1: