OpenLightingProject / ola

The Open Lighting Architecture - The Travel Adaptor for the Lighting Industry
https://www.openlighting.org/ola/
Other
642 stars 205 forks source link

Sending more than 16 universes of Art-Net/sending from multiple IPs from within one OLAd instance #1894

Open jagspaul opened 1 year ago

jagspaul commented 1 year ago

Hello.

Is there any limitation of number of maximum Artnet Output universes supported by OLA?

How can I put my artnet node IP address in OLA Artnet Output universes?

Can OLA support multiple Artnet Output universes with different IP address?

peternewman commented 1 year ago

Is there any limitation of number of maximum Artnet Output universes supported by OLA?

Technically no if you set output_ports but practically yes I think its limited to 16 universes because of how we calculate the Art-Net port numbers.

See here for example: https://groups.google.com/g/open-lighting/c/WF-SHn-Czx0/m/8Bm4DLu2AQAJ

How can I put my artnet node IP address in OLA Artnet Output universes?

The node should subscribe and then the system will work out whether to broadcast or unicast depending on subscriptions.

See also the settings (particularly always_broadcast and use_limited_broadcast): https://docs.openlighting.org/ola/conf/ola-artnet.conf.html

Can OLA support multiple Artnet Output universes with different IP address?

You'd currently need to run multiple copies of OLA, potentially simply just multiple processes pointing to their own configs, or containers/VMs would work too.

peternewman commented 1 year ago
          > Before that I want to test my Artnet node with OLA, Pls help me in this regards.

Personally I'd have not written the node to use Art-Net because of all these issues. sACN/E1.31 is so much better for many reasons.

I want to send artnet data from OLA to my artenet Node for testing.

Please tell me how to setup above 4 universes in OLA to send artnet data. Also tell me how to setup more than 16 universes (artnet output)?

I think its limited to 16 universes because of how we calculate the Art-Net port numbers.

See here for example: https://groups.google.com/g/open-lighting/c/WF-SHn-Czx0/m/8Bm4DLu2AQAJ

pls show me the config setup of ola-artnet.conf.

It's documented here (or in the plugin's readme section). You'll need to stop olad before you make the changes though: https://docs.openlighting.org/ola/conf/ola-artnet.conf.html

pls note I have not found anything on OLA to set universe channels to 510 instead 512.

OLA, and indeed DMX lets you send up to 512 channels per universe. Just send OLA the data you need to for that universe and it will transmit whatever the relevant standard/interface requires (which might be 510 or 512 depending on the output).

Originally posted by @peternewman in https://github.com/OpenLightingProject/ola/issues/1893#issuecomment-1694542845

          Hello,

OLA is a great software but still it has many limitations.

Like artnet has only 16 universes.

So I would like to request OLA team add my requirment to todo list to remove the limitations of artnet from OLA.

Artnet config file should support multiple artnet declaration with different IP address and subnet as follows.

Artnet config

[Artnet 1] IP: x.x.x.x Net: 0 Subnet:0 Start universe:0 No. Of universe:16

[Artnet 2] IP: x.x.x.x Net: 0 Subnet:1 Start universe:0 No. Of universe:16

[Artnet 3] IP: x.x.x.y Net: 0 Subnet:0 Start universe:0 No. Of universe:16

In this config Total 48 universes declare. 32 (0-31) for node with IP x.x.x.x 16 (32-47) for node with IP x x.x.y

Hope OLA team will accept my request and will provide this feature in next release very soon.

Thanks Jags

Originally posted by @jagspaul in https://github.com/OpenLightingProject/ola/issues/1893#issuecomment-1694686648

peternewman commented 1 year ago

Like artnet has only 16 universes.

So I would like to request OLA team add my requirment to todo list to remove the limitations of artnet from OLA.

As you've noticed, this is arguably more due to the limitations of Art-Net's addressing in terms of net-subnet-universe. Short of having multiple sets of config as you propose below, the only way to manage the net-subnet part involves tying them to OLA universes and auto-configuring the whole thing based on the OLA universe, however this is something people want to move away from for other reasons in other issues. #537

Artnet config file should support multiple artnet declaration with different IP address and subnet as follows.

Artnet config

[Artnet 1] IP: x.x.x.x Net: 0 Subnet:0 Start universe:0 No. Of universe:16

[Artnet 2] IP: x.x.x.x Net: 0 Subnet:1 Start universe:0 No. Of universe:16

[Artnet 3] IP: x.x.x.y Net: 0 Subnet:0 Start universe:0 No. Of universe:16

We wouldn't be able to do that directly in OLA because it's not how our config files work (they aren't INI file syntax). What we do that's similar already is appending the IP to each config (see e.g. the Nanoleaf config). http://docs.openlighting.org/ola/conf/ola-nanoleaf.conf.html

There would be some compatibility stuff with existing configs which we wouldn't want to break, which might be a case of not expecting the IP for the first config or something (or seemlessly upgrading it or whatever).

Hope OLA team will accept my request and will provide this feature in next release very soon.

Just a bit of expectation management. Pull requests welcome, but there's a limited number of people working on OLA and given I've already suggested some workarounds:

You'd currently need to run multiple copies of OLA, potentially simply just multiple processes pointing to their own configs, or containers/VMs would work too.

And Art-Net is a legacy protocol compared to E1.31, then it's not going to be a priority for me personally sorry. Certainly not before E1.33 and various other bits first.

jagspaul commented 1 year ago

So finally the outcome is OLA is not able to fulfill my requirment, thought OLA has capability, it can do anything people want. But some how many limitations keep maintained.

People uses many Arduino based open source artnet node with ola just like me. That node doesn't support node discovery. Ofcourse we don't need discovery. It is batter to set IP and universe manually atleast i prefer.

I don't understand if OLA support manual configuration then what is wrong with it?

OLA wants people has to follow how ola works but people wants more from OLA. People wants OLA must have flexibility and and be configured how people wants.

Still I keep hope that one day OLA will understand my pain.

However I must say come out from legacy not right choice everytime. You go with new technology but keep support of legacy.

Thanks and regards Jags

peternewman commented 1 year ago

Have you tried the proposed workaround I gave? Did it not work?

So finally the outcome is OLA is not able to fulfill my requirment, thought OLA has capability, it can do anything people want. But some how many limitations keep maintained.

As mentioned, a finite amount of time/people/effort to fix all the issues/limitations.

Ofcourse we don't need discovery. It is batter to set IP and universe manually atleast i prefer.

I'm not sure off-hand whether we support unicasting without discovery, you'd probably need to broadcast/limited broadcast instead.

I don't understand if OLA support manual configuration then what is wrong with it?

We support some manual config, but currently only one Art-Net node.

OLA wants people has to follow how ola works but people wants more from OLA. People wants OLA must have flexibility and and be configured how people wants.

Still I keep hope that one day OLA will understand my pain.

However I must say come out from legacy not right choice everytime. You go with new technology but keep support of legacy.

The understanding and pain is there, hence why this issue is still open. OLA currently has 24 plugins, with many open requests and bugs for them, as well as for additional plugins, so as I mentioned its just down to someone choosing to tackle this particular issue.