DMX lighting

You can set default_rgb to set the default colour as [R,G,B] for an RGB channel (and it will figure out the default brightness from this value)

This custom integration no longer functions as of 0.92 due to the manifest requirements.

Hope we can get this back up and running.

Hi,
I created a file and a subfolder. Unfortunately I donā€™t have a homeassistant instance to check - could you try it out @arretx?

The DMX component works fine for me in the newest version of HA.

@jnimmo Your hass-dmx platform works great. Would it be possible to have a universe higher than 255? I have tried editing the python script to skip the config validation and add the voluptuous validation for the universe, but it has no effect. Is this even possible?

Iā€™m currently planning automation for new house and have been thinking a lot about controlling the lights. Iā€™m currently trying to decide between Zigbee and DMX for running tunable white indirect light led strips.

I was wondering that do the DMX dimmers in general remember the last state after power cycle?

Also what sort of hardware would I need? Artnet dmx bridge, 4 channel controller per two 5m tunable white led strips with some power supplys? Probably using Home Assistant through Loxone for the dimming with automated color temperature.

My advice would be to go for DALI. It has many advantages, for example:

  • Very free topology. Itā€™s difficult to get it not to work. You can even use a 5 wire cable and use 2 wires for power and 2 for Dali in cases where you you want to have the dimmer close to the luminaire.
  • Most residential dimmers are Dali, not DMX. This gives you more freedom to choose.
  • It is designed for residential applications, for example it allows for plug and play replacement of dimmers and most parameters can be modified over the bus.
  • Residential luminaires with integrated dimmer are almost never DMX but Dali.
  • You can add motion sensors etc to the bus as well.

My personal setup is:

  • Ethernet as a backbone for integrations (Alarm, Ventilation System, cameraā€™s, NUC running Hassio, ā€¦)
  • KNX as main domotics bus for all switches, actuators and sensors. I have a few dimmers for incandescent lights on this as well.
  • DALI with a KNX-DALI bridge for all other dimmers. I have LED lighting everywhere and my dimmers are grouped in the technical space. Except for one luminaire with integrated dimmer.

A huge advantage of this approach is that Hassio is not a critical element. KNX and DALI work decentralized, so the only ā€œsingle pointsā€ of failure in my setup are the KNX PSU (which you could make redundant) and the KNX-DALI bridge.But if that fails the luminaires go in to ā€œsafe modeā€ which is ā€œonā€. (FYI: I have replicated this setup for all installations, for example: I can still control my alarm, heating, ventilation, etc. separately should Hassio stop working.)

DMX is best suited for architectural and entertainment lighting; not so much for office and domestic setups. That said, I am also planning to add DMX to my Hassio setup just for fun :slight_smile:

I would have to agree, although i do use DMX for RGBW-led-strips.

But I am interested in your setup, how do keep the setup working if Hassio falls out, and still keep the ability to use advanced functions?

1 Like

Wellā€¦ I donā€™t :slight_smile: But at least it keeps the lights on.

KNX is decentralized (except for the PSU) and it communicates directly with the lights. So, switches, motion controllers etc. still work.I set it up so that for simple actions (switching lights for example) Hassio is not required.

Similar for the alarm, I can still control it with the local panels and the dedicated app, but the integrations donā€™t work anymore. For example: when I switch on my alarm, all lights are swiched off by Hassio. Obviously when Hassio is out, that does not work anymore.

And that is the scenario for most other systems. This is why I use Ethernet as the backbone, most Hassio integrations use the same protocols as the native apps, so I have these as a fallback. This works for Zehnder (ventilation), Satel (alarm), Doorbird (doorcam), Unifi (cameraā€™s), Samsung TV, June (Energy monitoring), Flam (Fireplace),ā€¦

There are ways to even avoid this, an option for my Satel alarm system is a KNX module, which would bypass Hassio. Many other installations also have this option. But that was too expensive for me just for the few moments that Hassio is down.

I also have a second tool to shorten the time any system is down: Domotz. This runs separately and allows for remote monitoring and control of any device that has RDP or web interface. I can even use it to power-cycle my Unifi POE-switch ports. When I just started with Hassio this helped me out - a lot.

Ok, but lets take motion controllers, if hassio doesnā€™t run them, you losse a lot of functionality? And witches as well in many cases? Lets say you want the swtich to bring up the last activated scene or something like that?

Depends on how you use them. The motion controllers I have switch on/off lights and control light levels by them selves (they control the dimmers). So this functionality is always preserved. You can solve a lot in KNX logic, but for sure more advanced functions do require Hassio to be running (otherwise I would not need Hassio at all!)

The situation with scenes is somewhat different, there are 3 approaches possible:

  • Store the scenes in Hassio. Advantage is that you have everything in one place, disadvantage is that Hassio has to be running.
  • Store the scenes in the KNX devices. Over KNX you can ask most actuators (like dimmers) to store a specific setting as a scene. This can be done by entering parameters in the config software or by ā€œteachingā€ them using the normal switches etc. Advantage is that it works without Hassio running. Disadvantage is that it is not very transparent.
  • Hybrid: you store everything KNX in KNX scenes and then you can call this from the Hassio scene. This way you can still control the light scenes with a switch when Hassio is down, but you loose the integration with other devices (for example TV).

Long story short: as long as both ends of what you want to control understand the KNX protocol (either over twisted pair or ethernet) there is little you canā€™t do without Hassio. As soon as you want to bridge the gap to other protocols or execute complex funtions, Hassio comes into play.

That is at least how I use it. It is the UI for my domotics and it runs a limited number of more complex integrations. All the rest is handled by the individual systems.

Ps. Wherever it says Hassio in my text, you could also say Home Assistant.

I tried the newest version now, seems to work fine here.

I have installed though HACS and got ArtNet woriking and i just copied the ā€œmore complexā€ example to my light.yaml file.

The one channel units works perfect, but the RGB and custom white units donā€™t react in the Lovelace grapical interface? The controls looks okay but only the brightness controller sets the same value on all tree DMX channels, and it donā€™t matter what i do in the color picker.

What have i missed?

I had the same problem. Thereā€™s a switch (if/elseif/elseif/ā€¦/else) in DMXLight.dmx_values (in light.py) that uses the type of the current light to decide how to actually set the lightā€™s new state. When comparing the type of the light (self._type, a string) with the set of supported types (an enumerated set of strings) it uses the python ā€œisā€ relation instead of ā€œ==ā€. ā€œisā€ checks to see if the things being compared are actually at the same memory address (i.e. they are one and the same object) wheras ā€œ==ā€ will compare the object contents for equality. Since self._type is a COPY of the string used when constructing a DMXLight, the ā€œisā€ always returns false and only the final else case in the switch is run, which just sets brightness. ā€œ==ā€ compares the two strings themselves.

After replacing the ā€œisā€ comparisons with ā€œ==ā€ my rgbw_auto light worked as expected.

Since Iā€™m a complete NOOB at GitHub and havenā€™t yet learned the proper procedure to report an issue like this, much less implement a fix for merging into the official code I just made these changes to my local copy to get going. Once I figure out the proper process, if someone hasnā€™t beaten me to it, Iā€™ll report this and propose the change.

I forgot to mention that the DMX integration is really a GREAT addition to Home Assistant! I first started using Home Assistant a couple years ago and did some things with OLA and HA scripts, but never got more than a couple pieces working. Now it all works really well.

One enhancement I have in mind (eventually) is to be able to handle calibration of each light. Whereas commercial products (SMart+, Hue, etc.) seem to be well calibrated when shipped but individual LEDS (e.g. DIY light strips are not). Iā€™ve noticed even the commercial products will lose calibration as the LEDS age or fixture temperature changes. I have a bunch of 2ā€™x2ā€™ flat panel RGBW ceiling lights that require an external controller so calibration is something I have to handle myself.

So very true!!! Been using jnimmoā€™s component successfully for two years now since he first shared it and was so happy to dump the Python script hacks I had been using prior.

Many and continued thanks to him and the HA developer communityā€¦

Hello HA DMX friends,

Does anyone know if the jnimmo / hass-dmx also works with an RS-485 USB stick?
possibly via Ser2Net?
Or does someone have a tip for a good and affordable DMX Ethernet gateway?

I have sent my garden lighting with DMX (12V) via a self-made controller via an arduino with potmeters and pressure switches, only that is already a work to also integrate that in HA, via MySensors I can already operate it, but directly off HA is of course completely amazing!

Thanks for contributing ideas.

I donā€™t know if there is any possibility of an RS-485 USB stick.

The most affordable artnet to DMX gateways I am aware of are by DMXKing.

Hello, i want to know if there is a way to add multiple ā€œhostsā€?

Any way it works fine.

@dzjr
i donā€™t know about a rs-485 stick but,
You could still use an arduino with an ethernet shield on in. there are sketches online to make it in to an artnet bridge.

@nipe
yes this is possible with the component from @spaceman_spiff.
just make a second instance of the component with a different ip adress.