Use case
Your customer wants to create 3 different scenes controlled by the first button of a double push button (with LEDs).
|
Push |
Scene |
|---|---|
|
First push |
Scene 1 = deactivate all the lighting. |
|
Second push |
Scene 2 = activate all the lighting. |
|
Third push |
Scene 3 = activate only one lamp. |
|
Fourth push |
= Scene 1 |
The only difference with a mood control is that you cannot select a specific scene. You have to scroll (one way) between the different scenes.
Procedure
Creating the controls and the devices
-
Create a double push button with LEDs (PB1).
-
Create the virtual devices (VIRT1 to VIRT3):
-
VIRT1: virtual device controlled by PB1
-
VIRT2 and VIRT3: to make the 3 combinations for the 3 scenes
-
-
Create the lighting (LAMP1 and LAMP2).
Creating the routine
Create a custom routine (ROUT1) to activate VIRT1 with the first button of PB1. Use the following behaviour:
-
Control that initiates the routine: button 1 of the push button (PB1).
-
Devices that are part of the routine: VIRT1
-
Start behaviour: VIRT1: Value = true, Delay = 0 s
-
Stop behaviour: leave empty
-
Creating the conditions
Create 3 conditions which at each button press (PB1) check the programmed scene and switch to the next scene.
-
Create a condition (
COND1
) for pushing PB1 the first time (VIRT1). Use the following logic:
-
IF (VIRT1: Value = true) and (VIRT2: Value = false) and (VIRT3: Value = false)
-
THEN (ROUT1: Initiators = deactivate) and (VIRT1: Value = false) and (VIRT2: Value = true) and (VIRT3: Value = false)
-
ELSE leave empty
-
-
Create a condition (
COND2
) for pushing PB1 for the second time (VIRT2). Use the following logic:
-
IF (VIRT1: Value = true) and (VIRT2: Value = true) and (VIRT3: Value = false)
-
THEN (ROUT1: Initiators = deactivate) and (VIRT1: Value = false) and (VIRT2: Value = false) and (VIRT3: Value = true)
-
ELSE leave empty
-
-
Create a condition (
COND3
) for pushing PB1 for the third time. Use the following logic:
-
IF (VIRT1: Value = true) and (VIRT2: Value = false) and (VIRT3: Value = true)
-
THEN (ROUT1: Initiators = deactivate) and (VIRT1: Value = false) and (VIRT2: Value = false) and (VIRT3: Value =false)
-
ELSE leave empty
-
Create 3 conditions for the scenes using VIRT2 and VIRT3.
-
Create a condition (
COND4
) for deactivating all the lighting. Use the following logic:
-
IF (VIRT2: Value = false) and (VIRT3: Value = false)
-
THEN (LAMP1: Value = off) and (LAMP2: Value = off)
-
ELSE leave empty
-
-
Create a condition (
COND5
) for activating all the lighting. Use the following logic:
-
IF (VIRT2: Value = true) and (VIRT3: Value = false)
-
THEN (LAMP1: Value = on) and (LAMP2: Value = on)
-
ELSE leave empty
-
-
Create a condition (
COND6
) for activating all the lighting. Use the following logic:
-
IF (VIRT2: Value = false) and (VIRT3: Value = true)
-
THEN (LAMP1: Value = off) and (LAMP2: Value = on)
-
ELSE leave empty
-
Filling the cabinet and addressing the devices
|
Fill the cabinet with ... |
and address the following devices ... |
|---|---|
|
a switching module (3x) 2U ( MOD1 ) |
|
Example
Click here to download the programming example (nhc2 file).