Hubitat & ArtNet DMX Interface

Hi... We're a small group of hobby programmers that work on Hubitat integration with various devices.

We've been following the discussion on ArtNet and would just like to chip in: fades and real time functions aren't DMX's strongest points.

The DMX protocol as a subset of the 40 year old MIDI standard is a very simple protocol that allows for a string of values to be sent to a fairly large group of fixtures.

Because DMX comes from MIDI and the requirements of performance lights, it has it's own quirks and idiosyncrasies.

However, it's also a wonderfully simple way of creating complex scenes with a simple value based format where each light can be individual or grouped with others.

We have a lot of experience with DMX and MIDI, since we also dabble with music and showlights.

To understand DMX and ArtNet, you need to envision a large mixing console where each fader represents a function. In DMX, there is no ON/OFF but a string of values ranging from 0 to 255.

Also, it is important to understand that the DMX is a very simple one-way control format and each light fixture can have as many channels as possible without the sender knowing anything. Since it's a format meant for multiple uses such as lights, moving lights, smoke machines, mirror balls, flame throwers etc. the CHANNEL MAPPING and the FUNCTION MAPPING may vary greatly from device to device. There's no feedback.

ON/OFF functions in DMX are usually mapped so value 0 is OFF and 1-255 is ON but there's no standard and some devices will have 0-64 as OFF etc.

Finally, each device has a BASE CHANNEL that is set on the device and all functions relate to that base channel. Typically, for a simple showlight fixture that will be Red (Base channel set at 1) Green (So that would be the following channel 2) Blue (again, Channel 3) followed by other values, such as for example WHITE (Ch. 4) MASTER DIMMING (Ch. 5) STROBE (Ch. 6, Value 0 = OFF and Value 1-255 is SPEED from slow to fast) SPECIAL FUNCTION 1 (Ch. 7) SPECIAL FUNCTION 1 (Ch. 8)

As each light or device has it's own function map, we won't focus on creating specific DEVICE PROFILES for each device.

Instead, In order to make it all work, one just need to send a complete set of values in each universe to activate all functions.

Thanks for you input and work on this!

warm greetings from Bali