Exclude Segments from SYNC

Here is a scenario. One network with 4 ESP32 controllers (each controller has 3-7 segments on it), and an additional one running as the “SYNC” Master that has all my presets and a representative of each segment (it has a single LED strip with all the representative segments on it).

Right now when we sync, everything on the network syncs up… works great!
But… what if we wanted all but 3 segments to sync? What if we wanted those 3 to ignore the sync, or sync by themselves?

I propose 2 enhancements.

  1. Sync Groups. All segments in group X, group Y, Group Z etc. sync. You could assign a sync group to each segment. The master/controlling device would have to have those groups defined in order to send out the signals.

  2. Sync Ignore. Instead of sync groups, just have a single checkbox on the segment definition to ignore all incoming sync commands

We already have sync groups…


I think the latest v0.13.n beta release (look in the releases and associated release notes) includes some if not all of what you want.

If you want to change it automatically via a smart home device capable of scheduling curl commands via cron or other setup, you could craft the correct json blob to send to each of the controllers at given times for them to either sync, unsync, and with which other device to sync from by setting sync ports as needed. Maybe that’s a v0.10 approach and no longer applies. I don’t typically sync strips (at least not yet), so am going off what I’ve been reading.

True, but that’s at the device/controller level. I’m looking for it at the segment level.

Here is another scenario (mine in fact). I have a car with 4 controllers, one at each corner. I want all segments under the car to sync (call it group1), all segments in the wheel wells to sync (call it group 2) and all the exterior segments to sync (group 3). in each corner the controller has all 3 types of segments on it. I’m lookin to sync segments, not controllers.

Then use blaz’s dev build. I think Master code also has it (virtual LEDs). That may be the best route.

This request will most likely not be implemented since it may be too complicated.
You can use as @tonyno suggested virtual LEDs, but that is completely different approach and still controls whole LED strip.

You might be able to get it to work using segment selection (in the UI, the little checkmark next to the segment name). All unselected/unchecked segments should ignore the synced data. This would allow you to sync only a single segment per controller (the exception is on/off and the master brightness, which affect all segments)

Thanks everyone for the suggestions. Right now I work around it by using a RaspberryPiZero that does the sync manually instead of using the builtin method (it queries each controller and has a map of all the segments and pushes out the changes from the master to the other controllers based on the master device’s segments.) I was looking for a simpler(faster) method and will give some of these suggestions a try.