Context: I want to use NodeRed to visualise and control my KNX home automation system. I added dashboard and KNX-ultimate to the palette, otherwise it is freshly installed.
Myself: I am an absolute beginner in NodeRed and just created my very first flow. This question is about dashboard switch, I believe.
Problem: I want to visualize ONE switch on the dashboard UI, corresponding to one light that can be on or off. The light is supposed to be switched on/off by either clicking on the dashboard UI switch or by using physical switches in the house or any automated functions like time or whatever. Since the light can be switched from multiple points, it is standard KNX method to use one status message (reporting back after the state changed for whatever reason) and one switch command (instructing the actor to switch on/off and respond with the new status).
Flow: Mostly it works fine. I have a very simple flow with three nodes: KNX-read status > connected to dashboard switch > connected to KNX write on/off.
What works: Using the UI switch, everything works out fine. Exactly one switch event is fired, one status returned and the switch and light fit. No superflous messages.
Problem: When the read status node is fired by an external event like a physical switch, the switch changes correctly its position and fires the write node which in turn sends an unnecessary switch message (e.g. writing "on" to the "on" light). The overall result is correct, i.e. switch and light fit, but one too many switch messages is fired.
Possible solution: If the switch node could distinguish manual UI interaction (then: do the output to the write node) from being triggered by the input connection (then: just switch UI state), this would solve the behaviour.
Is this possible or can such a behaviour be created/programmed?