Fight Timer, plus more features - Advice! Am I using a suitable tool!?

Hi, and from the start, thank you.
To explain my current position - I have HA installed and working on RPI3. I have configured and tested numerous things from Ring, OctoPrint, Wled, etc… I have played with various parts of this, and configured a number of helpers, templates, automations, etc.

My questions…
I am not looking to use this system as a “HOME” assistant.
I want to use this to control and automate various parts of a Robot Fighting Arena. In general this will work very well - for example my wants:

  1. A countdown timer - ideally with a count in action “3,2,1,Fight” and a end action “cease”. All of this looks fine with the Timer in HA.

  2. The countdown clock - to be pushed to WLED LED Matrix, permitting a few clocks around the arena. The Push to WLED is fine, and working (with a text field) currently.

  3. The count in and count out will be on the WLED Matrix’s and ideally play audio too. I have not played with this yet, but I cannot see a problem here?

  4. Physical buttons - ESP32 and ESPHome to do this, should be fine. Main control ones for start, pause, stop, cancel, etc. Then Tap Out buts for the fighters.

  5. Sensors - Not started. But I intent to use a number of ESP32 with various sensors to check things like making sure the door is shut, etc.

So…
In my mind, all of this is possible, and certainly achievable, with a bit of effort!
But one aspect is crucial - the clocks, sounds, etc, need to be in time with each other… When using the Timer as a helper, it worked great… but it triggered Events for start, stop, pause, etc. It was not physically working with the time in an exposed way. I produced another Helper, a template to act as a sensor for the timer and update on a dashboard - but this ran 2 seconds approx. behind the actually timer.

Therefore…
Am I barking up the wrong tree here, in that this is not built to do as frequent checks and updates? It is a not a live and fast acting system?

Or…
Do I just need to do more custom scripts, rather than use things like the timer?

Or…
Can you advise better methods to achieve this? I am not asking for anyone to do this for me! But pointing to a few methodologies would help greatly, as this is my first time on this system.

Oh and thank you again!

The problem will be the countdown clocks.
HA works on the backend and only occasionally update the frontend.
This means that the countdown clocks might only get updated around each 30 seconds.

There are some workarounds with a javascript running on the frontend, but then it is unattached with the backend in between updates and that means the counting can be off by a few seconds now and then.

So in a way that I am not 100% happy with, I have it working.

I setup a sensor to get and workout the timer time.
Running an automation, I trigger every second, in the AND IF I check that countdown is great than 0 - i.e. trigger every second and only fire action if countdown is happening.

The in the action, I POST to WLED via JSON and display the countdown time.

This works and runs 1 second behind, which is not too bad.

But I would much prefer to do some thing like -

  • if timer active, then check and update every second. Then the trigger is only doing the every second check when the timer is running!
  • sense a timer start, and then run on a loop till countdown is 0. I think this is possible with repeat, but I have not read on this much yet.

And… probably the most ideal situation, use a script to run my own countdown timer, and do exactly what I need, with no lag. Again, need to read up on this.

Any thoughts, ideas, tips, would be happily received.
Likewise if someone can tell me a better way than checking every second, which i hate!!!

Thanks, N