KNX: Multiway Switching With Room Controller, Switch and Binary Input
If you’re controlling a group of lights from multiple different types of switches, you’ll run into the problem that a switch needs to be pressed twice – the first tap doesn’t have any effect. This happens because state is not maintained properly; the switches don’t “know” whether the lights are currently turned on or off. This article shows how to fix that.
Situation
You want to control a group of lamps from different types of switches and room controllers, e.g.:
- Enertex Meta² room controller channel
- Enertex Meta² room controller binary input
- MDT universal (switch) interface
Why Use a Binary Input to Control the Lights?
The Enertex Meta room controller’s binary input is very useful when connected to a classic (non KNX-enabled) switch situated below the room controller. This setup allows for intuitive control of the lights without having to navigate the room controller’s UI. Very helpful not only for guests and cleaning personnel.
Solution
How It Works
The internal value of each switch always needs to match the current state of the lamp(s). This can be achieved by configuring the flags of the group address links so that switches not only transmit changes to the bus but also update their internal state when another switch is operated.
Implementation
Create a Group Address
Create a group address with the properties:
- Length: 1 bit
- Data type: switch (1.001)
Link Actuators to the Group Address
Link the actors that control the lamp(s) to the group address with the flags:
C
(communication enabled)W
(write): The device changes its internal value when aGroupValueWrite
telegram is received from the bus.
Link Switches & Controls to the Group Address
Links the controls (switches, binary inputs, room controller channels) to the group address with the following flags:
C
(communication enabled)W
(write): The device reacts toGroupValueWrite
telegrams coming from the bus by changing its internal value.T
(transmit): The device sendsGroupValueWrite
telegrams to the bus when its state changes.
Optional flags (not required for this scenario to work):
R
(read): The device reacts toGroupValueRead
telegrams coming from the bus by sending aGroupValueResponse
telegram with its internal value.U
(update): The device changes its internal value when aGroupValueResponse
telegram is received from the bus.