Using this flow you will be able to adjust the DALI luminaires luminaire's brightness in the E2D system from the KNX level. The program described in this article is associated with dimming up/down using KNX buttons.
KNX messages structure
We receive the following information from the KNX system:
{"decr_incr":1,"data":1} - start ‘up’
{"decr_incr":0,"data":1} - start ‘down’
{"decr_incr":0,"data":0} -stop dimming
Installing KNX library for Node-RED
You need to install node-red-contrib-knx-easy library for Node-RED. You will do that in Settings.
Open the Node-RED and go to the Settings tab and select Settings[1].
...
Go to the Palette [2]tab. Here you can see all the libraries installed in the current Node-RED version.
...
Select the Install tab [3]. Type in node-red-contrib-knx-easy [4] in the search bar and click the Install button [5] for the needed library.
...
43. You will notice the recieve a prompt message. You can read Read the node documentation and select Install [6] to confirm your action.
...
Info |
---|
KNX messages structureWe can receive the following information from the KNX system: |
Step-by-step instructions
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Import the ready made flow using the instructions here: Importing a Node-RED flow or follow the instructions below. |
Code Block | ||
---|---|---|
| ||
[{"id":"71227ab4.ab1284","type":"function","z":"fd4e3895.5784f8","name":"funcion dimming KNX to E2D","func":"\nif(msg.payload.decr_incr==1 & msg.payload.data==1)\n{\n msg.payload= { \"HOLDUP\" : 1 };\n return msg;\n}\nelse if(msg.payload.decr_incr==0 & msg.payload.data==0)\n{\n msg.payload= { \"HOLDUP\" : 2 };\n return msg;\n}\nelse if(msg.payload.decr_incr==0 & msg.payload.data==1)\n{\n msg.payload= { \"HOLDDOWN\" : 1 };\n return msg;\n}\nelse if(msg.payload.decr_incr==0 & msg.payload.data==0)\n{\n msg.payload= { \"HOLDDOWN\" : 2 };\n return msg;\n}\n","outputs":1,"noerr":0,"x":630,"y":540,"wires":[["a0a22a2e.69b948"]]},{"id":"799f6b8b.d8bf4c","type":"knxEasy-in","z":"fd4e3895.5784f8","server":"dfe0bfd2.ff9b","topic":"0/0/8","dpt":"3.007","initialread":false,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"name":"Dimming 0/0/8","x":260,"y":540,"wires":[["71227ab4.ab1284"]]},{"id":"a0a22a2e.69b948","type":"vertex action","z":"fd4e3895.5784f8","name":"Dimming","typeButton":"dimm","bPayload":{"DON":{"action":"noreact","group":"29842950807acaf4bf4d5eb07a7b4d72","param":null,"priority":"254"},"HOLDUP":{"action":"upaction","group":"29842950807acaf4bf4d5eb07a7b4d72","param":null,"priority":"254"},"HOLDDOWN":{"action":"downaction","group":"29842950807acaf4bf4d5eb07a7b4d72","param":null,"priority":"254"},"DOFF":{"action":"noreact","group":"29842950807acaf4bf4d5eb07a7b4d72","param":null,"priority":"254"}},"bState":false,"defaultpriority":true,"x":920,"y":540,"wires":[["62b76853. |
...
8a5288"]]},{"id":"62b76853.8a5288","type":"vertex cluster","z":"fd4e3895.5784f8","userouting":false,"rate":5,"x":1190,"y":540,"wires":[]},{"id":"8ae7ffd4.b73d98","type":"comment","z":"fd4e3895.5784f8","name":"Set correct IP of the KNX gateway!","info":"","x":320,"y":440,"wires":[]},{"id":"f9bd13ea.1bc25","type":"comment","z":"fd4e3895.5784f8","name":"Confirm the group address","info":"","x":300,"y":480,"wires":[]},{"id":"dfe0bfd2.ff9b","type":"knxEasy-config","host":"10.0.6.100","port":"3671"}] |
1. After importing the flow go to the first node - knxEasy-in. Set the gateway, group address and Datapoint . Provide the the KNX IP gateway (like router IP) and port of the gateway (the one in the flow is an example) [7]. Check if the group address [8] given in the knxEasy-in node are the same as the one you set in ETS software. Datapoint [9] should be set to 3.007 in both .
...
The Vertex node is set, so you do not need to make any changes.
...
Do not forget to click Done and Deploy!