Action priorities

Action priorities define wether or not an action will be trigered in the system. The priority of the triggered action is compared to the priority of the previous action. If it is lower then the vertex controller can’t do the desired action. If the priority of the current action is greater or equal to the previous one then this action can be done.

Each action triggered within the E2D system (button push, detecting the presence) has its own individual default priority.

The priorities have values from 0 to 255, but values from 245 to 255 have a particular functions. After performing these actions, the priority is to reset according to this formula:

where:

PN - the priority saved after the action had been performed
PP - the previous priority of the action
PA - the current priority of the action

 

The table below shows that for prtiority numbers from 0 to 244 the priority level will stay the same after the action is performed. This means that for logic purposes the number 245 to 255 are most important and after they are performed their prority changes to a much lower one as defined in the table.

Priority of action before being performed

Priority of action after being performed

0
0
1
1
2
2
3
3
4
4
…
…
242
242
243
243
244
244
245
10
246
9
247
8
248
7
…
…
253
2
254
1
255
0

In the E2D system, we have a set of default priorities for typical actions. They are listed in the table below:

Event

Default priority

Event

Default priority

Single button
254
Toggle button ON/OFF
254
Triple button 1/2/3
254
Direct value
254
Dim button ON/HOLD UP/HOLD DOWN/OFF
254
Input Unit short press/long press
254
CIRCADIAN
0
Motion sensor Presence
255
Motion senor Transition
0
Motion sensor no presence
254
Daylight harvesting
0

Example 1

The action coming from the push-button has a priority equal to 2. Previously to push-button, there was another action that had a priority equal also to 2. The priorities are equal, so push-button action can be done.

[{"id":"82f23d3.6d714c","type":"vertex action","z":"48c64e7.cdb30b","name":"","typeButton":"toggle","bPayload":{"ON":{"action":"maxlevel","group":"de782b48a32127ca0261e36a119e8ebf","param":null,"priority":"2"},"OFF":{"action":"minlevel","group":"de782b48a32127ca0261e36a119e8ebf","param":null,"priority":"2"}},"bState":false,"defaultpriority":false,"x":490,"y":100,"wires":[["3f884023.a9f3e"]]}]

if, for example, the priority value is changed to 1 in one of the actions, it will not be possible to change the status of our luminaire with lower priority value.

Example 2

In this example priority set of upper action is 254. It means that priority saved after the action has been performed is 1. Lower action have priority of 255 so the saved priority is 0. Lower action cannot be performed after upper.

[{"id":"48c64e7.cdb30b","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"3f884023.a9f3e","type":"vertex cluster","z":"48c64e7.cdb30b","rate":90,"x":690,"y":180,"wires":[]},{"id":"c1070445.623b28","type":"dali2devs","z":"48c64e7.cdb30b","name":"","uid":"00E19278B125080C63","dali2dev":"0","devStatus":2,"instanceType":1,"dali2t1":90,"dali2t2":"","instanceData":{"InstanceStatusFlags":2,"InstanceType":1,"Resolution":1,"InstanceError":false,"InstanceActive":true,"InstanceGroup0":255,"InstanceGroup1":255,"InstanceGroup2":255,"EventScheme":2,"EventPriority":3,"EventFilter":84,"EventFilterSize":1,"FeatureType":[],"InputValue":0,"InstanceDetails":{"ShortTimer":25,"ShortTimerMin":10,"DoubleTimer":0,"DoubleTimerMin":10,"RepeatTimer":8,"StuckTimer":20},"DataModelRecipe":["Dali2Instance301_config"],"INSTNR":0},"mode":"normal","x":270,"y":100,"wires":[["82f23d3.6d714c"]]},{"id":"82f23d3.6d714c","type":"vertex action","z":"48c64e7.cdb30b","name":"","typeButton":"toggle","bPayload":{"ON":{"action":"maxlevel","group":"de782b48a32127ca0261e36a119e8ebf","param":null,"priority":"254"},"OFF":{"action":"minlevel","group":"de782b48a32127ca0261e36a119e8ebf","param":null,"priority":"254"}},"bState":false,"defaultpriority":false,"x":490,"y":100,"wires":[["3f884023.a9f3e"]]},{"id":"caee1607.c1bbe8","type":"vertex action","z":"48c64e7.cdb30b","name":"","typeButton":"motionsensor","bPayload":{"PRESENCE":{"action":"setbrightness","group":"de782b48a32127ca0261e36a119e8ebf","param":"50","priority":"255"},"TRANSITION":{"action":"noreact","group":"de782b48a32127ca0261e36a119e8ebf","param":null,"priority":"0"},"NOPRESENCE":{"action":"setbrightness","group":"de782b48a32127ca0261e36a119e8ebf","param":"0","priority":"254"}},"bState":false,"defaultpriority":false,"x":490,"y":220,"wires":[["3f884023.a9f3e"]]},{"id":"81f67286.ec559","type":"dali2devs","z":"48c64e7.cdb30b","name":"SENSOR","uid":"003A7CD9CDF782494F","dali2dev":"0","devStatus":2,"instanceType":3,"dali2t1":"10","dali2t2":"","instanceData":{"InstanceStatusFlags":2,"InstanceType":3,"Resolution":2,"InstanceError":false,"InstanceActive":true,"InstanceGroup0":255,"InstanceGroup1":255,"InstanceGroup2":255,"EventScheme":2,"EventPriority":4,"EventFilter":27,"EventFilterSize":3,"FeatureType":[],"InputValue":255,"InstanceDetails":{"DeadtimeTimer":2,"HoldTimer":1,"ReportTimer":20,"Catching":0},"DataModelRecipe":["Dali2Instance303_config"],"INSTNR":0},"mode":"normal","x":260,"y":220,"wires":[["caee1607.c1bbe8"]]},{"id":"204da3d1.fb104c","type":"comment","z":"48c64e7.cdb30b","name":"Priority 254","info":"","x":490,"y":60,"wires":[]},{"id":"29fc36ce.5890ca","type":"comment","z":"48c64e7.cdb30b","name":"Priority 255 at PRESENCE","info":"","x":470,"y":180,"wires":[]}]

 

Example 3 (Daylight Harvesting)

If the motion sensor detects presence the presence node which priority is equal 255 can be turned on. After that this priority changes to 0. Daylight harvesting by default have priority 0 so daylight harvesting is now active.

[{"id":"a33e462751ce33df","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"46ec5aaf5504be19","type":"vertex action","z":"a33e462751ce33df","name":"","typeButton":"directv","bPayload":{"action":"setbrightnesslog","group":null,"param":0,"priority":"0"},"bState":"","defaultpriority":false,"x":750,"y":400,"wires":[["488e33fcbfd5bc2a"]]},{"id":"488e33fcbfd5bc2a","type":"vertex cluster","z":"a33e462751ce33df","rate":90,"x":890,"y":280,"wires":[]},{"id":"714ed327d54fb93e","type":"vertex daylightHarvesting","z":"a33e462751ce33df","name":"Daylight Harvesting","primarygroup":"fb3565668659d2c83c26a6e2fbad2a7c","target":"500","tolerance":"20","P":0.25,"I":0.03,"D":0,"min":-25,"max":25,"x":510,"y":400,"wires":[["46ec5aaf5504be19"]]},{"id":"3c3f21a4ee8cd654","type":"DALI2 Devs Common","z":"a33e462751ce33df","name":"Motion and light sensor","outputs":2,"uid":"008C699BDDC69077D7","devStatus":2,"devSettings":[{"instanceType":3,"isDisabled":false,"dali2t1":"40","dali2t2":"5","evenFilters":15},{"instanceType":4,"isDisabled":false,"evenFilters":1}],"savedSettings":[{"instanceType":3,"isDisabled":false,"dali2t1":"40","dali2t2":"5","evenFilters":7},{"instanceType":4,"isDisabled":false,"evenFilters":1}],"x":210,"y":340,"wires":[["32faf284606bb577"],["714ed327d54fb93e"]]},{"id":"32faf284606bb577","type":"vertex action","z":"a33e462751ce33df","name":"","typeButton":"motionsensor","bPayload":{"PRESENCE":{"action":"minlevel","group":null,"param":null,"priority":"255"},"TRANSITION":{"action":"noreact","group":null,"param":null,"priority":"0"},"NOPRESENCE":{"action":"setbrightness","group":null,"param":"0","priority":"254"}},"bState":"","defaultpriority":true,"x":490,"y":280,"wires":[["488e33fcbfd5bc2a"]]},{"id":"9f56e18b6c0c6b87","type":"comment","z":"a33e462751ce33df","name":"Select and configure the multi sensor","info":"## 1. In DALI2 Devs Common node, in the Serial Number field, select the multisensor.\n\n## 2. Clear 2nd checkbox to be able to program Light Sensor\n\n## 3. ","x":200,"y":300,"wires":[]},{"id":"63a0735d23c3a08d","type":"comment","z":"a33e462751ce33df","name":"Set luxes and tolerance (Do the quick calibration firstt!)","info":"","x":440,"y":440,"wires":[]},{"id":"be97bb8e83969abf","type":"comment","z":"a33e462751ce33df","name":"Mode: Direct Value ","info":"","x":750,"y":360,"wires":[]},{"id":"3a6d8557cce911f9","type":"comment","z":"a33e462751ce33df","name":"Action: Set brightness (scale logarithmic).","info":"","x":820,"y":440,"wires":[]},{"id":"f084dd42f8a9f910","type":"comment","z":"a33e462751ce33df","name":"Mode: Motion sensor","info":"","x":480,"y":240,"wires":[]}]

For more information about daylight harvesting please read an article below.

Daylight Harvesting - constant light control