Some basic DMX questions

I’m wondering if there is a way to leverage the web interface of QLC+ and send your Number to the asset / handle / slider / text field via a HTTP call?

Sounds like it, yep.
This binding offers no transform at channel level, so we can’t tackle it there.
A transform profile works at channel->Item level, that would be good … but sadly not currently usable with Number or Dimmer types.
Any corrective action will have to be either binding enhancement or external e.g. dummy Items and rules.

Tell us more about why this gives you a problem. What is this scene that flashes, how is it related to or derived from the Item state. Perhaps we can fix that end and make it less data-format-dependent

Who cares, that’s an adminstrators toolkit. I strongly recommend using one of the proper user-facing UIs.

I’m not sure what can be done with the API for QLC+…

but have you seen this demo?

https://www.qlcplus.org/Test_Web_API.html

Can you make use of the Cue list control ?

This API demonstrates how to control a Virtual Console Cue List widget. The parameters to be used are:
Cue List ID : The Cue List widget ID as retrieved with the ‘getWidgetsList’ API
Operation : The Cue List operation to perform. Possible values are ‘PLAY’, ‘NEXT’, ‘PREV’ and ‘STEP’. Only the ‘STEP’ operation requires a third parameter. The ‘PLAY’ operation will stop the Cue List if called twice.
Step : The Cue List step index to play. Index starts from 0.

Or the Basic Widget Value Set ?

This API is the direct way to set a Virtual Console widget value. It can be used for Buttons, Sliders and Audio Triggers. The value to set depends on the widget type itself. Buttons and Audio triggers will only support values 0 (= off) and 255 (= on) while Sliders will accept all the values in the 0-255 range.

@MDAR and @rossko57 thanks for the help!

I won’t bore you with what I thought, because later last night I discovered I was wrong! Even if I had been getting nice round integers over to QLC+, I wouldn’t have been successful in triggering functions as I didn’t understand how to set everything up in QLC+ and what the limitations are.

That is indeed how I use it; I do find myself in my Things list fairly often making changes.

I had no idea - that’s exactly what I’m looking for! I already use nodeRED for a majority of my scene based automation, so it was really easy to set up web sockets next to the existing automation logic. I’m using the “Basic widget value set” to trigger the various functions, and use a trigger node to send a “0” command afterward to ensure it’s ready for a future activation (per QLC+ documentation, it prefers a “255” followed by a “0” to activate a button.)

I found and used a Homeseer forum post to help me get it up and running.

Here’s the nodeRED logic using web socket out nodes:

If anyone else is looking into trying QLC+, I will write up a tutorial once I’ve gotten my setup stable.

2 Likes

That’s excellent :slight_smile:

How are you structuring the payload for the websocket?

Sorry, I’ve been preoccupied lately and forgot to respond to this!

I’ve updated it to remove the change node. I can accomplish everything I want using just the trigger node.
Screen Shot 2020-04-11 at 00.46.25

This is what the trigger node looks like:

This is what the websocket config looks like:

Screen Shot 2020-04-11 at 00.57.55

QLC+ states in its documentation that to actuate a button the software expects a value of 255 followed by 0, hence the trigger node. As for 5, that’s the name of the appropriate widget (in this case, it corresponds to the “stage” scene I created in QLC and added to the virtual console:

Screen Shot 2020-04-11 at 00.52.47

I obtained the widget number using the API you referenced earlier:

Thanks again for pointing that out!

1 Like

Thanks again for your detailed explanation of how you’ve linked openHAB2 to QLCplus, it really inspired me to get my head around it.

Curiously, I’ve managed to do everything I wanted to by just using the DMX binding of openHAB2 and link sACN channels to elements of the Virtual Console in QLCplus.

As I’ve also got my head around the expire binding, I can create the button press that you were looking for purely with DMX too.
But it seems to respond to any value >0 to trigger.
So I just use a button in HabPanel to send anything to the correct DMX Dimmer Item and let it time out back to 0

(Dimmer 9 is what I’ve tested it with in these examples.)

Being able to use a ColourPicker in HabPanel to set the start and end colours of effects is pretty cool too.

These are the sample Things and Item files that got me started.

Things

 Bridge dmx:sacn-bridge:QLCBridge "QLCsACN" @ "QLC"	[ mode="unicast", address="192.168.178.202", universe=1 ] {
	dimmer QLC_Master  "QLC Master Dimmer" @ "QLC" [dmxid="1", fadetime=1000, dimtime=1000 ]
	dimmer QLC_all  "QLC All sub Channels" @ "QLC" [dmxid="2/511" ]
	dimmer QLC_Ch02  "QLC Channel 2" @ "QLC" [dmxid="2" ]
	dimmer QLC_Ch03  "QLC Channel 3" @ "QLC" [dmxid="3" ]
	dimmer QLC_Ch04  "QLC Channel 4" @ "QLC" [dmxid="4" ]
	dimmer QLC_Ch05  "QLC Channel 5" @ "QLC" [dmxid="5" ]
	dimmer QLC_Ch06  "QLC Channel 6" @ "QLC" [dmxid="6" ]
	dimmer QLC_Ch07  "QLC Channel 7" @ "QLC" [dmxid="7" ]
	dimmer QLC_Ch08  "QLC Channel 8" @ "QLC" [dmxid="8" ]
	dimmer QLC_Ch09  "QLC Channel 9" @ "QLC" [dmxid="9" ]
	dimmer QLC_Ch10  "QLC Channel 10" @ "QLC" [dmxid="10" ]
	dimmer QLC_Ch11  "QLC Channel 11" @ "QLC" [dmxid="11" ]
	chaser QLC_chase01 "QLC Chase 01" @ "QLC" [dmxid="2/10", steps="2000:255,0,0,0,0,0,0,0,0,0:-1" ] 
	chaser QLC_chase02 "QLC Chase 02" @ "QLC" [dmxid="2/10", steps="2000:0,255,0,0,0,0,0,0,0,0:-1" ] 
	chaser QLC_chase03 "QLC Chase 03" @ "QLC" [dmxid="2/10", steps="2000:0,0,255,0,0,0,0,0,0,0:-1" ] 
	chaser QLC_chase04 "QLC Chase 04" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,255,0,0,0,0,0,0:-1" ] 
	chaser QLC_chase05 "QLC Chase 05" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,255,0,0,0,0,0:-1" ] 
	chaser QLC_chase06 "QLC Chase 06" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,0,255,0,0,0,0:-1" ]
	chaser QLC_chase07 "QLC Chase 07" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,0,0,255,0,0,0:-1" ] 
	chaser QLC_chase08 "QLC Chase 08" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,0,0,0,255,0,0:-1" ] 
	chaser QLC_chase09 "QLC Chase 09" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,0,0,0,0,255,0:-1" ]
	chaser QLC_chase10 "QLC Chase 10" @ "QLC" [dmxid="2/10", steps="2000:0,0,0,0,0,0,0,0,255,0:-1" ]
	
	color  QLC_rgb01 "QLC RGB 01" @ "QLC"    [dmxid="50/3", fadetime=1000, dimtime=10000 ]
}

Items

Group:Dimmer:MAX QLC_SubMaster_1 "QLC SubMaster 1"

Switch QLCMasterMute "QLC Master Mute" { channel="dmx:sacn-bridge:QLCBridge:mute" }




Dimmer QLCMaster "QLC Master"  { channel="dmx:dimmer:QLCBridge:QLC_Master:brightness" }


Dimmer QLC_Ch02_Dim "QLC Channel 02 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch02:brightness" }
Dimmer QLC_Ch03_Dim "QLC Channel 03 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch03:brightness" }
Dimmer QLC_Ch04_Dim "QLC Channel 04 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch04:brightness" }
Dimmer QLC_Ch05_Dim "QLC Channel 05 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch05:brightness" }
Dimmer QLC_Ch06_Dim "QLC Channel 06 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch06:brightness" }
Dimmer QLC_Ch07_Dim "QLC Channel 07 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch07:brightness" }
Dimmer QLC_Ch08_Dim "QLC Channel 08 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch08:brightness" }
Dimmer QLC_Ch09_Dim "QLC Channel 09 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch09:brightness",expire="1s,command=0" }
Dimmer QLC_Ch10_Dim "QLC Channel 10 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch10:brightness" }
Dimmer QLC_Ch11_Dim "QLC Channel 11 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch11:brightness" }





Switch QLC_Chase01 "QLC Chase 01" { channel="dmx:chaser:QLCBridge:QLC_chase01:switch" }
Switch QLC_Chase02 "QLC Chase 02" { channel="dmx:chaser:QLCBridge:QLC_chase02:switch" }
Switch QLC_Chase03 "QLC Chase 03" { channel="dmx:chaser:QLCBridge:QLC_chase03:switch" }
Switch QLC_Chase04 "QLC Chase 04" { channel="dmx:chaser:QLCBridge:QLC_chase04:switch" }
Switch QLC_Chase05 "QLC Chase 05" { channel="dmx:chaser:QLCBridge:QLC_chase05:switch" }
Switch QLC_Chase06 "QLC Chase 06" { channel="dmx:chaser:QLCBridge:QLC_chase06:switch" }
Switch QLC_Chase07 "QLC Chase 07" { channel="dmx:chaser:QLCBridge:QLC_chase07:switch" }
Switch QLC_Chase08 "QLC Chase 08" { channel="dmx:chaser:QLCBridge:QLC_chase08:switch" }
Switch QLC_Chase09 "QLC Chase 09" { channel="dmx:chaser:QLCBridge:QLC_chase09:switch" }
Switch QLC_Chase10 "QLC Chase 10" { channel="dmx:chaser:QLCBridge:QLC_chase10:switch" }



Color	QLC_rgb01			"QLC RGB 01"			{ channel="dmx:color:QLCBridge:QLC_rgb01:color" }


// I didn't need these extra controls in the end, I just set the Uni & Channel manually in QLCplus
//    Dimmer	QLC_rgb01_RED 		"QLC RGB 01 RED" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_r" }
//    Dimmer	QLC_rgb01_GREEN 	"QLC RGB 01 GREEN" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_g" }
//    Dimmer	QLC_rgb01_BLUE 		"QLC RGB 01 BLUE" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_b" }

Huge amounts of Kudos to @J-N-K again for giving us the DMX binding in the first place.

1 Like

Thanks so much for all this info. openHAB, QLC and Art-Net/sACN seem like great options to automate my home lighting but I’m new to all of them and this reduces the overwhelm factor a lot.

I’ve been looking for a reliable and relatively simple way to detect when light switches are pressed. I want to keep my standard (old school, AC powered) light switches but change the wiring to CAT6 (I like wires not wireless). I was planning to run a CAT6 cable from each light switch to an Arduino board with ethernet shield, connecting the standard terminals in the light switch to input pins on the Arduino, and use MQTT + NodeRed to manage the logic. But could I use DMX, Art-Net or sACN instead of MQTT and NodeRed?
Let me know if that’s not a relevant question for this discussion and I’ll start a new post.

Thanks,
Phil

1 Like

Hey Phil

Welcome to the party.

Maybe a new thread would be better, if you’re planning on a whole house approach.

DMX stuff is certainly more for the architectural lighting or faster changing stuff. (Even movement and positional)

If your looking to pick up the states of your current mechanical switches, then (obviously) I’d suggest popping a Velbus VMB8PBU { Yes, you can use them with 2 state switches, not just momentary, it’s just easier with momentary } behind the switches and hooking it up to Ring / Bus type data cable (rather than bringing each leg back to a central location).

Then just a USB interface into openHAB2 (and / or Node-RED) to pick up all the button state changes.

You could use Velbus hardware to control your standard lighting, if you only want switched or dimmed lighting.

You could fit LED feedback lights into the switches if you want that too.

Or if you want something super fun, I’ve got some 12 channel fully addressable 12V digital downlights that you can use to create infinite amounts of effects and scenes.

The big question is…

  • What is the end game?

AKA what do you have in mind for the amount of control and flexibility?

Thanks Stuart, appreciate the info.
Could you give a link to those 12 channel fully addressable 12V digital downlights?

I re-posted the question to a new topic with a lot more detail:

Is there any such thing as a tutorial for openHAB + QLC?

Hi

I haven’t packaged them up or actively promoted them yet, in fact I was only having a conversation with the chap who designed and populates the PCBs last night.

(There is a box of 80 under my desk)

What I can do…

Is give you a link to a YouTube video of them on my desk.

I’ve got some more above my desk, so now that I’ve got QLCplus up and running, I’ll try to do something funky with openHAB2.
Then work out how to demonstrate it, including linking them to Velbus button actions.

And…

I’m happy to loan you one or two to play with to see if they’ll be what you’re looking for. (Along with a simple Art-NET / sACN LAN adapter so you can try them with openHAB2 directly, or with QLCplus, remotely controlled by openHAB2.

Other than what @Dome and I have put on this forum, I’m not aware of anything.

Maybe Dome & I could put something together.

The various Thing & Item files that I uploaded will get you a way to issue remote controls to QLCplus or Jinx!

@Dome What do you think?
Should we work at putting a guide together?

I think I’ve cracked the remote control side, including sending openHAB2 RGB values, so that QLCplus can use them in functions.
(I particularly like how it converts RGB colour picker data onto something that works for RGBW lamps, that’s something that expensive software sometimes struggles with)

1 Like

Those down lights are nice. Is it too much to hope that they fit into a standard down light fitting for an MR16 halogen/led bulb?
What hardware do you use to power them and control them?
Could they be used in outdoor down light fittings under eaves?

I’ve got some of these but they’re just not bright enough:
https://www.alibaba.com/product-detail/Customized-LED-spotlight-DC24V-4W-mr16_60723216008.html

Do you have pricing for them yet?

Thanks,
Phil

What?

As if they are mounted in a Par16 style lamp house or something?

Obviously the MR16 pin grip won’t work, but the lamp body will fit the standard space that a GU10 / MR16 based Par16 will go into.

(50mm diameter front face, roughly 47mm deep / tall)

Or we’ve created our own style of downlight housing, both of these are shown in the video.
If it’s not clear, let me know and I’ll post some more pictures or try to create a 360° view somehow.

We haven’t officially created an external grade housing, but I have filled some with silicone and mounted them into Up / Down external fittings.

I’ll get around to fixing them to the wall soon for a soak test.

Okay…

Any type of SPi driver will run them, as they are essentially SK6812 RGBW chips.

We use the Smart-Show Art-NET / sACN LAN adapters.

The concept is…

Master unit at the start of the run contains

  • Mains power inlet

  • RJ45 socket

  • 12Vdc PSU suitable for ~30 lamps

  • Smart-Show LAN adapter (with 5V dropper)

  • 3 pin outlet with 12V power and SPi data (up to 170 lamps)

The 3 pin connection is daisy chained along all the lamps, each taking 12 control channels.

If you need to inject more power, a slave PSU would contain

  • mains power in

  • 3 pin inlet (that ignores the 12V+, but takes the remaining data and the 0V reference)

  • 3 pin outlet

  • PSU for ~30 lamps

These lamps aren’t the brightness, because they were designed to be used in large numbers, to increase the flexibility.

We’re toying with using ultra bright addressable chips, but that’s still on the drawing board.

At the moment, these lamps need to have a retail price of about £20, until we can get the PCBs and lamp houses made in large numbers.

Our original design concept was to install them at ~700mm intervals in ceilings.

When I get to refurbishing another room in my house, I intend to install them and create some videos.

Cheers,
Stuart

1 Like

I was already thinking about doing something. I’d love to collaborate!

2 Likes

These sound pretty awesome. I’m planing a family room renovation and I think these would work really well. I also could use them in my bathrooms.

1 Like

Hi

If anyone is interested, I’ve worked out how to run QLCplus on 64 bit Debian Linux, in an X session with a VNC remote server.
(I.E. No desktop manager)

The details are here

https://www.qlcplus.org/forum/viewtopic.php?f=30&t=14384

1 Like

I’m trying to connect OpenHab2 to QLC+ using the DMX binding as described above. For now I just want to click a button in OpenHab and turn on a DMX RGBW spotlight that is connected to QLC+ (tested and working from QLC+).

QLC+ is installed on a RPi at 192.168.171.21 with bitwizard DMX interface
OpenHab is installed on Windows 10 at 192.167.171.146

I used the DMX Binding to created a sACN/E1.31 Bridge and set the Receiver Address to 192.168.171.21 and DMX Universe to 1. The Status says ONLINE.

I created a DMX Color (RGB) Dimmer thing and set DMX Channel Configuration to “1,2,3”, fade and dim times to 1000.

I’m not sure what to do at the QLC+ end.
From the config in the web page at http://192.168.171.21:9999/config I set the output for universe 1 to “UART 1"ttyAMA0” (the bitwizard DMX interface) and I can control the lights from simple desk no problem.
I don’t know how to set the input to the OpenHab binding. The drop down shows [E1.31] options for 127.0.0.1 and 192.168.171.21. I tried “[E1.31] 192.168.171.21” but tinkering with the dimmer does not make the lights go.

How do I make the connection? Will it work if OpenHab and QLC are on different machines?

Thanks!
Phil

Hey Phil

Great to hear you are making progress.

It’s a little tricky to get your head around to start with, but once you get the drop of it, you’ll find it’s quite straight forward.
Whether you go down the DMX / Art-Net / sACN route for remote control, or you take @Dome approach with WebSockets.

The trick is to get the Virtual Console up and running in QLCplus, then control the elements of that with openHAB2.

For example.

Let’s say you have an Animation widget running in the Virtual Console.

image

This haa a fader that controls the intensity of the effect (or whatever you have it set to) - That will need an input DMX channel assigned to it so that openHAB2 can influence it.

image
Here you can see that it’s using QLCplus universe 4 as an Input, which is an sACN / E1.31 stream, and using channel 2

(I use channel 1 to control the grand master)

Then add in a “Start Color Knob” group

Clicking on each item will enable the Input Universe field/s.

Each component will need a channel of your RGB colour picker from openHAB2.
image


You might find it easier to assign a single channel DMX dimmer (for each channel) in openHAB2 if you want to use the Auto Detect option, as QLCplus won’t be able to tell you which of the three channels to assign to each element. (then delete it / them later, FYI you can create them and use the same channels as the RGB Dimmer, it won’t do any harm)

After that, all you need to do is put QLCplus into “operate” mode and openHAB2 should be able to control the effect.

You can also add remote control to Presets in an animation widget too, which can be fun.

I do intend to make a video of how this is done, once I get some time.

(I’ve got a couple of projects on the go that are demanding my time)

Good luck

Stuart

FYI

These are the openHAB2 Things and Item files I’m working with

Things

// Bridge dmx:sacn-bridge:QLCBridge "QLCsACN" @ "QLC"	[ mode="multicast", universe=1 ] {
 
 
 Bridge dmx:sacn-bridge:QLCBridge "QLCsACN" @ "QLC"	[ mode="unicast", address="192.168.178.24", universe=1 ] {

	dimmer QLC_Master  "QLC Master Dimmer" @ "QLC" [dmxid="1", fadetime=1000, dimtime=1000 ]
	dimmer QLC_all  "QLC All sub Channels" @ "QLC" [dmxid="2/511", fadetime=1000, dimtime=1000 ]
	dimmer QLC_Ch02  "QLC Channel 02" @ "QLC" [dmxid="2", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch03  "QLC Channel 03" @ "QLC" [dmxid="3", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch04  "QLC Channel 04" @ "QLC" [dmxid="4", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch05  "QLC Channel 05" @ "QLC" [dmxid="5", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch06  "QLC Channel 06" @ "QLC" [dmxid="6", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch07  "QLC Channel 07" @ "QLC" [dmxid="7", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch08  "QLC Channel 08" @ "QLC" [dmxid="8", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch09  "QLC Channel 09" @ "QLC" [dmxid="9", fadetime=1000, dimtime=1000]
	dimmer QLC_Ch10  "QLC Channel 10" @ "QLC" [dmxid="10" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch11  "QLC Channel 11" @ "QLC" [dmxid="11" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch12  "QLC Channel 12" @ "QLC" [dmxid="12" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch13  "QLC Channel 13" @ "QLC" [dmxid="13" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch14  "QLC Channel 14" @ "QLC" [dmxid="14" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch15  "QLC Channel 15" @ "QLC" [dmxid="15" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch16  "QLC Channel 16" @ "QLC" [dmxid="16" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch17  "QLC Channel 17" @ "QLC" [dmxid="17" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch18  "QLC Channel 18" @ "QLC" [dmxid="18" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch19  "QLC Channel 19" @ "QLC" [dmxid="19" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch20  "QLC Channel 20" @ "QLC" [dmxid="20" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch21  "QLC Channel 21" @ "QLC" [dmxid="21" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch22  "QLC Channel 22" @ "QLC" [dmxid="22" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch23  "QLC Channel 23" @ "QLC" [dmxid="23" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch24  "QLC Channel 24" @ "QLC" [dmxid="24" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch25  "QLC Channel 25" @ "QLC" [dmxid="25" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch26  "QLC Channel 26" @ "QLC" [dmxid="26" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch27  "QLC Channel 27" @ "QLC" [dmxid="27" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch28  "QLC Channel 28" @ "QLC" [dmxid="28" , fadetime=1000, dimtime=1000]
	dimmer QLC_Ch29  "QLC Channel 29" @ "QLC" [dmxid="29" , fadetime=1000, dimtime=1000]

	
	color  QLC_rgb01 "QLC RGB 01" @ "QLC"    [dmxid="51/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb02 "QLC RGB 02" @ "QLC"    [dmxid="54/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb03 "QLC RGB 03" @ "QLC"    [dmxid="57/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb04 "QLC RGB 04" @ "QLC"    [dmxid="60/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb05 "QLC RGB 05" @ "QLC"    [dmxid="63/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb06 "QLC RGB 06" @ "QLC"    [dmxid="66/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb07 "QLC RGB 07" @ "QLC"    [dmxid="69/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb08 "QLC RGB 08" @ "QLC"    [dmxid="72/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb09 "QLC RGB 09" @ "QLC"    [dmxid="75/3", fadetime=1000, dimtime=10000 ]
	color  QLC_rgb10 "QLC RGB 10" @ "QLC"    [dmxid="78/3", fadetime=1000, dimtime=10000 ]
	
	
	chaser QLC_chase01 "QLC Chase 01" @ "QLC" [dmxid="51/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase02 "QLC Chase 02" @ "QLC" [dmxid="54/3", steps="10000:0,255,0:5000|10000:0,0,255:5000|10000:255,0,0:5000" ] 
	chaser QLC_chase03 "QLC Chase 03" @ "QLC" [dmxid="57/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase04 "QLC Chase 04" @ "QLC" [dmxid="60/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase05 "QLC Chase 05" @ "QLC" [dmxid="63/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase06 "QLC Chase 06" @ "QLC" [dmxid="66/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ]
	chaser QLC_chase07 "QLC Chase 07" @ "QLC" [dmxid="69/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase08 "QLC Chase 08" @ "QLC" [dmxid="72/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ] 
	chaser QLC_chase09 "QLC Chase 09" @ "QLC" [dmxid="75/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ]
	chaser QLC_chase10 "QLC Chase 10" @ "QLC" [dmxid="78/3", steps="10000:255,0,0:5000|10000:0,255,0:5000|10000:0,0,255:5000" ]
	
	
	
	
}

Items

Group:Dimmer:MAX QLC_SubMaster_1 "QLC SubMaster 1"

//	Group:Dimmer:MAX QLC_SubMaster_2 "QLC SubMaster 2"
//	Group:Dimmer:MAX QLC_SubMaster_3 "QLC SubMaster 3"

Switch QLCMasterMute "QLC Master Mute" { channel="dmx:sacn-bridge:QLCBridge:mute" }


Dimmer QLCMaster "QLC Master"  { channel="dmx:dimmer:QLCBridge:QLC_Master:brightness" }


Dimmer QLC_Ch02_Dim "QLC Channel 02 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch02:brightness" }
Dimmer QLC_Ch03_Dim "QLC Channel 03 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch03:brightness" }
Dimmer QLC_Ch04_Dim "QLC Channel 04 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch04:brightness" }
Dimmer QLC_Ch05_Dim "QLC Channel 05 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch05:brightness" }
Dimmer QLC_Ch06_Dim "QLC Channel 06 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch06:brightness" }
Dimmer QLC_Ch07_Dim "QLC Channel 07 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch07:brightness" }
Dimmer QLC_Ch08_Dim "QLC Channel 08 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch08:brightness" }
Dimmer QLC_Ch09_Dim "QLC Channel 09 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch09:brightness" }
Dimmer QLC_Ch10_Dim "QLC Channel 10 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch10:brightness" }
Dimmer QLC_Ch11_Dim "QLC Channel 11 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch11:brightness" }
Dimmer QLC_Ch12_Dim "QLC Channel 12 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch12:brightness" }
Dimmer QLC_Ch13_Dim "QLC Channel 13 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch13:brightness" }
Dimmer QLC_Ch14_Dim "QLC Channel 14 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch14:brightness" }
Dimmer QLC_Ch15_Dim "QLC Channel 15 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch15:brightness" }
Dimmer QLC_Ch16_Dim "QLC Channel 16 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch16:brightness" }
Dimmer QLC_Ch17_Dim "QLC Channel 17 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch17:brightness" }
Dimmer QLC_Ch18_Dim "QLC Channel 18 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch18:brightness" }
Dimmer QLC_Ch19_Dim "QLC Channel 19 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch19:brightness"}
Dimmer QLC_Ch20_Dim "QLC Channel 20 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch20:brightness" }
Dimmer QLC_Ch21_Dim "QLC Channel 21 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch21:brightness" }
Dimmer QLC_Ch22_Dim "QLC Channel 22 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch22:brightness" }
Dimmer QLC_Ch23_Dim "QLC Channel 23 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch23:brightness" }
Dimmer QLC_Ch24_Dim "QLC Channel 24 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch24:brightness" }
Dimmer QLC_Ch25_Dim "QLC Channel 25 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch25:brightness" }
Dimmer QLC_Ch26_Dim "QLC Channel 26 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch26:brightness" }
Dimmer QLC_Ch27_Dim "QLC Channel 27 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch27:brightness" }
Dimmer QLC_Ch28_Dim "QLC Channel 28 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch28:brightness" }

//	Dimmer QLC_Ch29_Dim "QLC Channel 29 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch29:brightness" }
//
//
// To use a dimmer channel as a Button trigger in QLCplus you need to get it to reset to zero, so that it is ready for the next button press.
// Adding the Expire binding command will work wonders, like this ----

Dimmer QLC_Ch29_Dim "QLC Channel 29 Dimmer" (QLC_SubMaster_1) { channel="dmx:dimmer:QLCBridge:QLC_Ch29:brightness",expire="5s,command=0" }




Switch QLC_Chase01 "QLC Chase 01" { channel="dmx:chaser:QLCBridge:QLC_chase01:switch" }
Switch QLC_Chase02 "QLC Chase 02" { channel="dmx:chaser:QLCBridge:QLC_chase02:switch" }
Switch QLC_Chase03 "QLC Chase 03" { channel="dmx:chaser:QLCBridge:QLC_chase03:switch" }
Switch QLC_Chase04 "QLC Chase 04" { channel="dmx:chaser:QLCBridge:QLC_chase04:switch" }
Switch QLC_Chase05 "QLC Chase 05" { channel="dmx:chaser:QLCBridge:QLC_chase05:switch" }
Switch QLC_Chase06 "QLC Chase 06" { channel="dmx:chaser:QLCBridge:QLC_chase06:switch" }
Switch QLC_Chase07 "QLC Chase 07" { channel="dmx:chaser:QLCBridge:QLC_chase07:switch" }
Switch QLC_Chase08 "QLC Chase 08" { channel="dmx:chaser:QLCBridge:QLC_chase08:switch" }
Switch QLC_Chase09 "QLC Chase 09" { channel="dmx:chaser:QLCBridge:QLC_chase09:switch" }
Switch QLC_Chase10 "QLC Chase 10" { channel="dmx:chaser:QLCBridge:QLC_chase10:switch" }



Color	QLC_rgb01			"QLC RGB 01"			{ channel="dmx:color:QLCBridge:QLC_rgb01:color" }
//	Dimmer	QLC_rgb01_RED 		"QLC RGB 01 RED" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_r" }
//	Dimmer	QLC_rgb01_GREEN 	"QLC RGB 01 GREEN" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_g" }
//	Dimmer	QLC_rgb01_BLUE 		"QLC RGB 01 BLUE" 		{ channel="dmx:color:QLCBridge:QLC_rgb01:brightness_b" }

Color	QLC_rgb02			"QLC RGB 02"			{ channel="dmx:color:QLCBridge:QLC_rgb02:color" }
Color	QLC_rgb03			"QLC RGB 03"			{ channel="dmx:color:QLCBridge:QLC_rgb03:color" }
Color	QLC_rgb04			"QLC RGB 04"			{ channel="dmx:color:QLCBridge:QLC_rgb04:color" }
Color	QLC_rgb05			"QLC RGB 05"			{ channel="dmx:color:QLCBridge:QLC_rgb05:color" }
Color	QLC_rgb06			"QLC RGB 06"			{ channel="dmx:color:QLCBridge:QLC_rgb06:color" }
Color	QLC_rgb07			"QLC RGB 07"			{ channel="dmx:color:QLCBridge:QLC_rgb07:color" }
Color	QLC_rgb08			"QLC RGB 08"			{ channel="dmx:color:QLCBridge:QLC_rgb08:color" }
Color	QLC_rgb09			"QLC RGB 09"			{ channel="dmx:color:QLCBridge:QLC_rgb09:color" }
Color	QLC_rgb10			"QLC RGB 10"			{ channel="dmx:color:QLCBridge:QLC_rgb10:color" }

Thanks so much for all the detail Stuart.
I’ll start with a simple button that runs a chaser and work my way up to matrix animations.

On the virtual console in QLC+ from my laptop, I’ve defined a button and set the input like this:
image

I load the project via the web interface in QLC+ on the RPi and then set the output for universe 1 to UART and the input for universe 4 to E1.31 for my RPi. When I click the button my lights go.

In OpenHab I have a DMX Chaser thing with these settings:

When I click on the Chaser thing the Status is OFFLINE - CONFIGURATION_ERROR, with this error: chaser configuration malformed.

Any ideas what I’ve got wrong?

Thanks,
Phil

You need to access the full Input Output section of QLCplus UI (I use a VNC session, check out the QLCplus forum to see how I’ve done that) to setup the universes, because you’ll need to set the incoming universe of sACN.
(I’m not sure what the purpose of the web interface universe setup, it’s lacking something)

That’s exactly what it means.

The chaser isn’t set correctly.

Or…

Try a different version of the DMX binding.

It shouldn’t make any difference, although I’ve never run QLCplus on the same machine as openHAB2.