DMX Binding - DMX in as well as DMX out

I’m about 95% ready to implement an openHAB server for my home but I have an issue holding me up.

The largest portion of the server’s work will be controlling accent lighting. I plan to use DMX512 because I prefer a hardwired solution and I’m familiar with it from time spent working in theater. My major concern is command entry being limited to some form of windowing device: pc, Mac, tablet, phone, raspberry-pi, etc.

Many DMX control devices intended for wall mounting and controlling 1-4 dimmers are coming out of China. They are reasonably attractive and meet my needs for local control but output DMX for connection directly to a dimmer, precluding control by an automation system. There are devices to mix signals from multiple controllers and output the last changed level to the dimmer but they are expensive, especially when signals from more than two controllers need to be merged.

I’m wondering if the DMX binding for openHAB can accept input from another DMX controller, make a decision between the other controller and its own setting and output a composite DMX signal to a dimmer string? (I realize I’d need a separate DMX/RS-485 port for each wall mount controller in addition to an output port feeding the dimmer string.)

P.S. I realized moments after submitting the post, I failed to address a second issue beyond multiple port requirements. Since the wall controller and openHAB could potentially have very diverse settings, one full on and the other off, the controller whose signal isn’t being fed to the dimmer(s) needs to be changed to the current setting before it can take control. This prevents sudden wide level swings.

Neither the “old” OH1 binding nor the new ESH DMX binding support DMX input. Since this a very special application, I don’t thing it’s worth implementing something like that. I would recommend to take a look at OLA, the Open Lighting Architecture. This should be able to do the merging.

Best Regards,


I’ve looked at OLA, it’s a very capable system but it doesn’t help me with my DSC alarm, Davis weather station, legacy X10, future Chamberlain door openers , Ecojunk thermostat and energy management system communicating by Modbus. I already have a processor board based router, Freeswitch phone and radio/weather logger. I’d like to avoid adding separate automation and lighting processor boards and figuring out how to make them play nice together.

I can’t imagine I’m the only person interested in or using openHAB who has considered integrating standalone DMX controllers. As I traverse the web and speak to people in person about home automation, the biggest complaint I hear is the lack of attractive, affordable fixed wall mount controls, especially for lighting. There is current thread in this forum, “Tiny Android-based TFT wall panel”, discussing that very problem. Nobody wants to find a cell phone or tablet when getting up at 2 AM to let the dog out or make a sandwich. While it may not address a multitude of other automation needs, the 1-4 channel wall mount DMX controllers certainly meet the need for readily accessible lighting control in an attractive inexpensive package.

I really think you should consider adding DMX input to the DMX binding, not just for me but for the many users that would find it useful if available.

Now that I’ve overstepped my newbie status, I’ll shut up! :slight_smile:

Do the DMX controllers you have in mind allow for an overriding control input from another source? (as per your “P.S.” requirement)

Given that you want the wall controller signal input to go “in” to Openhab and then “out” to the actual lighting, you are not constrained to use DMX wall controllers at all.

I’m not sure DMX input is possible without specialised hardware?

1 Like

The Ethernet-over-DMX implementations (ArtNet and sACN) as well as OLA might be extended to accept DMX data. However, since the mentioned wall panels probably output DMX 512-A, you would need hardware that converts this. I’m not aware of “cheap” hardware that can do this. I’m also not aware of DMX receiver hardware with USB ports or something like that.

Here are two links to ebay auctions for the controllers I want to use:

The first has a little more technical information showing the back side connections and the second shows the range of options for the controllers.

Since DMX512 is based upon the bidirectional RS-485 hardware interface and nearly all of the USB-DMX interfaces appear as COM ports to a PC, any RS-485 compatible board will handle the incoming signals from the DMX512 wall mount controllers. There are PCI boards with up to 8 interfaces and PCI –express cards with as many as four interfaces.

The wall controllers strictly output DMX512, they have no RDM or reverse data capability. Therefore they have no way of implementing an override from another device. The DMX binding would have to look at the incoming DMX data from the wall controllers and compare the output levels to the settings provided by openHAB. The software would have to keep track of the last changed setting for a particular dimmer and forward the level from that source. If the other source wants control, its dimmer setting would have to be changed to the current level being sent to the dimmer, plus or minus 2 bits, i.e. if the dimmer is currently set at 160 out of a maximum of 255 by openHAB, the wall controller must be changed to 158-162 before it can assume control of the dimmer. All of this would need to be done in software.

A very important concept to note! The wall controller inputs to the RS-485 interfaces must be limited to four DMX channels starting with channel zero. Trying to extract four 256 bit levels from any of 512 channels on eight inputs running at 250 kbs would create too much software overhead. That also means the DMX binding must be capable of mapping channels from the various RS-485 wall controller input interfaces to the correct DMX output stream dimmers as well as manage control by openHAB or wall controllers…

-rossko57- I covered your hardware issues above. As far as being “not constrained to use DMX wall controllers” that is technically correct but aesthetically I prefer the DMX wall controller to any of the raspberry pi or other wall control lash ups I’ve seen.

-J-N-K- I went back over OLA and it won’t do what I’m proposing. OLA is based upon precedence or absence rather than transferring or taking control. There isn’t a human switching element such as matching the current dimmer level to transfer control. Also ArtNet and sACN support a RDM data channel for transporting feedback information but the physical medium isn’t at issue since the controllers all run twisted pair DMX.

I guess I’m not following how you think that my be achieved, if your chosen wall controllers cannot be changed by external causes?
Or is it a ‘finger’ thing, the user must move the wall dimmer to “synchronize” it with what the lights are actually doing now before being allowed to change real dimmer levels? That sort of thing is certainly possible within OH rules. But those wall controls might look a bit weird displaying out-of-sync with reality?

So far as wall plate hardware goes, I was thinking more of say KNX switches/controllers though I have little idea about if they can accept feedback from some ‘master’ control either.

Certainly there seems to be lots of KNX experience around here in general, how do “they” deal with the same multiple dimming source/control/conflict issue? The techniques should be useful whatever the communication methods.

It’s a finger thing, the glass capacitive screen sensor must sense movement to the current dimmer setting to “capture” control. Beyond matching the current dimmer setting and providing a new setting, the wall mounted DMX control has no other function. There is absolutely no need to have feedback to the wall controls or any signaling outside of the unidirectional DMX stream if there’s a proper software implementation! BTW, the capture sequence only applies to the wall mount DMX controllers. Since openHAB/DMX binding is outputting DMX to the dimmers, its display controls should reflect the current levels. Any change whatsoever on a an openHAB screen immediately transfers control to openHAB and implements the change.

This is a method used on commercial stage dimming systems many years back, among other things for the lighting booth to take control of house light dimmers with controls onstage and at house entrances. The only difference is theater lighting systems had an indicator showing when control had been transferred, not necessary for home automation lighting control. In a home setting, who cares if there is a momentary surge or dip of a few points in light intensity as one determines if control has been transferred?

I agree the controls could look “out of sync” however it can happen without bringing openHAB into the picture. Used strictly as the designer intended, the displayed level on the DMX wall controller could be for any of the four controlled dimmers and may not match the light source one’s eye is focused upon. As far as I’m concerned, that is a non-issue.

I assume you are referring to the Schneider KNX controls. I LOVE Schneider products, between distribution to my house and barns, surge protection and power monitoring I have several $K worth of their products. I’d love to use KNX to control my lighting but a single channel of KNX control costs 4X as much as one of the four channel wall mount DMX controllers. And I can’t buy KNX for fractions of the retail price the way I obtained the rest of my Schneider hardware. Once again, whether or not KNX hardware can accept feedback is a non-issue with properly written software.

Another thing that should be pointed out is shared DMX control wouldn’t be limited to the wall controllers I found on ebay. Within the software overhead limits for breaking out an incoming DMX stream as I already pointed out (and also probably apply to the DMX binding generating a DMX output), one could use any DMX master control device. Someone could connect up an ETC, Strand, Leprecon or other stage light console and have it share control with openHAB. There are also some DMX outputting small house light controllers, sometimes available used, that could be used if one doesn’t care for the Chinese models.


I use DMX via OpenHAB and similar wall controllers to these. The controllers are DMX-A and do not allow for loop circuits; they are designed to be THE controller for a room, with no other interaction.

I interact with OpenHAB in the loosest sense by having OpenHAB control via ArtNet, and then an OpenHAB controlled set of relays that switches my circuit between ArtNet and the local controller circuit. It works well but there’s no communication between the two controllers so they don’t sync - I guess that’s what you’re looking for?

My advice if you want synchronized controllers is either;
a) design your system so that OpenHAB is master controller, and its control overrides other panels
b) do not have DMX panels, but have the panels talk in another language such as MQTT which OpenHAB is bi-directionally compatible with, and then allow OpenHAB to be the only device talking to ArtNet.

Albeit not as simple as you like, its not difficult to achieve - just a bit of thinking outside of the box :wink:

Anyone with this implementation? Would be nice to have also wall controls sincronized with openhab.

Ajheyworth, can you explain better how you are controling DMX lights with DMX-A controllers and Openhab without syncronization? Thinking better, I will not need syncronization, I just need to control the lights from a wall panel and from Openhab.

Did you mean, using relays like in the schematic below? Where a relay controlled by Openhab changes the DMX control from the wall switch controller to the Art-Net controller? I think It will work.