Alternatives or tricks for better time sync (sntp)

I have a bunch of floodlights that are on esphome, and for Halloween was trying to simulate lightning by quick flashes against a dim blue light. It actually works fairly well individually but getting them all in sync is hard. Doing it from home assistant I think has too much overhead, so I tried putting time services on, using sntp and doing it at particular seconds from timestamp. The sntp server is my local firewall running ntp.

It ALMOST works, but is about one second variation between earliest and latest, as though the time sync with sntp is off just a bit.

Is there an ntp (not sntp) version? I can’t find one.

I realize sntp is not a particularly accurate thing, but anyone have any recommendations for getting a half dozen or so esphome devices closer in sync?

Alternatively to make them all trigger an event within a tenth of a second or so of each other?

I saw the gps thing, but attaching a GPS to the floodlight is problematic (plus it’s not pps so not sure it will be more accurate). Assume I can’t change the physical hardware.

Or is this just out of the scope until/unless someone wants to implement real ntp?

Linwood

You could forgo using ESPHome and write the code yourself in Arduino framework, then use ESP-NOW. It’s supposed to be pretty fast, you could have a master node control all the others.

Otherwise maybe adding an external RTC to each may help. Cheaper than GPS. :slightly_smiling_face:

Thanks Daryl. In some quick reading I am finding conflicting info – can this run in addition to a standard wifi Home Assistant API connection? I don’t want to give up the normal communications that I have in place and programmed into scripts. But if this would allow one device to be the … conductor if you will, and set the timing of a light effect for the others, that would be good.

I’ll read more.

I can’t add hardware… these are pretty seriously sealed units, I had a broken one and started looking at getting inside, I think it’s all glue holding it together. Maybe a heat gun, but I think going with “no added hardware” is my plan.

Unfortunately no. Well not without a lot of fiddling and I could never get it to work.

Bummer. I wonder if there’s a way to have the normal wifi stack react to a multi-cast message? Those get delivered pretty simultaneously, I could send that (I think) from Home Assistant itself somehow. It doesn’t have to carry information, I just want a trigger.