I would like to introduce my method of controlling DMX hardware to the community. Its not exactly straight forward, but the end results could be used for a Night club, or just for stair lighting. Up to you really.
I know there is a DMX binding, I have used it for a few years, in OH1.8 it was reasonably good, I could dim and chase to an extent all via artnet protocol to a arduino with artnet to DMX built in. As soon as I transistioned to OH2 and OH2.2 I knew I was in trouble. The biggest issue I had was the response time of an action, a switch would take 5 seconds to activate a dimmer, looking at the network traffic OH was the problem. All my other relay based lighting using MQTT was instantaneous! Chases simply didnt work and were too complex to try and setup. Even fades were just too hard to set up.
I started searching and for a proper DMX controller software and quickly came across QLC+, running this on a Windows machine gave me responsiveness, chases, scenes, sound to light and more. The house lights were rockin, but not in control of the automation of passive infrared or timers etc.
QLC+ (short form of the software) can use websockets for remote control, but here lies the problem in that OH no longer supports websockets. Dead end for me.
I tried another approach using a piece of Windows only software MQTT DMX Controller which is simple and performed most of the tasks I required using MQTT as the transport layer from OH. But its Windows and I do not run Windows on my HA system - its a Pi3 so all the time I was testing it the Windows machine was always on gobbling power. However, it did push me to go back to QLC+ and try again, especially when a none coder friend showed me his node-red skills with MQTT - and inadvertantly clicked on the websockets I/O control. I now could see a possible solution.
I will endeavor to break the whole system down in a future post, but for now I will just explain the setup. I wont include the hardware details in full , thats later, basically I run the Pi3 as OH, with MQTT and a few other services on board. I have a upcycled Windows laptop running Ubuntu ( it is my video library with Plex and TVHeadend) , this has running node-red, and QLC+. Both are stock installs, no real dramas installing either. In my roof space I have a ESP8266 running the Artnet to DMX protocol software, and it gives out DMX signals, this goes to my 24 and 9 channel dimmers
The software configuration is the simply complex part, OH talks via MQTT to the node-red flow which keeps a websocket open to the QLC. QLC talks via ArtNET to the ESP8266 via WiFi.
The solution is bit dependent on all hardware and protocols listening and talking to each other, but in two weeks it hasn’t failed. (BIG bonus). The next stage will be to get the node-red and QLC onto a spare Pi2, maybe even a Python script to remove node-red.
Next time I will include some of my config files for members to get theirs working.
Cheerio for now.