Control DALI luminaire from Node-RED by using DALI gateway

DALI is a simple and a specific protocol for lighting control, however if you try to make system for customer’s request, DALI is not enough.

Lighting companies like Philips and Osram have a higher system to compensate DALI, but if you try to link lighting systems with other company’s products, such as IoT devices, since Lighting companies system is not opened, it is difficult to develop system by developers freely.

This time, we test Node-RED as an open tool that works with DALI by using DALI to Ethernet gateway.

I would like to introduce this method.

Connection Diagram of Node-RED and DALI luminaires

Following image is the connection diagram of Node-RED and DALI luminaries.

  • Raspberry PI is a small computer. This works as a server to running Node-RED. It is connected with WiFi router by LAN cable. (IP
  • DALI-Ethernet Gateway is connected with WiFi router by LAN cable and DALI luminaries by DALI line. (IP We use DeeBridge(iLumTech) as a DALI -Ethernet gateway.
  • DALI Power Supply is a 18V DC power supply for activating the DALI network, connecting by DALI line.
  • DALI Luminare is DALI compliant lighting fixtures. A power supply for lighting is required separately, these are connected with the DALI line. These luminaries have a unique address.
  • IPad can display Node-RED editor by connecting to LAN via WiFi and typing IP address (and port number) of RaspberryPI from the browser.
Ethernet to DALI Bridge

DALI-Ethernet gateway

How to send a command to DALI-Ethernet gateway from Node-RED

Setting of TCP output node

Node-RED has a “TCP output node” for output on TCP connection


Put TCP out put node on flow.
Port : 8421
Host : Fill the IP address that you set for your DALI-Ethernet gateway.

Node RED Node RED

How to send DALI command to TCP output node

Following flow is the easiest sample.

Node RED

What we want to do is ” All luminaire light max level.”

DALI command is following

TO what : Broadcast all
Command : Recall Max Level

Now I will show how to make flow of Node-RED

Put “Inject node” on the flow.

Node RED

Double click the “inject node”, and set properties.

Node RED

Select string for Payload

Node RED

We want to send DALI command as “Broadcast all : Recall Max Level”, so you type “#255,5” in Payload form.

Node RED

Connect each node by a wire.

Node RED

You need one more node for “turn off all luminaries”.

Put “Inject node” on the flow.

“Turn off all luminaire” command is “#255,0”. You put this on Payload form.

Node RED

Following is a complete flow.

Node RED

If you push “Broadcast all: Recall Max Level”, all light will turn on, push “Off”, all light will turn off.

What can be done on the Node-RED side

Since DALI is a very simple protocol, there is no function to judge when multiple conditions overlap, it is necessary to have the other system above DALI, like Philips and Osram have.

Node-RED is open source, and DALI is open source, too.

So complex settings and logics for control are made on Node-RED by yourself, you just send DALI commands to the DALI-Ethernet gateway, you can make more optimized plan for your customer freely without restriction from a manufacture.

Possibility of Node-RED with DALI

Lighting is just one of facilities. To build a space, we have other facilities like air conditioning, sounds, videos, securities and etc.

So far, we had faced a trouble that the facilities were different, the manufactures were deferent and we had to ask to develop gateway to the manufactures for expensive cost.

But now, you can use Node-RED as an open source to connect digital information to facilities.

Actually, you can find some library, such as DMX, KNX and Modbus. You can use them and develop system by yourself.

I believe a big change for control facilities have been just started.

中畑 隆拓
スマートライト㈱ 代表取締役。IoTソリューションの開発、スマートホーム&オフィスのコンサルティング、DALI,KNX,EnOceanなどのインテグレーションを行っています。


メールアドレスが公開されることはありません。 が付いている欄は必須項目です