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