Single button mode + sensor + daylight

This article describes a functionality where after turning on the lights they will adjust the light intensity using daylight harvesting as long as presence is detected in the room.

The lighting turns on when the ON button is pressed. Luminaires adjust the light intensity depending on the amount of daylight (daylight harvesting). When a sensor stops detecting the presence the lighting turns off. Use this scenario when you want one button to turn the light on and the other to turn it off (single button mode [1] for each vertex action [2]).

 

Import the ready made flow using the instructions here: or follow the instructions below.

[{"id":"59857715.c357f8","type":"tab","label":"Flow 7","disabled":false,"info":""},{"id":"ae75d25e.b69a3","type":"DALI2 Devs Common","z":"59857715.c357f8","name":"On/Off Button","outputs":2,"uid":"0000000829E23C2559","devStatus":2,"devSettings":[{"InstanceType":1,"isDisabled":false,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":false,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84}],"savedSettings":[{"InstanceType":1,"isDisabled":false,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":false,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84}],"x":300,"y":380,"wires":[["9dff9fc2.c5af6"],["c5e0c0d1.62c7e"]]},{"id":"d2bba44a.c439f8","type":"DALI2 Devs Common","z":"59857715.c357f8","name":"DALI-2 multisensor","outputs":2,"uid":"00338EBED896A248E3","devStatus":2,"devSettings":[{"InstanceType":3,"isDisabled":false,"dali2t1":"20","dali2t2":"","evenFilters":3},{"InstanceType":3,"isDisabled":true,"dali2t1":"","dali2t2":"","evenFilters":3},{"InstanceType":4,"isDisabled":false,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84}],"savedSettings":[{"InstanceType":3,"isDisabled":false,"dali2t1":"20","dali2t2":"","evenFilters":3},{"InstanceType":3,"isDisabled":true,"dali2t1":"","dali2t2":"","evenFilters":3},{"InstanceType":4,"isDisabled":false,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":4,"isDisabled":true,"evenFilters":1},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84},{"InstanceType":1,"isDisabled":true,"mode":"normal","evenFilters":84}],"x":310,"y":540,"wires":[["aeb4c1c4.3306d"],["f6a75ea5.e84bc"]]},{"id":"9dff9fc2.c5af6","type":"vertex action","z":"59857715.c357f8","name":"100","typeButton":"single","bPayload":{"action":"setbrightness","group":"0efc9ef58896d0b1839b65d7af598531","param":"100","priority":"255"},"bState":"","defaultpriority":false,"x":500,"y":360,"wires":[["91e47407.eeb108"]]},{"id":"aeb4c1c4.3306d","type":"vertex action","z":"59857715.c357f8","name":"Motion sensor ","typeButton":"motionsensor","bPayload":{"PRESENCE":{"action":"noreact","group":"0efc9ef58896d0b1839b65d7af598531","param":null,"priority":"255"},"TRANSITION":{"action":"noreact","group":"0efc9ef58896d0b1839b65d7af598531","param":null,"priority":"0"},"NOPRESENCE":{"action":"setbrightness","group":"0efc9ef58896d0b1839b65d7af598531","param":"0","priority":"254"}},"bState":"","defaultpriority":true,"x":530,"y":500,"wires":[["91e47407.eeb108"]]},{"id":"91e47407.eeb108","type":"vertex cluster","z":"59857715.c357f8","rate":5,"x":770,"y":400,"wires":[]},{"id":"c5e0c0d1.62c7e","type":"vertex action","z":"59857715.c357f8","name":"0","typeButton":"single","bPayload":{"action":"setbrightness","group":"0efc9ef58896d0b1839b65d7af598531","param":"0","priority":"254"},"bState":"","defaultpriority":true,"x":490,"y":400,"wires":[["91e47407.eeb108"]]},{"id":"f6a75ea5.e84bc","type":"vertex daylightHarvesting","z":"59857715.c357f8","name":"Daylight Harvesting","primarygroup":"0efc9ef58896d0b1839b65d7af598531","target":"50","tolerance":"10","P":0.25,"I":0.03,"D":0,"min":-25,"max":25,"x":530,"y":580,"wires":[["c3676eb4.ea23"]]},{"id":"c3676eb4.ea23","type":"vertex action","z":"59857715.c357f8","name":"DH","typeButton":"directv","bPayload":{"action":"setbrightnesslog","group":"0efc9ef58896d0b1839b65d7af598531","param":0,"priority":"0"},"bState":"","defaultpriority":false,"x":700,"y":580,"wires":[["91e47407.eeb108"]]},{"id":"429b331e.96a0cc","type":"comment","z":"59857715.c357f8","name":"Set the priority to 255","info":"","x":500,"y":320,"wires":[]},{"id":"f2edb56c.a854c8","type":"comment","z":"59857715.c357f8","name":"Set the DH value and tolerance","info":"","x":490,"y":640,"wires":[]},{"id":"988bfe71.28039","type":"comment","z":"59857715.c357f8","name":"Set the priority to 0","info":"","x":730,"y":640,"wires":[]},{"id":"40d8017d.74137","type":"comment","z":"59857715.c357f8","name":"Configure sensor state actions","info":"","x":520,"y":460,"wires":[]},{"id":"5f660620.57bae8","type":"comment","z":"59857715.c357f8","name":"Select Motion Sensor and Light Sensor instances","info":"","x":220,"y":500,"wires":[]}]

Step-by-step instructions

  1. Find the following nodes in the palette on the left side of the Node-RED, drag them to your workspace, name them and connect as shown.

  • DALI2 Devs Common x2

  • Daylight Harvesting

  • vertex action x4

  • vertex cluster

  1. We have two DALI2 Devs Common nodes, one for the On/Off button function and the second node for the multisensor. In the On/Off Button node in field Device we select our button [3]. At sensor Devs Common Node at the same field select sensor device [4].

 

 

  1. Edit the two vertex action nodes.
    In the 100 vertex action node uncheck the default priority checkbox [5] and set the priority to 255 [6] in order to enable daylight harvesting function. Daylight harvesting will then start to work after turning on the lighting from the ON button. In the 0 vertex action node leave the default priority.
    In both nodes choose the Mode as single button, choose Action as set brightness and select a group you want to work on. Set the brightness level you need [7].

 

 

  1. Enter the multisensor DALI2Devs Common node and find the correct serial number [8]. In this DALI-2 multisensor node, we have 2 instances The first instance is responsible for presence/movement detection and the second one is a light sensor instance.

 

  • Set the t1 and t2 times [9] in the motion/presence sensor section, make sure to uncheck the disabled checkbox [10] to enable the sensor and check if the correct event filters are set [11].

  • Check the Illuminance level checkbox [12] in the Light sensor section.

4. In VA: Motion sensor node select the same group as in the VA: 100 and VA: 0 nodes. [13]

 

5. Daylight Harvesting node configuration: Daylight Harvesting.

6. Configure the VA: DH node:

Make sure that the Priority is set to “0” [14].

7. Connect all nodes, link VA nodes with vertex cluster and click Deploy.

Do not forget to click Done and Deploy!