Supergiovane / node-red-contrib-knx-ultimate

Control your KNX intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control and ETS group address importer.
https://youtu.be/egRbR_KwP9I
MIT License
147 stars 34 forks source link
eib hue iot knx konnex node-red nodered

Logo


NPM version NPM downloads per month NPM downloads total MIT License JavaScript Style Guide Youtube

Sample Node


Authorized KNX logo by KNX Association*


You can use it immediately!


msg.payload = true // Turn light on
msg.payload = {red:255, green:200, blue:30} // Put some colors in our life


[!TIP] I'm putting many effort, money and free time to this node, so please consider MAKING A LITTLE DONATION if you're using KNX-Ultimate. Thanks!


YOUTUBE CHANNEL


Please subscribe to the Youtube channel and watch the node in action.



NODE'S LIST


CHANGELOG

SUPPORTED TECHNOLOGIES

Technology Supported
KNX Tunnelling
KNX Routing
Philips Hue v2
KNX Secure Tunnelling
KNX Secure Routing
KNX 3rd PARTY IOT API client
Matter


DOCUMENTATION

Highlights

If you're here, you probably already have tried other knx nodes from npm. I hope you enjoy this one, because i've put big effort to do what i really needed, a copy/paste friendly node, with many functions and the possibility to use the ETS csv exported Group Addresses.

Stand alone or with ETS exported file You can set you own group address, datapoint and device name, or you can import the ETS Group Address list and have datapoint and device name auto populated while typing in the group address.
Filling helpers If you import your ETS CSV or ESF file, just begin typing the group address or the device name in the Group Address textbox and a list of possible matches will appear. Just select an item in the list it and have datapoint and device name auto populated. You can then accept the auto populated fields or change it.
Automatic encoding/deconding of KNX datagrams Just pass a normal payload to the node (true, false, a string or any nymber) and just receive a normal payload (true, false, a string or any nymber) to use in your flow.
As single device, as Universal node. The node can act as a single device (for example having Group Address 0/0/1), or can be used as universal node, catching all messages coming from KNX Bus (in this case the node will output a comprehensive msg to the flow, containing group address, device name, automatic decoded payload and other useful infos). The node can act as universal KNX sender as well (you can pass a message to the node, containing the destination group address, the datapont type and the payload).
Contextual help for formatting input messages There is samples. There is huge documentation about settings and properties. If this is not enough for you, whenever you change the datapoint type, a textblock with a sample msg input (expecially, for tricky datapoints, like RGBW, 10Bytes, Relative Dimming, 3 Bytes setpoint etc...) appears. Just copy/paste it in a function and you're done.
Huge amount of Datapoints are supported It supports a huge amount of datapoints. If you need more, just open a GitHub issue.
Self protection The Node protects you, from mistakes you can do. [Node Protections](https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki/-Protections)
Built in RBE input/output filter You can select to activate or deactivate it. If active, the node reacts only if payload from KNX Bus or from input msg is changed.
RAW message directly to the BUS You can send RAW buffers directly to the bus.

WORKING WITH THE ETS CSV FILE OR WITH ESF FILE

Instead of create a knx-ultimate node for each Group Address to control, you can import your ETS csv or esf group addresses file.
Thanks to that, the knx-ultimate node where you selected Universal mode (listen to all Group Addresses), becomes an universal input/output node, aware of all Datapoints, Group Addresses and Device's name (ex: Living Room Lamp). Just send the payload to the knx-ultimate node, and it'll encode it with the right datapoint and send it to the bus. Likewise, when the knx-ultimate node receives a telegram from the bus, it outputs a right decoded payload using the datapoint specified in the ETS file.

Click here for a sample ETS csv file to paste into the ETS field of your config node. > Copy/Paste this into your configuration node. ```javascript "Group name" "Address" "Central" "Unfiltered" "Description" "DatapointType" "Security" "Attuatori luci" "0/-/-" "" "" "Attuatori luci" "" "Auto" "Luci primo piano" "0/0/-" "" "" "Luci primo piano" "" "Auto" "Camera da letto luce" "0/0/1" "" "" "Camera da letto luce" "DPST-1-8" "Auto" "Loggia camera da letto" "0/0/2" "" "" "Loggia camera da letto" "DPST-1-1" "Auto" "Camera armadi luce" "0/0/3" "" "" "Camera armadi luce" "DPST-1-1" "Auto" "Bagno grande luce" "0/0/4" "" "" "Bagno grande luce" "DPST-1-1" "Auto" "Loggia bagno grande" "0/0/5" "" "" "Loggia bagno grande" "DPST-1-1" "Auto" "Bagno grande specchio (switch)" "0/0/6" "" "" "Bagno grande specchio switch" "DPST-1-1" "Auto" "Lavanderia luce" "0/0/7" "" "" "Lavanderia luce" "DPST-1-1" "Auto" "Lavanderia specchio (switch)" "0/0/8" "" "" "Lavanderia specchio switch" "DPST-1-1" "Auto" "Studio luce" "0/0/9" "" "" "Studio luce" "DPST-1-1" "Auto" "Soggiorno luce (switch)" "0/0/10" "" "" "Soggiorno luce switch" "DPST-1-1" "Auto" "Soggiorno aplique (switch)" "0/0/11" "" "" "Soggiorno aplique switch" "DPST-1-1" "Auto" "Loggia soggiorno cucina" "0/0/12" "" "" "Loggia soggiorno-cucina" "DPST-1-1" "Auto" "Cucina luce" "0/0/13" "" "" "Cucina luce" "DPT-1" "Auto" "Cucina luce pensili" "0/0/14" "" "" "Cucina luce pensili" "DPT-1" "Auto" "Corridoio luce" "0/0/15" "" "" "Corridoio luce" "DPST-1-1" "Auto" "Scala LED" "0/0/16" "" "" "Scala LED" "DPST-1-1" "Auto" "Soggiorno aplique brighness value" "0/0/17" "" "" "" "DPST-5-1" "Auto" "Bagno grande specchio (dim)" "0/0/18" "" "" "Bagno grande specchio dim" "DPST-3-7" "Auto" "Soggiorno luce brighness value" "0/0/19" "" "" "" "DPST-5-1" "Auto" "Lavanderia specchio (dim)" "0/0/20" "" "" "Lavanderia specchio dim" "DPST-3-7" "Auto" "Scala LED cambiacolori RGB" "0/0/21" "" "" "" "DPST-1-1" "Auto" "Bagno grande specchio brightness value" "0/0/22" "" "" "" "DPST-5-1" "Auto" "Soggiorno luce (dim)" "0/0/23" "" "" "Soggiorno luce dim" "DPST-3-7" "Auto" ```
Click here for a sample ETS esf file to paste into the ETS field of your config node. > Copy/Paste this into your configuration node. ```javascript My beautiful home Attuatori luci.Luci primo piano.0/0/1 Luce camera da letto EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/2 Luce loggia camera da letto EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/3 Luce camera armadi EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/4 Luce bagno grande EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/5 Luce loggia bagno grande EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/6 Luce specchio bagno grande (switch) EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/7 Luce lavanderia EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/8 Luce specchio lavanderia (switch) EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/9 Luce studio EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/10 Plafoniera soggiorno (switch) EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/11 Applique soggiorno (switch) EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/12 Luce loggia soggiorno cucina EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/13 Luce cucina EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/14 Pensili cucina EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/15 Luce corridoio EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/16 LED scala EIS 1 'Switching' (1 Bit) Low Attuatori luci.Luci primo piano.0/0/18 Luce specchio bagno grande(dim) EIS 2 'Dimming - control' (4 Bit) Low Attuatori luci.Luci primo piano.0/0/20 Luce specchio lavanderia (dim) EIS 2 'Dimming - control' (4 Bit) Low Attuatori luci.Luci primo piano.0/0/23 Plafoniera soggiorno (dim) EIS 2 'Dimming - control' (4 Bit) Low Attuatori luci.Luci primo piano.0/0/24 Applique soggiorno (dim) EIS 2 'Dimming - control' (4 Bit) Low Attuatori luci.Luci primo piano.0/0/17 Applique soggiorno brighness value Uncertain (1 Byte) Low Attuatori luci.Luci primo piano.0/0/19 Plafoniera soggiorno brighness value Uncertain (1 Byte) Low Attuatori luci.Luci primo piano.0/0/21 LED cambiacolori RGB scala EIS 1 'Switching' (1 Bit) Low ```



COMMERCIAL COMPANIES USING KNX-ULTIMATE

List of commercial companies, which have given us permission to be mentioned on this page. Want to be listed here? Email to maxsupergiovane@icloud.com


[![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/tervis.png)](https://www.tervis.it) [![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/knxsardegna.png)](http://www.knxsardegna.com) [![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/agata.png)](https://www.agatastore.it) [![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/proKNX.png)](https://proknx.com) [![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/altis.png)](https://altis.swiss) [![](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/c/cannx.png)](https://can-nx.com/kloudnx-routeur-knx-iot-connecte-a-un-cloud-securise/)



FRIENDLY COMMUNITIES AROUND THE WORLD

Italy

Germany

China



ARE YOU A NODEJS DEV? DO YOU KNOW THERE IS AN API FOR NODEJS?

Many users requested me to "extract" the baseline KNX API and make it accessible via npmjs. Here is it.
The API is named KNXUltimate. In the README page is well documented and there are also samples for unsecure and secure KNX connections.




A big THANK YOU to @svenflender for the logo and icon graphics!
We support GitBook

Logo


Authorized KNX logo by KNX Association
*The author Massimo Saccani has been authorized to use the KNX logo.
Forks of the knx-ultimate node are not implicitly allowed to use the KNX logo.

Donate via PayPal