Aurora icon indicating copy to clipboard operation
Aurora copied to clipboard

Add support for LED strips using UDP (e.g. WLED)

Open nzbr opened this issue 5 years ago • 12 comments

List any issues that this PR fixes: fixes # , etc...

This pull request proposes the following changes:

Support is added for devices that receive color information via colors sent as raw bytes over UDP.
This protocol (which is called rawudp by Hyperion) is supported by WLED, a software for controlling led strips (#2027).

Known issues/To do:

The ESP platform (on which WLED runs) only supports up to 490 LEDs using this protocol (see https://github.com/Aircoookie/WLED/issues/1019). To get around this, direct support for WLED using their JSON-API over HTTP would be a solution

nzbr avatar Jul 24 '20 04:07 nzbr

Hey, sorry i'm taking so long to get to the PR's.

This needs updating to the new IDevice interface, should be very simple to do: just change the GetSomething() methods to properties instead. Visual Studio's refactoring should do this correctly. Also manually adding the device in DeviceManager is not needed anymore.

As for the http json api, would this be implemented on top of the current code or would it be another Device?

diogotr7 avatar Oct 11 '20 14:10 diogotr7

The WLED API would be another device because it would only work with WLED whereas the UDP device is much more generic

I have converted all the getters to properties. It should still work, but I can not test it, as Aurora crashes when I try to set a keyboard model (In KeyboardLayoutManager.cs:830)

nzbr avatar Oct 12 '20 13:10 nzbr

weird, I didn't experience any keyboard layout issues. I can't test this properly as i don't have the required hardware but it runs fine otherwise. I don't know why the nzxtsharp submodule keeps coming back, but that's what's causing the CI build to fail. I can remove it if you'd like. Otherwise looks good.

diogotr7 avatar Oct 12 '20 14:10 diogotr7

Ok, so I deleted %appdata%\Aurora but I am still getting this: grafik

nzbr avatar Oct 12 '20 14:10 nzbr

Ok something must have gone wrong with my repo because I just cloned a fresh version, put UDPDevice.cs and it works now

nzbr avatar Oct 19 '20 01:10 nzbr

I noticed this device always shows up as Initialized. Should it be disabled by default? is the initialization code supposed to work like that?

diogotr7 avatar Oct 19 '20 17:10 diogotr7

This still shows up as initialized always. I think disabling it by default makes sense.

diogotr7 avatar Nov 12 '20 22:11 diogotr7

Could we revisit this and instead of UDP consider e1.31 that would give the flexability of ANY rgb pixel device. strips strings bulbs whatever.

SmAsH-jl avatar Jan 08 '21 02:01 SmAsH-jl

I have now changed the initialization behavior so that the device only initializes if at least one IP is specified. Also, ports are now set by writing IP:port instead of setting one port globally, so that it is now possible to have different ports on different hosts.

Having E1.31 support (as an addition) sounds like a good idea to me, though I have no idea how that protocol works tbh.

I had started working on a WLED-API device integration with auto-discovery of WLED devices on the local network some time ago, but I have lost the code for that. I may start working on that again soon, but I can't promise anything

nzbr avatar Jan 18 '21 05:01 nzbr

hey guys. any updates on this? is this actually working? would love to integrate my multiple wled's with aurora. thanks

snickers2k avatar Jan 28 '22 22:01 snickers2k

The project seems to have been moved to https://github.com/Aurora-RGB/Aurora

I have not really touched this since my last comment, however it still seems to work on the latest version. If you want to give it a try, i packaged a version of Aurora that includes the UDP device: https://s3.eu-central-1.wasabisys.com/nzbr/Aurora-setup-v2-nzbr.exe Although not being exactly the same code, the limitiations of the script that i posted in #2027 (only up to 490 LEDs and a single color) still apply here

EDIT: Aurora will try to update to the latest official release, you have to click cancel in the updater to keep the patched version

nzbr avatar Jan 30 '22 13:01 nzbr

thank you ! @nzbr

snickers2k avatar Jan 31 '22 13:01 snickers2k