Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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 structure

We can 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

Step-by-step instructions

Panel
panelIconId1f7e2
panelIcon:green_circle:
panelIconText🟢
bgColor#E3FCEF

Import the ready made flow using the instructions here: Importing a Node-RED flow or follow the instructions below.

Code Block
languagejson
[{"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"}]

Image Added

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!