Skip to content

Supergiovane/node-red-contrib-knx-ultimate

Logo


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

Sample Node


Authorized KNX logo by the KNX Association*




Many thanks to Agata Store - Professional store and Certified KNX Partner for providing me with KNX Secure equipment to test with.



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 invest a lot of effort, money, and free time into this node, so please consider making a small donation if you're using KNX-Ultimate. Thank you!


YOUTUBE CHANNEL


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



NODE LIST

Core KNX nodes

  • KNX Ultimate - docs. The primary node for interacting with your KNX installation. Send and receive telegrams, create virtual group addresses, and bridge non‑KNX devices into your bus with an intuitive, highly configurable interface.
  • KNX Config - Shared configuration for gateways, security settings, and bus parameters used by every runtime node.
  • Scene Controller - docs. Recall, store, and manage scenes exactly as a hardware KNX scene keypad would, including optional learn buttons from the flow.
  • Auto Responder - Automatically answers KNX read requests (ideal for virtual devices or when you need deterministic status values).
  • Global Context - docs. Mirrors selected group addresses into Node-RED’s global context for easy use inside function nodes and custom logic.
  • Viewer - docs. Dashboard widget that shows live KNX group address activity and values.

Automation, safety, and diagnostics

  • Watchdog - docs. Monitors bus availability, triggers notifications (e-mail, Telegram, Alexa, Siri, Sonos, …), and can automatically fail over to a backup KNX/IP router or reconnect on demand.
  • Logger - docs. Captures telegrams into an ETS‑compatible XML log for in-depth diagnostics (note: KNX/IP interfaces do not report KNX-Ultimate telegrams).
  • Alerter - docs. Raises visual or audio alerts (for instance with node-red-contrib-tts-ultimate) when monitored addresses signal an alarm condition.
  • Load Control - docs. Supervises energy usage (oven, washing machine, EV charger…) and sheds loads before the main breaker trips.
  • Staircase - Automates staircase lighting timers with configurable fade and reminder options.
  • Garage - Manages garage door or gate logic, including impulse control, status feedback, and safety interlocks.

IoT integrations

  • IoT Bridge - Bridges MQTT/REST devices with KNX, handling payload translations so non‑KNX equipment becomes bus-aware.
  • Home Assistant Translator - docs. Converts Home Assistant service payloads to KNX telegrams using a built-in, user-editable mapping table.

Philips Hue nodeset - guide
Use the dedicated Hue config node plus the following device nodes to mirror Hue state into KNX and vice versa:

  • Hue Light - Bi-directional light control with day/night scenes, dimming curves, and tunable white.
  • Hue Button - Listens to Hue Tap Dial/Dimmer button presses and emits KNX-friendly events.
  • Hue Motion, Hue Camera Motion - Motion detection with daylight filters and occupancy timers.
  • Hue Tap Dial - Exposes dial rotation and button presses for scene selection or dimming.
  • Hue Light Sensor, Hue Temperature Sensor, Hue Humidity Sensor - Publishes environmental readings to KNX.
  • Hue Scene - Activates Hue scenes and optionally synchronises the status back to KNX.
  • Hue Battery - Reports battery percentage for Zigbee accessories.
  • Hue Zigbee Connectivity - Monitors Zigbee connectivity status and signal quality.
  • Hue Plug - Controls smart plugs/outlets through KNX telegrams.
  • Hue Contact Sensor - Mirrors door/window contact states.
  • Hue Device Software Update - Tracks and exposes firmware update availability for Hue devices.

Additional utility nodes

  • Hue Config - Stores bridge credentials and polling intervals for the Hue nodes.
  • KNX/IP Router & Interface config - Define multiple secure or plain gateways that any runtime node can reuse.

Each node links to detailed wiki documentation with configuration hints, sample payloads, and best practices.


CHANGELOG

SUPPORTED TECHNOLOGIES

Technology Supported
KNX Tunnelling
KNX Routing
KNX IP Secure/Data secure
Philips Hue v2

DOCUMENTATION

Highlights

If you're here, you have probably already tried other KNX nodes from npm. I hope you enjoy this one, because I've put a lot of effort into creating the copy/paste friendly node I always wanted, with many features and support for ETS CSV exported group addresses.

Standalone or ETS export friendly

You can set your own group address, datapoint, and device name, or import the ETS group address list so the datapoint and device name are auto-populated while you type the group address.

Filling helpers

If you import your ETS CSV or ESF file, begin typing the group address or device name in the Group Address textbox and a list of matches will appear. Select an item from the list to auto-populate the datapoint and device name—you can keep the suggested values or change them.

Automatic encoding/decoding of KNX datagrams

Pass a normal payload to the node (true, false, string, number, object) and you receive a decoded payload of the same shape to use in your flow—no manual buffer handling required.

Single device or universal listener

Use the node as a single device (for example, group address 0/0/1) or switch it to “universal” mode to catch all KNX bus traffic. In universal mode the node outputs a comprehensive message containing the group address, device name, decoded payload, and additional metadata. It can also send universal KNX telegrams when you pass a message containing the destination group address, datapoint type, and payload.

Contextual help for formatting input messages

The wiki provides extensive documentation and examples, and the editor helps too: whenever you change the datapoint type, a text block with a sample input message—especially for tricky datapoints like RGBW, 10-byte floats, relative dimming, or 3-byte setpoints—appears. Copy/paste it into your function and adjust as needed.

Huge amount of Datapoints are supported

A huge range of datapoints is supported. If you need one that is missing, open a GitHub issue and we will work on it.

Self protection

The node protects you from common mistakes. See the Node Protections page for details.

Built in RBE input/output filter

You can enable or disable the built-in RBE (report-by-exception) filter. When enabled, messages are forwarded only when the payload changes—both for KNX bus telegrams and flow inputs.

RAW message directly to the BUS

Send raw buffers directly to the bus whenever you need low-level control.

WORKING WITH ETS CSV OR ESF FILES

Instead of creating a knx-ultimate node for every group address, import your ETS CSV or ESF group address file.
When a knx-ultimate node runs in Universal mode (listen to all Group Addresses) it becomes a universal input/output node, aware of all datapoints, group addresses, and device names (for example, “Living Room Lamp”). Send a payload to the node and it encodes it with the correct datapoint before transmitting it to the bus. Likewise, when the node receives a telegram from the bus, it outputs a 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.

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

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

The following commercial companies kindly agreed to be mentioned on this page.
Do you want to be listed as well? Send an email to [email protected].




FRIENDLY COMMUNITIES AROUND THE WORLD

Italy

Germany

China

  • QQ group: 837579219 (加群需要备注 "来自github"


ARE YOU A NODE.JS DEVELOPER?

Many users asked me to “extract” the underlying KNX API and publish it on npm. Here it is!
The API is called KNXUltimate. The README documents it thoroughly and includes examples for both secure and non-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

About

Control your KNX intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control and ETS group address importer.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published