Before I get started, xLights is a sequencing program for Christmas lights controlled by controllers (Arduinos, Raspberry Pis, etc). It’s quite hard to read this data that is sent out from it and send it to Roblox.
Anyway, I spent my weekend working on a little project using Python and Lua to use the data from xLights to render to a cloud server, then Roblox to take that data and display it in RGB form.
In total, the server uses 58 Lines. Roblox has 71, and the Python script on my local machine has 167.
Images
Explanation
From xLights, there is a WiFi controller option that is used to send data to the local machine it’s running on.
Got it working! Multiple strings were quite hard to deal with but I figured out a solution using the universes in the program. It now asks for the number of strings and adds the listeners for each one. From there it’s sent to the controller and read by Roblox. (and yes you can do more than 2 strands)
EDIT: Forgot to mention, there is a limit to the number of pixels per string, which is 170. To bypass it, but a second string on the end of the first one and classify it as a “new string”