KNX Dimmer Wallswitch not updated

Hello,

I am new to OpenHAB. I have a new KNX installation at home that I configured myself in ETS6.
I am running openhabian on a Raspberry 4 in 32bits. My version of openhab is 3.4.4.

I configured a dimmer through the UI. Everything seems to work fine except the update of the physical wallswitch.

If the lamp is turned on by the slider on the item or by the rule with a sendCommand I am expecting that the next click on my physical push button would turn off the lamp. But the next click is turning the lamp on the last saved percentage and it needs a second click to turn off.

Here is my thing configuration:

UID: knx:device:8101b5be9f
label: Module Dimming 1
thingTypeUID: knx:device
configuration:
pingInterval: 600
address: 1.1.2
readInterval: 0
fetch: false
bridgeUID: knx:ip:712968f0b8
location: Tableau
channels:

  • id: Eclairage_Couloir
    channelTypeUID: knx:dimmer
    label: Eclairage Couloir
    description: “”
    configuration:
    position: 5.001:1/3/23+<1/4/23
    switch: 1.001:1/1/23+<1/5/23

Here is my item configuration:

My physical push button configuration in ETS:

and my dimming module configuration in ETS:

Reading threads on the forum I have tried a few configuration and added lately the autoupdate=false on the item but it doesn’t have any effect. I also tried not adding the switch status to the channel configuration but it is not helping either.

Is it an expected behavior? Is there an issue with my configuration? Is there a way to reach my expected behavior (turning off the light on the next first click)?

EDIT: Forgot to mention that if I click on the push button the percentage value is correctly updated on the item.

EDIT2:

Logs in ETS:

#move slider to 20
2	06-06-23	22:20:46,859	from bus		Low	1.1.255	-	1/3/23	Couloir Ă©clairage dimming valeur	Eclairage	Couloir	6	GroupValue_Write		$33 | 20%
3	06-06-23	22:20:47,148	from bus		Low	1.1.2	DM 4 T (4x dimming actuator)	1/5/23	Couloir Ă©clairage statut	Eclairage	Couloir	6	GroupValue_Write		$01 | On
4	06-06-23	22:20:47,408	from bus		Low	1.1.2	DM 4 T (4x dimming actuator)	1/4/23	Couloir éclairage luminosité	Eclairage	Couloir	6	GroupValue_Write		$33 | 20%
#click on push button
6	06-06-23	22:21:03,705	from bus		Low	1.1.13	Interrupteurs Cuisine Passage	1/1/23	Couloir Ă©clairage commutation	Eclairage	Couloir	6	GroupValue_Write		$01 | On
7	06-06-23	22:21:04,097	from bus		Low	1.1.2	DM 4 T (4x dimming actuator)	1/4/23	Couloir éclairage luminosité	Eclairage	Couloir	6	GroupValue_Write		$80 | 50%
#second click on button
8	06-06-23	22:21:05,788	from bus		Low	1.1.13	Interrupteurs Cuisine Passage	1/1/23	Couloir Ă©clairage commutation	Eclairage	Couloir	6	GroupValue_Write		$00 | Off
10	06-06-23	22:21:06,357	from bus		Low	1.1.2	DM 4 T (4x dimming actuator)	1/5/23	Couloir Ă©clairage statut	Eclairage	Couloir	6	GroupValue_Write		$00 | Off
11	06-06-23	22:21:06,617	from bus		Low	1.1.2	DM 4 T (4x dimming actuator)	1/4/23	Couloir éclairage luminosité	Eclairage	Couloir	6	GroupValue_Write		$00 | 0%

Logs in openhab:

#move slider to 20
22:20:43.050 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'Eclairage_Couloir_Eclairage_Couloir' received command 20
22:20:43.422 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 0 to 100
22:20:43.686 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 100 to 20
#click on push button
22:20:59.977 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 20 to 100
22:21:00.368 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 100 to 50
#second click on button
22:21:02.061 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 50 to 0

If I remove the switch status address (switch: 1.001:1/1/23 instead of switch: 1.001:1/1/23+<1/5/23)
Logs in ETS are similar but the behavior in openhab seems more correct:

#move slider to 20
22:31:52.727 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'Eclairage_Couloir_Eclairage_Couloir' received command 20
22:31:53.414 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 0 to 20
#click on push button
22:32:08.367 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 20 to 100
22:32:08.749 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 100 to 50
#second click on button
22:32:09.671 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'Eclairage_Couloir_Eclairage_Couloir' changed from 50 to 0

Kind regards,

If i understand correctly your problem is not related to openhab what happens if you have two buttons for the same light in Knx do you still have to press twice ? https://youtu.be/5cXK_OhyhxA

You need to link the status to the switch (in ETS).

I have two buttons for that particular light. They are working fine. If I push one to turn on, I can push the other one to turn off in a single click.

I am not sure of what you mean here.

My physical push button configuration in ETS:


Number 25 Output 1 Couloir Ă©clairage statut 1/5/23 <= is the status.

Do you mean that I should use the status in percentage on my pushbuttons?

I’m not at home, so I can’t see the exact config, but the dimmer module sends a status to the bus (on/off and dimming percentage). You need to link the on/off to the switch, so that it knows the status. That way if you have multiple switches, they synchronize. And OpenHAB really is just another switch as far as KNX knows.

The on/off status is set in ETS on the push buttons.
One single click on a button turn on the light with the last percentage used.
One second click on the same button or another button turn off the light.

But now I have just tested with dimming and here is the same “issue” than the one with openhab.
If I keep pushing on a button (for dimming) light increase, I stop pushing, so the light is on at a certain percentage, the next click on the other button will not turn off the light.

So I think that my problem is indeed in my ETS configuration. I would like that after dimming on a light the the next click on another button turn off the light.

Indeed. I had the same issue in my KNX installation and was instructed to link the on/off status to the switch. In my understanding when that switch is pressed, it sends the command to the actuator and the actuator sends the status back. All switches that are “listening” to that status then know that the light is on (or off) and the press is handled accordingly. I have corridor lights that can be switched/dimmed from 4 different switches (+ OpenHAB) and they’re all always “aware” of the current status and every press is handled as it should.

To keep things simple: This is my Configuration for a Dimmer in openHAB, including the complete configuration of the Actuator and a Wall Switch/Rocker

openHAB:
Type dimmer : ch1 "Strahler" [ switch="8/5/0",position="5.001:8/5/2+<8/5/7" ]

ETS Dimmer:
KO Name             Objektfunktion Länge  K L S Ü A GA           Datentyp
0  Ein / Aus        Schalten       1 bit  K L S - A 8/5/0        Schalten
1  Dimmen           Dimmen         4 bit  K L S - A 8/5/1        Dimmer Schritt
2  Dimmwert         Setzen / Lesen 1 byte K L S - A 8/5/2        Prozent (0..100%)
6  Zustand Ausgang  RĂĽckmeldung    1 bit  K L - Ăś A 8/5/6        Schalten
7  Zustand Dimmwert RĂĽckmeldung    1 byte K L - Ăś A 8/5/7        Prozent (0..100%)

ETS Wall Switch:
KO Name             Objektfunktion Länge  K L S Ü A GA           Datentyp
0  Taste 1          Schalten       1 bit  K - S Ăś A 8/5/0, 8/5/6 Schalten
8  Taste 1          Dimmen         4 bit  K - S Ăś A 8/5/1        Dimmer Schritt

Some additional information:
The Dimmer Item is set to autoupdate=false via Metadata.
Its possible to send a command ON via DimmerItem.sendCommand(ON), this will result in dimming to the configured ON-Level (e.g. 80%)
The Dimmer Actuator will send the ON state to the Rocker, thus the Rocker knows about the dimming via openHAB. However, as this is a status update, sometimes the Rocker won’t get this GA (it’s low priority), but in most situations it’s working flawless.
Never use two state readings at the same Channel.
A Channel has only one state (which is sent to the linked Items) and in case of a dimmer this is NOT the switch state, but the dimmer level.

Thank you, this is what I was missing:

0 Taste 1 Schalten 1 bit K - S Ăś A 8/5/0, 8/5/6 Schalten

I initially linked my switch status to the Output function of my wallswitch, I didn’t get that it should have been linked together with the switch itself on the same input function.
Output should probably only be mapped in cases where you want to actually see the status on your switch (for example with a led).
I am good to change it for all my switches now. :slight_smile:

1 Like

Yes and no. One thing is a status LED or something similar, but the other thing is the toggle function, i.e. always switch off if currently on and always switch on if currently off. For this functionality, each rocker does need the current status to “know” which command shall be sent next.
By the way, this is also true for relative dimming (up-down-up-down), but there is only one GA for this anyway…

So, if you have only one switch (including openHAB…) you won’t need the status for a toggle function, but as soon as there are more rockers, you will.