Programming Examples

Using one push button for creating more than 2 different scenes

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
  1. Create a double push button with LEDs (PB1).

  2. 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

  3. Create the lighting (LAMP1 and LAMP2).


https://s3-eu-west-1.amazonaws.com/guideimages/Screenshots/V2.9/EN/SPE_018_213_01.png

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

https://s3-eu-west-1.amazonaws.com/guideimages/Screenshots/V2.9/EN/SPE_018_213_02.png

Creating the conditions

Create 3 conditions which at each button press (PB1) check the programmed scene and switch to the next scene.

  1. 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

  2. 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

  3. 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.

  1. 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

  2. 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

  3. 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

https://s3-eu-west-1.amazonaws.com/guideimages/Screenshots/V2.9/EN/SPE_018_213_03.png

Filling the cabinet and addressing the devices

Fill the cabinet with ...

and address the following devices ...

a switching module (3x) 2U (

MOD1

)

  • lamp LAMP1.

  • lamp LAMP2.




Example

Click here to download the programming example (nhc2 file).