NOTE: Do not use this if you have a NXT system. It only works for the older Ambiance Pro. For NXT look into the HACS plugin it is a lot better. Also, this requires knowledge of docker and networking. It’s not a simple integration and only the basics are supported (switching lights). I don’t maintain this anymore as for me it works and I can’t extend it as I do not have the modules.
Inspired by zigbee2mqtt and after discovering the awesome mqtt integration in home assistant I created dobiss2mqtt.
I discovered how the dobiss protocol worked mostly through this thread: TCP commands for Ethernet relay. So thanks to @pergola.fabio for pointing me in the right direction.
It works by sending messages to the CAN Programmer (IP Interface). It basically polls the output state of every output on every module every X milliseconds (configurable) and it also sends a specific message when you request the state of an output to be changed (eg: turn on or off).
It has support for checking if lights/outputs are on/off as well as turning lights/outputs on/off and dimming if they are configured to be on a dimmer. Very basic for now. But it is a nice base to build additional features on. It’s built as a node service that is supposed to run in docker which connects to dobiss as well as mqtt. It uses TypeScript and the amazing RxJS.
dobiss2mqtt needs to know about your mqtt broker, the type of dobiss installation you have as well as the IP + port. It also needs to be told which modules you have and what outputs are on it. Check the example config to get an idea. Keep in mind that only relais modules that switch on/off are fully supported for now.
If configured correctly and you configured mqtt in home assistant, you should see a bunch of new devices appear under mqtt in home assistant. They should act as regular lights in home assistant.
As this project requires very specific hardware and I only have a very basic Ambiance PRO installation I am unable to implement all different versions of Dobiss in dobiss2mqtt with certainty.
For me, everything I need works and it has been running stable for 2 months. So, I am basically releasing this into the wild for you all to play with and extend.
If you’d like to see support for something please bug me in this thread with how the protocol works. Or with a potential PR on github if you don’t mind getting down to the metal. If you’re not a programmer or don’t do TypeScript/JavaScript normally, no worries. I will help.
As far as I can tell there are multiple different products being used by dobiss over the years.
- SX Evolution (supported as others have shared the protocol on this forum)
Dropbox - SX Evolution - IP acties.pdf - Simplify your life - SX Ambiance (same as SX Evolution I think so no difference yet in dobiss2mqtt)
- Ambiance PRO. (supported as I have this)
Dropbox - Dobiss PRO - IP protocol control.pdf - Simplify your life - Evolution PRO (not supported for now. But maybe the same as Ambiance PRO?)
- NXT (see: Dobiss NXT support)
Let’s all work together to get it working well for the different installation types !