HDL SmartBus

Hello community,

I built my house a couple of years ago and included HDL SmartBus as the smart house system (http://hdlautomation.com). This means that all my lighting and a lot off other stuff is connected to relays and dimmers, and the switches in attached to a low voltage bus. I also have a connection between this and my network. I would really like to connect this to my home-assistant system, but can’t find any integrations.

So, first question is: does anyone know something about this or have started working on it? I found a node.js project on it here - https://github.com/caligo-mentis/smart-bus.

If nobody is working on it - could anyone point me in the right direction to get this started? I do some python programming, but is a bit short on time. Could I use the node.js project somehow?


Hi, I’ve got the same problem. It will be great, if someone could explain me some details about Smart-Bus protocol. I’m also trying to make homebridge plugin based on npm smart-bus for my apple home. If you already tried to control any relays via this node app - please, text me.

Hi Alexey,

So far, I think the most plausible solution is to use the web server from https://github.com/roys/java-hdl-webserver and have normal web calls do the actions. I’ve installed the server, but can’t get it to discover my gateway yet, as I have it on a different subnet. I’m hoping that will be solved, as I have contacted the developer.

Have you got any progress on your plugin?


Hi, Andreas,

thanks for suggestion! I’ve also got some progress in my work. I’ve installed HDL setup tool and WireShark. With help of WireShark I got some UDP commands, and now I can control lights. Everything works pretty well, but I still don’t know, how to get data from sensors. Later I’ll try try java-hdl-webserver.

Kind thanks,

I have just created a simple tool to integrate hdl smart bus protocol to home assistant. At this moment relays only supported (and I think not all of them) Here is simple demo. If you guys still interested let me know.

1 Like

Yes! Very interested

Can you tell me the models of you relays? And what kind of operating system do you use to run Home Assistant on?

I have several SB-DN-R1216 in addition to dimmers and a whole lut of other stuff. I run HA on a raspberry pi (linux).

https://www.dropbox.com/s/9jbh3wgrs9w49la/hdl-arm?dl=0 this is the binary compiled for the arm processor

First of all you should enable MQTT support for the Home Assistant https://home-assistant.io/components/mqtt/
After that you should enable MQTT discovery feature https://home-assistant.io/docs/mqtt/discovery/

then run my binary: ./hdl-arm --ip --mqtt tcp:// --mqttUser USERNAME --mqttPass PASSWORD

ip - ip address of the raspberry pi you are running this binary on
I hope the rest parameters are understandable, you should use your own values

I believe that your raspberry pi and SB-DN-1IP device should be in the same subnetwork. After a couple of seconds(minutes) you will see you hdl relays.


So I finally had time to test this, and I ran into an issue:
hdl-arm connects to the mqtt server:
1510258934: New connection from on port 1883.
1510258934: New client connected from as 4a6d49e3-ade6-4763-a76d-f956b419ac17 (c1, k60).
1510259051: New connection from on port 1883.
1510259051: New client connected from as hdl-mqtt (c1, k30, u’andreas’).

But nothing happens - no relays appears. Anything I could test? Could I run it with debugging on?

Are you running this app in docker container?

Seems like ip of your raspberry pi is What ip does HDL ip bridge have?

add --logLevel DEBUG it should print new discovered devices to console

Thanks! I just switched to Hass.io, and I guess that is docker. The ip of the RP is and the HDL is on …250. I’ll try the debug when I get home from work.

It seems that the problem is with the docker and listening to the local interface. The debug shows:
core-ssh:/addons# ./hdl-arm --ip --mqtt tcp:// --mqttUser andreas --mqttPass HIDDEN --logLevel DEBUG
2017/11/11 11:52:13 [DEBUG]
And then nothing more happens.

Anything I could test, or do I need to test it with another RP (without Hass.io).

Sorry I missed your post. This app works in docker container on my server, just add --network=host to container parameters

Hi minchik,

I’ve got this working now by using another RP - Thanks! It reports the status of some of my equipment, but does not seem to be able to turn things off or on. Is this to be expected, or am I missing something? In my mqtt log, I can see that HA sends the right commands (e.g. “homeassistant/switch/hdl_1_32_1/set” to 100) but the logs of hdl-arm shows nothing.

Also, can we get the unsupported equipment to work? I have some relays, 8in1 (the 12in1 reports temperature nor) and temperature sensors that I would love to get to work with this.

Thanks again!



You should be able to turn on/off switches that appear in home assistant. Are you using wifi on the computer where my app runs? What is the model of the switches you can’t control?
I will add support for new devices in future, just a little bit busy now.

Right now I’m running it on wifi, but I can try to switch it over to LAN tonight. The switch is a SB-DN-R1216.
I would be happy to contribute in any way on getting the unsupported devices supported - supplying logs, developing, documenting or even putting some money on the table.
These are the ones I would like to see happen:
SB-DN-DT0601 (dimmer - 6 channels)
SB-CMS-8-in-1 (temperature and movement would be good)
SB-MTS04-2 (4 temperatures)
SB-DLD (Would be great to be able to get the temperature readings from these to)

Let me know if you could control your device when connected over LAN

Yes - that worked! Nice and quick too!

BTW: Any tips on how to get it to start automatically? Placing the command in rc.local does not seem to work.