DMX lighting

Thanks Breina. Relief to hear that you also use very similar hardware and setup :sweat_smile: I had not considered the possibility of adjusting the power supply output, good hint! I had also read somewhere about the long wires with PWM signal causing some kind of interference but havenā€™t understood if that is something I should be worried about or trying to mitigate. My longest channel cables between rack and lights (all 24vdc) is roughly 30m.

Benory Tunable White 24v Downlight Ip65 12w 2000-6000k Cct Led Cri95 Knx Dali Pwm Loxone Smart Spot Recessed Downlights - Buy Tunable White 24v Downlight,24v Knx Dali Pwm Spot,Benory Tunable White 24v Downlight 12w 2000-6000k Cct Led Cri95 Knx Dali Pwm Loxone Smart Spot Recessed Downlights Product on Alibaba.com)

If it works for you it should also work for me.
BTW super grateful for this Home Assistant add-on, great work. Eager to see even tighter natively integrating in the future.

Thanks! Thereā€™s still a lot I want to do to make it better for the future, but Iā€™m already glad that it helps people. :slight_smile:

Iā€™m no expert, but I donā€™t think the interference will be a huge issue. Even if the PWM signal isnā€™t fully intact, it will suffice to dim your lights. I did minimize laying the light cables parallel to electric wires, for what itā€™s worth.

Hey @Breina - I finally got around to migrating the site Iā€™d built the original integration for last weekend over to your fork, all working really nicely and using the mode to not send frames unless thereā€™s a change, looking forward to testing out the other Artnet modes but havenā€™t got around to that yet. Thanks for your work!

Hi there.

First of all: Thanks alot for this integration. In general it works like a charm.

There is one thing that simply does not work for me: output correction. It does not matter what I put in here (linear, quadratic, cubic or quadruple) and it does not matter if I put it before ā€œdevicesā€ or in the channel section. The behaviour seems to be always the same and I would say it looks linear. Unfortunately I cannot check the values on the DMX bus because I have to possibility to read them.

I tried to add

logger:
  logs:
    custom_components.artnet_led: debug

to my configuration.yaml but I donā€™t see any additional information that could help me here.

Am I doing anything wrong or did I find a bug?

I have found the problem and half of the solution myself and opened an issue for that: Output Correction not working Ā· Issue #61 Ā· Breina/ha-artnet-led Ā· GitHub

Here is what in the issue:

Hi. I noticed that the output correction is not working. Neither for the universe nor for the channels.
So I dug deep into the rabbithole and was able to find the 2 underlying problems which can be solved very easily:

In light.py you use this code for the output correction:

universe.output_correction = AVAILABLE_CORRECTIONS.get( universe_cfg[CONF_OUTPUT_CORRECTION] ) ... d.channel.output_correction = AVAILABLE_CORRECTIONS.get( device[CONF_OUTPUT_CORRECTION] )

The correct code for this would be:
universe.set_output_correction(AVAILABLE_CORRECTIONS.get( universe_cfg[CONF_OUTPUT_CORRECTION] )) ... d.channel.set_output_correction(AVAILABLE_CORRECTIONS.get( device[CONF_OUTPUT_CORRECTION] ))

The second problem is probably also quite easy to fix but I am not very good with python. The problem ist the second part of the upper code where you set a correction for the channel. This is alsways set even if did not put it in your homeassistant configuration. So if you put an output correction of e.g quadratic for the universe and donā€™t put any output correction for the channel, it will be set to linear no matter what.

trying to figure why they are not showing up as entities in my HA

light:
- platform: artnet_led
  host: 192.168.40.15                              # IP of Art-Net Node
  max_fps: 25                           # Max 40 per second
  refresh_every: 0                      # Resend values if no fades are running every x seconds, 0 disables automatic refresh
  node_type: artnet-direct              # Which protocol to use
  universes:                            # Support for multiple universes
    0:                                  # Nr of Universe (see configuration of your Art-Net Node)
      send_partial_universe: True       # Only send the universe which contains data
      output_correction: quadratic      # optional: output correction for the whole universe, will be used as default if nothing is set for the channel
      devices:
        # Dimmer
        - channel: 1
          name: kids_slide_out
          type: rgb
          transition: 1
          channel_size: 8bit
          output_correction: quadratic
          channel_setup: rbgw           # Auto-calculated white channel
        - channel: 4
          name: living_slide_out
          type: rgb
          transition: 1
          channel_size: 8bit
          output_correction: quadratic
          channel_setup: rbgw           # Auto-calculated white channel
        - channel: 8
          name: kids_slide_out
          type: rgb
          transition: 1
          channel_size: 16bit
          output_correction: quadratic
          channel_setup: rbgw           # Auto-calculated white channel

Hello, can you tell me why you donā€™t want to replace pknight artnet node with it? I think the difference between the two is not significant.

Hello #sucre0107 ! In order to send dmx to the Enttec Open DMX USB Interface boards, you need to run the Art-Net to DMX program under windows and for that you have to run that computer 24/7 days and now with Pknight bi-directional ArtNet Controller CR011R it works super linked to router. I havenā€™t found anyone who can make me a program that runs under Python for the Enttec Open DMX USB Interface.
Sorry for my English but I translate with google translate and what you ask and what I answerā€¦

Hello, I am from Argentina and I want to install the integration 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. in my Home Assistant I have the latest update, Core 2024.7.3 Supervisor 2024.06.2 Operating System 12.4 Interface 20240710.0, but when I continue The installation steps give me the following error, No RepositoryFile.MAINIFEST_JSON file found ā€˜custom_components/artnet_led/RepositoryFile.MAINIFEST_JSONā€™
and then when I go to + EXPLORE & DOWNLOAD REPOSITORIES to continue the installation, Art-net LED Lighting for DMX does not appear in the list or anything similar.
From already thank you very much
Fernando

Hi Fernando!

From which installation step did you start getting this error?

For a clean start, go to your config/custom_components folder and delete the artnet_led folder.

HACS isnā€™t finding the repository, so I think you are missing the custom repository. Hereā€™s adding that would look:

From there, you should be able to find it in the + EXPLORE & DOWNLOAD REPOSITORIES section.

Hi to all ArtNet user,

does anybody know how to use ā€œspecialā€ letters in >channel_setup< like t, T or u and U?
I have some different lights which I want control by NodeRed, ā€˜color_tempā€™ lights by cold-warm value and ā€˜rgbā€™ lights by hue and saturation.
When I add some of it, the whole integration doesnĀ“t works / all ArtNet entities are not available.
Is there an misunderstanding from my side how to use it or is there an issue?

Itā€™s important to recognize the difference between how you can send light updates through HomeAssistant, and how HomeAssistant knows how to talk to DMX.

The left side is found in Developer tools in HA. I.e. if you have an RGB light, with HomeAssistant, you can send updates however you want, including hue/saturation.

The right side defines how your DMX channels are configured, which depends on how youā€™ve wired it. This is what the letters youā€™ve selected are for.

Hereā€™s what to do;

  1. Go to Developer tools > Services > Light turn on, and use the UI to configure your action.
  2. Switch to YAML mode, and copy the data from your YAML. In this example, color_temp.
    image
  3. In Node-RED, create a call service node and add the data you just copied but in JSON format:
  4. Save and deploy

Hope that helps :slight_smile:

Hi again.

I would like discuss a feature request with you:
I use the light transition for all my lights. In general this works very well and as expected. Especially for soft start and soft stop everything is fine.

But I have a ā€œproblemā€ with the behaviour of long transition times.

The issue is that the state of the HA entity does not represent the real state of the device.
Compare it to a roller shutter: The (estimated) state of the roller shutter gets updated periodically in Home Assistant so that you can see where the roller shutter is at a given time. Additionally you can even see if it is moving.

In my oppinion it should be similar when using light transition. Right now the state of the entity does not report the true state of the device and I think this is just wrong. It does not have to be updated every millisecond but once every second (as long as it has changed) or so would be nice.

I can construct a scenario where this would be an issue: Letā€™s say you turn on a light with a transition of 10 minutes for whatever reason. Additionally you have an automation that does the following: Lower the brightness of the light by 20%.
Now after 5 minutes your light is dimmed to 50% (but HA says it is 100%). You trigger the automation because you want to lower the brightness by 20% (to effectively 30%) but HA raises it to (100-20 = ) 80% because it does not know the real state.

Donā€™t get me wrong here: I donā€™t have that automation. This is just a theoretical construct to emphasize the problem. I still think that the behaviour of the light entity with transition is not correct.

What do you think? Is this something that should be changed in this integration?

How do I map the Home Assistant devices so I can control them via ArtNet?

I have some light.ikea_of_sweden_tradfri_bulb_e27_cws_opal_600lm_light and other Zigbee bulbs that Iā€™d like to expose over some lighting protocol so my lightshow can control the house, switch some smart sockets and turn the lights off (or have them available in the light show).

Iā€™ve installed the addon and added the example config with an node_type: artnet-controller and now I can define devices to send out ArtNet packets to. But how do I do the other way round? Receive incoming input and have it control my non-ArtNet smart bulbs?

There are node red DMX or artnet addon modules you could tinker with to interface and synchronise between home assistant entities and artnet. May even be possible to achieve this within home assistant alone but I donā€™t know how.

Iā€™ve read though a lot of this thread, and itā€™s clear that DMX control is working well for people.

But the configurations never seem to set the DMX Address of the lighting fixture. Obviously Iā€™m missing something. But in other DMX software I"ve used, it goes [Universe] ā†’ [Device Address] ā†’ [/n/ channels]

I have two lighting fixtures, one on address 0002, another on 0005. The first has 11 control Channels, the second only two.

All example configurations just seem to jump straight from Universe to Channels. Iā€™m confused. How do I configure channel 1 on device 0002 and channel 1 on device 0005 ?

Assuming device 0002 and 0005 are on separate universes, itā€™s supposed to look like this:

universes:
    0:
      devices:
        - channel: 1
          name: device 0002
          type: rgbww
    1:
      devices:
        - channel: 1
          name: device 0005
          type: rgb

If device 0002 and 0005 are on separate artnet nodes (thus IP addresses), you are forced to use node type artnet-direct. This is because the artnet-controller implementation follows the spec and will only allow a single value per controller/channel combination.

light:
  - platform: artnet_led
    host: 10.0.0.20
    node_type: artnet-direct
    universes:
      0:
        devices:
          - channel: 1
            name: device 0002
            type: rgbww
  - platform: artnet_led
    host: 10.0.0.30
    node_type: artnet-direct
    universes:
      0:
        devices:
          - channel: 1
            name: device 0005
            type: rgb

Hope that helps? :slight_smile:

1 Like

Is it possible to install Breina/ha-artnet-led without HACS?

Having to setup auto-sign-in to GitHub for HACS is a hard-no.

Yes, with the above and with @Chef-de-ITā€™s post above, and I think I understand.

The DMX ā€œFixture Addressā€ is just an offset for the channels into the DMX-512 channel space.

So if I have a lighting fixture configured with Address 0015, this means that Channel 0 for that fixture is at artnet_led channel 15+0 => 15.

Once you configure a few things in Q Light Controller Plus, and view the ā€œSimple Deckā€ itā€™s somewhat obvious.

1 Like

Yep, just download the source code of the latest release and put it in the custom components folder;

image

(Hesp here is the config folder inside HA)

You can then add your YAML configuration and then restart.