DMX lighting

I’m guessing you have either a really old version, or the wrong repository.

This is the one that most people are using; GitHub - Breina/ha-artnet-led: DMX lighting Integration for Home Assistant. Using the HA Color Mode update and Pyartnet library to control lights in multiple DMX universes over ethernet with the Art-Net protocol.


@Marc_C

The current live version only supports lights because of the limitations of the old fixture definition format.

This is supported in the BETA however. It’s much more flexible with that you are able to define. Besides the lights you have now, you get additional number entities per channel, which adds your strobe.

Example of how it could look:


Get started: Beta information - Art-Net & sACN LED Lighting for DMX

Thanks, bit afraid of starting allover again with the Beta so will wait untill it is released.
But now i have a new problemm.
I added a new device but is isn’t showing in the Artnet items or as a new entity.
started HA again, cleared front cash, so what else can i do.
here is the code



and this is what i see so the last device is not shown

Hi @Breina,

I’m really excited to try out your HACS Integration for Art-Net, but I’m kind of stuck. I’m having trouble figuring out how to change the repository / release from v0.1.25 to your Beta. I’m really wanting to use the fixtures feature.

I’m a moderate Home Assistant user, beginner with HACS. IT background and theatrical lighting experience. I’m running a free pixel mapping application from Faith Church. We’ve been using it for years at our church to control pixel grids using Art-Net input from Vista and GrandMA lighting consoles.

At home, I’ve got it plugged in a successfully controlling pixel strings on my Christmas tree. I’m hoping to have Home Assistant send scene, rate, and color selection settings to the application. I’ve created an OFL fixture definition. I’ve read your BETA documention and prepped the dmx: yaml settings, but I don’t know how to switch between the standard release and the beta.

As a professional lighting guy, I’m looking forward to controlling fixtures via Art-net or sACN via Home Assistant.

Thank you for all of your hard work, as I’ve read through the blog and looked at the features, you’ve done a lot of work.

Regards,

Bill

This does look correct. After a restart, your new entities should appear. Does anything show up in your logs?

Hi Bill!

Oh that’s very exciting! I love hearing about the software being used out in the field! :slight_smile:

Sounds like you just need to copy over the code to your custom_components folder. Remove artnet_led and copy over the dmx folder from the latest release (download sources).

The migration guide has more detail: Migration - Art-Net & sACN LED Lighting for DMX

Breina, thank you to take time to look into it.
If i search in the logfile for the Par6 it is not shown. Is there something else I have to look for in the logfiles?
HA has been restarted a few times but no result.
Is there something else I have to clear first? I think I use the right method to clear the cache but are not certain. Is there a way to check?

Marc

Add this to your configuration:

logger:
  logs:
    custom_components.artnet_led: debug

Then restart. Search the logs for artnet_led, check ‘Show raw logs’, then you’ll get all the logs that we’ve got. Surely it’s got to say what’s wrong.

The nuclear option is to remove the integration, delete the existing entities, and then reinstall it.

When you’re done, remove the debug logger once again. It can be quite spammy otherwise.

Breina,
Following your advise…


resulted in this error

This is strange becouse as you can see in the yml file the dmx channel for ledpar5 is set to 21 instead of 25.

I changed this on the ledpar6 device and in the configuration to channel 30 and now it is recognozed in HA as the entity ledpar6.

so far so good.

Only still one problem.
the ledpar 4 and ledpar5 are both Ayra Compar 10 devices, both set to a 4 channel DMX setup.
Dimmer - Red - Green - Blue.

But the ledpar5 shows other collors than picked in HA on this lightcard


The ledpar4 is ok.
I don’t see a difference between the 2 devices.
Anny suggestions to fix that?

Marc

Since yesterday I am trying to configure the BETA (10) release and I must be doing something wrong. Maybe you can help me…

I have created a dmx folder and uploaded the beta to that folder.
I have created a fixtures folder and put “desk-channel.json” into it.
I have changed permissions and owner of those files/folders so that they are the same as in the other folders.

In my configuration.yaml I have:

dmx: !include dmx.yaml

And in dmx.yaml I have:

animation:
  max_fps: 43

artnet:
  refresh_every: 10.0
  rate_limit: 0.5

  universes:
    - 1:
        devices:
          - TestLichtBuero:
              start_address: 1
              fixture: 16bit

In the log files I see this error:

2026-03-18 10:33:47.151 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry dmx for dmx
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 769, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/dmx/__init__.py", line 89, in async_setup_entry
    fixtures_yaml = dmx_yaml[CONF_FIXTURES]
                    ~~~~~~~~^^^^^^^^^^^^^^^
KeyError: 'fixtures'

That’s a bug in the integration. You’re setting up via yaml, however it’s trying to initialize through config_entry (I.e. the UI). My assumption (I don’t use this integration) is that they are doing odd things in this integration when creating the devices and entities.

After a lot of testing I found out that it was a misconfiguration on my side. I misunderstood the concepts of the fixture name and the name of the mode. This is what worked for me at the end:

artnet:
  refresh_every: 10.0
  rate_limit: 0.5
  universes:
    - 0:
        devices:
          - TestLichtBuero:
              start_address: 1
              fixture: DeskCh
              mode: "16bit"

Anyway that works just every now and then after a restart. Maybe it is my HA configuration because sometimes all my automations won’t start at all and I need another restart. But maybe it is also the integration. Right now the logs are flooded with this error every 2.5 seconds:

2026-03-24 14:34:08.863 ERROR (MainThread) [homeassistant] Error doing job: Exception in callback _SelectorDatagramTransport._read_ready() (task: None)
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/asyncio/events.py", line 94, in _run
    self._context.run(self._callback, *self._args)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/asyncio/selector_events.py", line 1255, in _read_ready
    self._protocol.datagram_received(data, addr)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/config/custom_components/dmx/server/artnet_server.py", line 524, in datagram_received
    self.handle_datagram(addr, data)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/config/custom_components/dmx/server/artnet_server.py", line 538, in handle_datagram
    reply.deserialize(data_array)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/config/custom_components/dmx/server/__init__.py", line 875, in deserialize
    self.bind_index, index = self._pop(packet, index)
                             ~~~~~~~~~^^^^^^^^^^^^^^^
  File "/config/custom_components/dmx/server/__init__.py", line 420, in _pop
    return packet[index], index + 1
           ~~~~~~^^^^^^^
IndexError: bytearray index out of range