DMX lighting

I went with Enttec (ethernet) decoder plus a SunRicher DMX lighting decoder that drives 5 channels of LED with 16-bits and up to 35kHz PWM. You need 5 channels in order to control the R, G, B, W, CW on your LED strip. (This decoder is for a Constant Voltage LED setup, you’d have to check your LEDs if they are CV. But if CC, then you need a different decoder/driver).

Enttec Ethernet–>DMX (ArtNet) gateway is this Ethergate model.

Sunricher decoder DMX(ArtNet)–>LEDs is this 2108B model you can find this in EU, and a number of clones/re-branded versions on AMZN.

1 Like

Hi! I’m looking to buy an Aputure Amaran F21x and would love to control it through Home Assistant. I don’t need anything fancy, just turning on the light with a certain preset (e.g. brightness and temperature) and turning it off again is all I need.

I think I figured this out but wanted to make sure I got it right:

  • Buy an F21x;
  • Buy this USB C to DMX cable;
  • Buy this controller;
  • Connect F21x to the controller, then hook up the controller to my network switch over ethernet;
  • Install the HACS DMX integration.

Is this viable for my use case? Anything you’d do differently? I might get a second F21x - would that require the same additional controller or should I get something else entirely?

Finally, just wondering if it’s possible to sidestep the hardware controller and run a software solution on a PC or Mac, connecting the Amaran from USB to USB?

Thanks for the hard work and the sanity check!

Yeah hthat seems right. :slight_smile:

Your USB C to DMX cable should be able to be daisy chained to as many F21x’s as you want, you’ll only need one controller.

From a quick search, Amaran seems to push you in the direction of DMX. Which does make sense so you won’t have to deal with USB cable’s length caps and powered USB hubs. I think DMX is the right choice here.

Be aware this will probably not turn off the light? it will only dim it to off. also i think this light only does dmx dimming not dmx color temp control. so if you care about that you might want to talk to the company and ask.

ya DMX can Daisy change, you might want to give each F21x a different DMX address . so they can be adjusted differently if needed.

the USB C to DMX cable looks like it will be a 5 pin (two universe) plug. the Control you are getting is a 3 pin (one universe) plug so you will need a simple adapter for the controller. DMX Adapter Cable, 3 Pin XLR Male to 5 Pin XLR Female Patch Cables this can go at the controller or at the light and just use a Mic XLR cable to run to the controller. if you daisy change you will need more adapters or just get a DMX 5 pin cable. you really only need one universe (512 channels) for this setup.

i would just set an “off scene” and an “This setting” scene to run it in HA. then i use the
lovelace-slider-entity-row and Light Entity Card to program the scene or change the lights in real time.

the other program i use a lot is bitfocus companion, it integrates very will with HA and you can buy buttons or use tablets to control all kinds of equipment.

Thanks both, that’s really helpful!

I didn’t consider that it might only dim to zero rather than turn off completely, which I guess makes sense from a DMX perspective. Perhaps I’ll try combining a smart plug and DMX in one script. I’ll also ask about DMX color temp control.

Thanks for the pointers on the wiring too!

Just a follow up your F21x might come with a momentary power button that a Smart plug might not turn on. just check what happens when you unplug the light and plug it back in. if it turn on you are good, if it don’t you will need something like a SwitchBot (needs Bluetooth) or ESPhome build your own controller, instead of a smart plug.

just a note from me i would stay away from “Tuya IoT Platform” they have given me nothing but problems with the API from there servers. if you can make it work locally then there hardware is fine.

Thanks! I checked with Amaran’s support and they came back with good news when it comes to smart plugs:

The F21 can be set to studio mode. If switched off and then turned on again, it will retain the last settings. Therefore, brightness and color temperature are stored in memory when the device is turned off in studio mode.

That means I wouldn’t even need DMX for just the basic on/off stuff, though still nice to have some advanced control as well through this integration! :blush:

just for anyone based in Europe: I bought this art-net node instead which is working great

Nice, it looks like it does separate IP addresses for each DMX channel. Useful if you want to use direct control. To bad i can’t get it in the USA.

Ok, thank you.
So my final decision and setup is:

And I confirm it works.

1 Like

Would it be possible to request that the option or RGBWA+UV fixtures to be added? Looking to try and control a few uplights and to create a nice easy control surface for people to use.

2 Likes

HA doesn’t yet support UV in light fixtures, so I can’t support it directly. I asked about it and Frenk said they’ll only consider it if we’re not the only integration that requires this.

Best I can do is to create separate sliders grouped in one device.

2 Likes

I have an issues with the yaml config.

When I put in the example config from the documentation everything works fine.
But if I modify the names, add more dmx channels the entities are not setup at all.

Did someone have also this kind of problem?

1 Like

After testing a little bit i foudn the problem that was maybe related to two short term HA updates.

Pixel Strip Success Story

Sharing a pixel strip success story from non-developer wandering through the woods…

TL;DR: Bash script generates configuration.yaml entries for each pixel, and then a HA group combines those pixels into a unified entity.

Use case: As a homeowner 90% of the time, I wanted eave lighting strips on my house to be a boring white part of boring dawn/dusk outdoor lighting scenes. But as a tinkerer 10% of the time, I wanted to be able to make those same lights dance during holidays (probably controlled with something other than Home Assistant).

Engineering Considerations With Pixel Strips:

  1. Power. Near sections of an LED strip carry power from everything distant, so long runs (>5m [-ish]) can overload the nearest section. This makes pixel strips preferable for long runs. With separate data and power pathways, power can be injected along the run to move the amps off the strip. Example: the Enttec Octo will control up to 8 universes. With 10 cm pixels, that’s a 136m-long RGB strip pulling 1,600 watts, or about 70 amps at 24V. This would clearly smoke the tiny copper trace in a pixel strip BUT will, in fact, work with power injected every 5m because no single part of the strip would then carry more than about 2 amps.

  2. Data. SPI signals degrade over any significant distance (>2m [-ish]), so long runs from the controller to the strip can be a problem. The solution is a “null pixel” every 2m or so to clean up and re-transmit the signal.

I used the Enttec Octo as my controller. I know they’re expensive (US$250-ish), but I tried a couple of different low-end DMX-to-SPI controllers and they all sent spurious SPI signals down the strip. And just one call to Enttec’s amazing support folks will justify the price.

Bash Script

#! /bin/bash
for i in {1..50} # 50 Pixel Strip
do echo '          - channel:' $((($i-1)*3+1))  # Change to add null pixels or use more/less than 2 channels per pixel
echo '            name: Fixture Pixel' $i
echo '            type: rgb'
echo '            transition: 1'
echo '            output_correction: quadratic'
echo '            channel_size: 8bit'
done

To use:

  1. Copy the code into a text file with a .sh suffix (e.g., pixelgenerator.sh),
  2. Make the file executable with chomd a+x pixelgenerator.sh, and
  3. Pipe the output into another file, e.g., .\pixelgenerator.sh > pixels
  4. Copy the contents of the new “pixels” file into configuration.yaml

By changing the pixel-to-channel arithmetic, the bash script can be modified to accommodate null pixels and/or pixel strips with other than 3 channels per pixel.

After putting all 50 pixels into configuration.yaml, I then created a light group (Settings/Devices & Services/Helpers ) and added every pixel to the group. And voila!

There may be a better way to get this working, and I’m happy if anybody knows one. But this worked for me.

1 Like

I use HA on R5 for dmx control led bulbs, but ha create new bulbs and I control over artnet there. Cann you help me fix them? I know fix only over automatisation.

Hi all, I can’t find any mention of the sparkfun DMX to LED shield, has anyone experience of it? I need to control an array of around 8 dmx lights, nothing too fancy, and I bought the shield thinking I could integrate it into HA easily enough - but it seems it’s untrodden ground!

Cool device!

To get a signal from HA to that device requires an additional device though. I recommend an ArtNet controller, but sACN is also compatible.

Thanks Breina! I did feel like I wasn’t holding all the pieces there… I’m thinking of swapping that out completely for this? https://www.amazon.co.uk/gp/product/B0B1YRTYB7

You’ll need both. Like this:

HA —ethernet cable—> Pknight ArtNet controller —DMX cable—> Sparkfun —LED cables—> LED