I waited a few days to make sure this script works as expected.

I waited a few days to make sure this script works as expected. The results have been good so I’m sharing it in case anyone wants to try something similar. This is the bash script to control my four Wemos D1 boards and create the Christmas light show. Not as capable as a hard wired DMX controller but it does give the display a coherent look - and is a lot cheaper!

Basically this runs constantly and when the lights are off it just loops waiting for them to come online. At sunset when they come on they immediately start displaying the patterns programmed. I run it using screen so I can detach and then reconnect as needed to check the status remotely.

https://gist.github.com/atatistcheff/7e49e9915f46b7ed28ddf3670283104b

I like the simple approach to this. How well do they stay in sync?

Because I don’t wait for each curl command to complete it actually works quite well. The http commands get sent within milliseconds of each other so we don’t have one element waiting for the other to change colors. (this is by virtue of the & at the end of the curl lines) If one of the elements goes offline for whatever reason it doesn’t affect the others either.