Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.
Controlling QLC+
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Controlling QLC+
I am planning to control Q Light Controller Plus with EventGhost. However, the inputs of QLC+ are somehow (for me) incompatible with EventGhost - it accepts ArtNet, OSC, HID and some other protocols. As I understand, I could construct proper packets and send OSC or ArtNet messages with Broadcaster plugin, but this seems tedious and error-prone. Python has several OSC modules, but nothing that could be used with 2.6 on Windows. QLC+ has also a websocket interface, but I have no idea how I could make EG talk to it... (the API is described here: http://www.qlcplus.org/Test_Web_API.html )
Has anyone tried this? If not, is there a relatively simple way to send OSC/ArtNet messages or maybe communicate with websockets?
Has anyone tried this? If not, is there a relatively simple way to send OSC/ArtNet messages or maybe communicate with websockets?
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
the webserver plugin does websockets. but i will take a look and see if there is a protocol it supports that i am familiar with
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
well it seems there are only 2 forms of a remote api. that's the artnet, and the web api.
and the artnet is en extremely complex protocol dealing mainly with dmx lighting.
i didn't do much digging into the web api yet. but i will in a little bit
and the artnet is en extremely complex protocol dealing mainly with dmx lighting.
i didn't do much digging into the web api yet. but i will in a little bit
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
Well, there is also OSC, but it involves complicated data packaging as well. However, it could be more useful due to many available apps (e.g. for Android) for OSC control.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
the artnet is specific to dmx lighting. from what it looks like. and what i am unclear on is the web api. because i do not have this running. but does it connect to their servers or to a site the software hosts on your local network.
i am not a huge fan of making anything that can be broken without the users consent or knowledge it happened. and not have the ability to change back to make it function again. and if for some reason *POOF* no more internet your lights would stop working with EG that is if it requites the use of their servers or they go out of business. who knows.
i am not a huge fan of making anything that can be broken without the users consent or knowledge it happened. and not have the ability to change back to make it function again. and if for some reason *POOF* no more internet your lights would stop working with EG that is if it requites the use of their servers or they go out of business. who knows.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
and the osc protocol hasn't been developed in 9 years. and it's also for music. and video not sure how that would pertain to lighting. and there is also a library already made for python. but the issue there is EG is alittle fickle about adding libraries. and it's a pretty involved protocol. hmmm..... the web api seems to be the easiest and is also still being developed upon. need to know if it uses their servers or not.
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
The reason it uses DMX/ArtNet/OSC is that people who control lights quite often also control music... Thus if they have a professional-grade console that they use for their music shows, they can also use it to control the lights. Not to mention that it makes syncing light with music easier.
As for the web interface, it does not contact any external servers - QLC+ itself running on a local computer establishes a webserver with websockets. If you look at the source of the page I have mentioned (http://www.qlcplus.org/Test_Web_API.html) you can see the websockets protocol scripted in JavaScript - it connects locally to http://127.0.0.1:9999.
I have tried to connect to it with Webserver and Websocket suite plugins, but somehow the connection cannot be established (the actual errors were various, from Handshake 200 to Connection refused).
As for the web interface, it does not contact any external servers - QLC+ itself running on a local computer establishes a webserver with websockets. If you look at the source of the page I have mentioned (http://www.qlcplus.org/Test_Web_API.html) you can see the websockets protocol scripted in JavaScript - it connects locally to http://127.0.0.1:9999.
I have tried to connect to it with Webserver and Websocket suite plugins, but somehow the connection cannot be established (the actual errors were various, from Handshake 200 to Connection refused).
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
i didn't bother looking at the source of the page. I am no html coder. i get all cross eyed looking at it. LOL and thank you for the info on that osc protocol. i looked at the api and no where in there did it state that it was for controlling anything other than music. and video. i may have missed it tho.
what would be a preferred method for you. i can hyjack this library i found for the OSC protocol . i have been looking at it and i can add it to a plugin with some modification to get it to work without having to add it to EventGhost libraries. that will simplify things a good chunk. but as i do not own anything i could test it with your going to have to beta test the thing. and if you know what they are or where to get them a point in the direction would be a great. but i need the commands to send to the lighting controller.
me personally i like raw network transmissions. the websockets thing has to much going on ion it. to many fingers in the pudding. all to accomplish the same thing. if you have a particular want to have a webpage to allow control then websockets would be the way to go. here is what i amgoing to do. over then next day or 2 i am going to get the core of the plugin to work using the osc. you will be able to receive events posted my the lighting controller. and possibly send also. but it won't be a simple interface until i get a list of commands and names for the commands. and any parameters that can be set.
what would be a preferred method for you. i can hyjack this library i found for the OSC protocol . i have been looking at it and i can add it to a plugin with some modification to get it to work without having to add it to EventGhost libraries. that will simplify things a good chunk. but as i do not own anything i could test it with your going to have to beta test the thing. and if you know what they are or where to get them a point in the direction would be a great. but i need the commands to send to the lighting controller.
me personally i like raw network transmissions. the websockets thing has to much going on ion it. to many fingers in the pudding. all to accomplish the same thing. if you have a particular want to have a webpage to allow control then websockets would be the way to go. here is what i amgoing to do. over then next day or 2 i am going to get the core of the plugin to work using the osc. you will be able to receive events posted my the lighting controller. and possibly send also. but it won't be a simple interface until i get a list of commands and names for the commands. and any parameters that can be set.
-
krambriw
- Plugin Developer
- Posts: 2570
- Joined: Sat Jun 30, 2007 2:51 pm
- Location: Stockholm, Sweden
- Contact:
Re: Controlling QLC+
I think the EG webserver plugin is using another port for websockets, I think it is 1234. So you should try to configure your QLC+ to use 1234 as well
My released plugins
https://drive.google.com/drive/folders/ ... y01eVBKeHM
https://drive.google.com/drive/folders/ ... y01eVBKeHM
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
The official OSC protocol description went over my head, but from what I gathered here: https://www.music.mcgill.ca/~gary/306/week9/osc.html the message consists basically of the address followed by arguments. For my purposes it would be sufficient to setup just the address string with a single byte argument, e.g. /slider1 255.
As for the port, it can be configured in the EventGhost plugin, but not in QLC+.
As for the port, it can be configured in the EventGhost plugin, but not in QLC+.
-
krambriw
- Plugin Developer
- Posts: 2570
- Joined: Sat Jun 30, 2007 2:51 pm
- Location: Stockholm, Sweden
- Contact:
Re: Controlling QLC+
It's the http/https port you are configuring in the EG plugin. The websocket port is fixed to 1234As for the port, it can be configured in the EventGhost plugin, but not in QLC+.
My released plugins
https://drive.google.com/drive/folders/ ... y01eVBKeHM
https://drive.google.com/drive/folders/ ... y01eVBKeHM
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
Oh. That would explain the failure then.krambriw wrote:It's the http/https port you are configuring in the EG plugin. The websocket port is fixed to 1234As for the port, it can be configured in the EventGhost plugin, but not in QLC+.
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
It turned out that the exact version of QLC+ that I have tested has some problem with Websockets. Now EG plugins can connect to the server. However, Websocket suite refuses to send messages, even though the client seems to be connected, while Webserver (it seems possible to configure the port after all - it says the client connects properly) crashes on ÔÇ×Send message to serverÔÇØ. I suspect the configuration page is somehow faulty, I have looked at the code, but it was not very clear to me.
-
Jabberwock
- Posts: 29
- Joined: Tue Nov 23, 2010 10:40 pm
Re: Controlling QLC+
I have used the latest version of the Webserver plugin (posted on the support forum) and it works. With QLC+ 4.10.2, that is, but it is still awesome!
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Controlling QLC+
se you ask and you shall possibly find a solution. LOL. i am not all that familiar with the webserver plugin. i do want to become more familiar with it but i am not at that point in my home automation setup. once i get to the point of wanting the tablets, well i have them but i am using imperihome on them. and it's kind of a hog for resources and isn't very fast. so i figured what would be best is a web control. that i think would be the fastest and also the added benefit is that i only have to make a change in one place. and not have to update all the tablets. then the batteries went bad in my tablets almost all at the same time. cheap tablets. and it will not allow them to boot with batteries that are bad. and the battery costs 2 times as much as i paid for the tablet. so needless to say they went in the trash.
and of all things the screens actually got an image burnt onto them. i thought we were past those days of that happening. but i have a nifty little app for a tablet that doesn't use inertia but actually uses the camera to detect motion and through various sensitivity settings on it and what have you. it would shut the screen off but not put the tablet to sleep.
but again depending on the tablet. which these were this way. i would shut off the screen but not the back lighting. goofy problems that arise when doing DIY home automation. and the funny thing is it's usually not my code that's having a problem. it's something else i am using that is. and some of the developers are cool and fix things right away. and others just hand me the source to have at it. and then you get the person that's like you are the only one that is stating there is a problem. or i get excuses like "well this wasn't designed to be used that way" or "your system has to many variables to figure out what is causing it." even though i have. and that is why i emailed that person. and some that just don't respond.
here if the original dev of a plugin isn't around anymore. there is usually someone who will take a stab at it. and try and help. but if the dev is about he at the very least tries. kinda like me
.
sosome day i will get around to learning html and java and doing the websockets things. so any useful information you find out please fell free to post something on it. it will most likley help me in the not so distant future.
@krambriw, thanks for chiming in. i didn't know that websockets uses a fixed port. and why is that?
and of all things the screens actually got an image burnt onto them. i thought we were past those days of that happening. but i have a nifty little app for a tablet that doesn't use inertia but actually uses the camera to detect motion and through various sensitivity settings on it and what have you. it would shut the screen off but not put the tablet to sleep.
but again depending on the tablet. which these were this way. i would shut off the screen but not the back lighting. goofy problems that arise when doing DIY home automation. and the funny thing is it's usually not my code that's having a problem. it's something else i am using that is. and some of the developers are cool and fix things right away. and others just hand me the source to have at it. and then you get the person that's like you are the only one that is stating there is a problem. or i get excuses like "well this wasn't designed to be used that way" or "your system has to many variables to figure out what is causing it." even though i have. and that is why i emailed that person. and some that just don't respond.
here if the original dev of a plugin isn't around anymore. there is usually someone who will take a stab at it. and try and help. but if the dev is about he at the very least tries. kinda like me
sosome day i will get around to learning html and java and doing the websockets things. so any useful information you find out please fell free to post something on it. it will most likley help me in the not so distant future.
@krambriw, thanks for chiming in. i didn't know that websockets uses a fixed port. and why is that?
