DMX lighting

Hello,

I’ve been trying to use this integration with Axion lighting’s DMX V2 DMX Controller V2 Launch – Axion Lighting which has ArtNet support. They have their API running on port 4005 and doesn’t seem to have any other ports open for ArtNet control.

If anyone used this integration with this DMX gateway, can you guide me on the steps to configure?

Here is my configuration:

platform: artnet_led
  host: 192.168.1.105 #enter host here
  port: 4005
  max_fps: 25
  refresh_every: 30
  node_type: artnet-controller #don't know to use artnet-direct or artnet-controller
  universes:
    0:
      send_partial_universe: True
      output_correction: linear
      devices:
        - channel: 1
          name: Axion_testlight_1
          type: rgbw
          transition: 1
          output_correction: linear
          channel_size: 8bit
        - channel: 5
          name: Axion_testlight_2
          type: rgbw
          transition: 1
          output_correction: linear

Thanks.

A simple control interface is exposed on TCP port 4005. It is a line based control protocol using ‘\r\n’ as the line terminator. It is also command/response protocol with no async messages currently.

This is a separate API from their Art-Net capability, that you can use to control your DMX controller. Art-Net is going to run on the default port of 6454.

Your PoE IN port should be the network that’s connected to the HomeAssistant integration. Here’s a free tool that you can use to verify that it finds your controller on the network; The ArtNetominator - Free ArtNet DMX Monitoring and Troubleshooting Software

  • Home Assistant Compatibility – Take your smart home automation to the next level with intuitive lighting control directly compatible with this exciting open source platform.

They say this, but they don’t have any documentation on how. Can’t seem to find a first party integration from them. Might be referring to us? :slight_smile:

Thanks @Breina, I will look into the software. However, I did scan the DMX gateway with Nmap if those ports are open and only the 4005 port was open.

They say this, but they don’t have any documentation on how. Can’t seem to find a first party integration from them. Might be referring to us? :slight_smile:

I think they had one and got removed or I might be tripping, Anyhow, the closest integration that I found was yours and let’s just hope it works. :smiley:

I will let you guys know once I test it again.

Hi, is it possible to control two nodes on two ip adresses.

Kind regard, Martijn

Yep!

On the old version:

light:
  - platform: artnet_led
    host: myFirstIPaddress
    ...
  - platform: artnet_led
    host: mySecondIPaddress
    ...

Or, if your nodes are well-behaved, it will find the IP addresses for you itself:

light:
  - platform: artnet_led
    host: ignored
    node_type: artnet-controller
    ...

On the new beta:

dmx:
  artnet:
    universes:
      - 1:
          devices:
            ...
          compatibility:
            manual_nodes:
              - { host: myFirstIPaddress }

      - 2:
          devices:
            ...
          compatibility:
            manual_nodes:
              - { host: mySecondIPaddress }

or again, if your nodes are well-behaved, you can just leave out the compatibility section.

Thank you, thats works!

No update yet on 16bit. I’ve been working on infrastructure in my Structured Wiring Center. Basically moving from proof of concept to deployment, but haven’t tackled the 16bit dimming yet.

What I have done is a Power-over-DMX on Cat5e system using passive PoE (Mode B) injectors so I don’t have to run separate DC power to the D5-E drivers. Inside each D5-E a jumper wire connects pins 7/8 to GND and a Schottky diode connects 4/5 to V+. Pins 1/2 carry the DMX signal. The hacked drivers can run off PoD or the normal power connection.

I got a pile of ceiling recessed CCT pucks and connect the D5-Es to the LED strings inside. The PoD voltage varies depending on the fixture. 6" pucks from Lowes need 41V. 4" pucks use 34 volts. Strips generally use 12V and panels use 24V. So there are four power supplies, five PoE injectors and four DMX splitters with a patch panel so I can mix 'n match voltage DMX King outputs on a per fixture string basis.

The main limitation is electrical code compliance. Each injector is limited to 100W total. That would be five 6" pucks total across the eight injector ports. Fuses on the power supply outputs enforce this.

This is the panel without the final power supplies but everything else. The supplies themselves will be enclosed.

Breina has done so much work since I last touched the HA Integration. I’m eager to get back to that part, try out the Open Fixture Library stuff, and get 16bit dimming working!

1 Like

Wow, that is a lot. But alas, I’ve decided to replace all 13 DMX zones and wall pad with Zigbee + RF & Zigbee remotes.

DMX is a ton of effort and a lot of manual work in both hardware and HA for just “basic” lighting and color controls.

I have a brand new eDMX8 DIN MAX is anyone needs one :wink:

Can you PM me re: the eDMX8? I have a pile of Zigbee stuff I’m willing to trade (see below) and plan an LED pixel wall that might could use it.

Edit: Oops. The eDMX8 isn’t for per-pixel-addressing. I’d need that for the pixel wall.

I decided long ago to abandon wireless. Before then I wrestled with the VHS/Beta choice and went with Zigbee. I saw so much commercial grade stuff I figured it had the deeper pockets behind it. I used it all over and was pretty happy (except for bulb power supplies dying due to heat). I decided to go wired with DMX for reliability and security reasons. Industrial chic works well in some places and those stage fixtures are designed to handle heat.

BTW, I don’t recall any 16 bit Zigbee. But, the lighting curves were well suited for dimming way down.

So it’s DMX right now, but that’s really a bridge until I can deploy true PoE powered Artnet LED drivers. Technology moves so fast it looks like that may happen much sooner than I expected. I have yet to find any residential-class (i.e. inexpensive) units so I’m going DIY. I may even have some prototypes going in the next month or two. I can use the same PoE RP2040 MCU I use in my wall switches to drive dimmable MeanWell CC LED driver modules that run off 57V Vin. It’s almost like LEGO blocks now. Single Pair Ethernet can carry 30watts and is multidrop, so that may make sense in some places. But, I’ll keep pure DMX for the higher power lighting.

After I make the switch most of the ratsnest in the picture will go away. Thanks to the HA/Artnet integration however I think the migration will be pretty smooth.

2 Likes

Hey everyone :wave: ,

I’ve tested Axion DMX Controller with the integration. Everything works fine. In order to ArtNet work with this DMX controller set the ArtNet Universe to 1. I’ve also managed to contact the manufacturers regarding the DMX controller. They said for now only one Single DMX Universe will be controllable via this Controller. So, if anyone is using this DMX controller with this integration it will work.

2 Likes

Hey there

playing around with this nice tool, i have the problem that I use 3 Vlans, one specified for artnet.
How to tell the tool to send artnet to this vlan.
I checked with an artnet tester all nodes are found including HA but no universe is snd?!

Are you sending Artnet to network 10.x.x.x/8 or to 2.x.x.x/8
Thanks and regards
Stephan

@Breina maybe you may help on this? Thanks in advance

I’ve added ha-artnet-led/Art-net LED Lighting for DMX via HACS; I’ve added the IP of my art-net node to the light domain in configuration.yaml, but then what?
The instructions seem to just end on the assumption people should know what’s next.
What is next?

1 Like

Hello @Breina
Thanks for your great work

https://www.aliexpress.com/item/1005008698030417.html?spm=a2g0o.detail.pcDetailTopMoreOtherSeller.2.2d40S4BeS4Beol&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40196.439370.0&scm_id=1007.40196.439370.0&scm-url=1007.40196.439370.0&pvid=c589aade-65a0-47e9-a866-5972ae8f72c8&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40196.439370.0,pvid:c589aade-65a0-47e9-a866-5972ae8f72c8,tpp_buckets:668%232846%238111%231996&pdp_ext_f={"order"%3A"3"%2C"eval"%3A"1"%2C"sceneId"%3A"30050"%2C"fromPage"%3A"recommend"}&pdp_npi=6%40dis!RON!199.90!153.92!!!315.30!242.78!%40210390c217642431574423915e3f02!12000046292411312!rec!RO!4392378414!X!1!0!n_tag%3A-29919%3Bd%3A4fc3980a%3Bm03_new_user%3A-29895&utparam-url=scene%3ApcDetailTopMoreOtherSeller|query_from%3A|x_object_id%3A1005008698030417|_p_origin_prod%3A

I have integrated this board and I want the entities to be switch, not light! Can this be done directly from the integration?
Thank you very much!

Artificial intelligence created this guide! Will it work if I have both a light and a switch?

Guide: Modifying ha-artnet-led for Switches

Overview

This guide will help you modify the custom ha-artnet-led integration to create switch entities instead of light entities for your DH4 DALI/DMX board.


Step 1: Locate Integration Files

The integration is located in:

/config/custom_components/artnet_led/

Important files:

  • __init__.py - integration initialization
  • light.py - light platform (where we’ll make the main modifications)
  • manifest.json - integration information

Step 2: Create switch.py File

2.1 Copy light.py to switch.py

You can do this through File Editor or SSH:

cd /config/custom_components/artnet_led/
cp light.py switch.py

2.2 Modify switch.py

Open switch.py and make the following changes:

A) Change imports at the beginning:

Find:

from homeassistant.components.light import (
    LightEntity,
    ATTR_BRIGHTNESS,
    # other imports...
)

Replace with:

from homeassistant.components.switch import SwitchEntity
from homeassistant.const import STATE_ON, STATE_OFF

B) Change base class:

Find:

class ArtNetLight(LightEntity):

Replace with:

class ArtNetSwitch(SwitchEntity):

C) Simplify methods:

Delete all methods related to brightness, color, effects, etc. and keep only:

@property
def is_on(self):
    """Return true if switch is on."""
    return self._state

@property
def name(self):
    """Return the name of the switch."""
    return self._name

async def async_turn_on(self, **kwargs):
    """Turn the switch on."""
    await self._channel.set_fade(255, 0)  # DMX value 255 = ON
    self._state = True
    self.async_write_ha_state()

async def async_turn_off(self, **kwargs):
    """Turn the switch off."""
    await self._channel.set_fade(0, 0)  # DMX value 0 = OFF
    self._state = False
    self.async_write_ha_state()

D) Modify async_setup_platform function:

Find:

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):

Inside the function, find where entities are created and modify:

Find:

lights.append(ArtNetLight(...))

Replace with:

switches.append(ArtNetSwitch(...))

And change:

async_add_entities(lights)

To:

async_add_entities(switches)

Step 3: Modify __init__.py

Open __init__.py and add the switch platform.

Find:

PLATFORMS = ["light"]

Replace with:

PLATFORMS = ["light", "switch"]

Or if you want only switches (no lights):

PLATFORMS = ["switch"]

Step 4: Configure configuration.yaml

Option A: Switches Only

switch:
  - platform: artnet_led
    host: 192.168.1.XXX  # DH4 board IP
    max_fps: 25
    universes:
      0:
        devices:
          - channel: 1
            name: "Relay 1"
            type: binary
          - channel: 2
            name: "Relay 2"
            type: binary
          - channel: 3
            name: "Relay 3"
            type: binary
          - channel: 4
            name: "Relay 4"
            type: binary

Option B: Both Light and Switch

Keep the existing light configuration and add:

switch:
  - platform: artnet_led
    host: 192.168.1.XXX
    # ... similar config as above

Step 5: Restart and Testing

  1. Save all changes
  2. Restart Home Assistant: Settings → System → Restart
  3. Check Developer Tools → States for new entities switch.relay_1, switch.relay_2, etc.
  4. Test each switch to verify that the relays activate correctly

Hello, I have this error:

Invalid config for 'artnet_led' from integration 'light' at configuration.yaml, line 21: 'node_type' is an invalid option for 'light.artnet_led', check: node_type

Could you please help me?

This is my configuration:

light:
- platform: artnet_led
  host: 127.0.0.1                        # IP of Art-Net Node
  max_fps: 40                           # Max 40 per second
  node_type: 'artnet-controller'
  refresh_every: 0                      # Resend values if no fades are running every x seconds, 0 disables automatic refresh
  universes:                            # Support for multiple universes
    1:                                  # Nr of Universe (see configuration of your Art-Net Node)
      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: 210                    # first channel of dmx dimmer
          name: bal_fent               # name
          type: rgb                  # type
        - channel: 213                    # first channel of dmx dimmer
          name: bal_lent               # name
          type: rgb                  # type
        - channel: 418                    # first channel of dmx dimmer
          name: par2               # name
          type: rgbw                  # type

I am also, being a newby, trying to get this done.
Installed a Artnet device, gave it a IP adress and i can test it from my computer. 1 DMX ledpar was installed. So far so good.

Now i am trying to use the HA Dmx integration.
Followed all the steps that i found in the HACS Art-net LED Lighting for DMX
I put this in my configuration Yaml

here is the information that i see from my device

But what is next?
How can i get access to the LedPar1 i created.
The only reference to the artnet is a entity
image

This is a part that i am missing in the helpfiles of the HACS. Where to go further.
My appoligies for being not as HA SMART :slight_smile: but help is appreciated.