WTH: Why can't we have a timer that reports time in a TTS friendly format?

I am looking for a general purpose duration timer that can be used within the graphical editor and simply counts upward from zero until paused or reset, and has an output that can be directly used in TTS or other notifications.

I am picturing a helper that creates a timer device with 5 entities: Days, Hours, Minutes, Seconds, and a binary entity that indicates if the timer is running or paused.

The only thing a user would need to configure when creating this timer device is to give it a name. For maximum flexibility it would NOT be linked to any existing entity but would instead be controlled entirely by Pause, Resume, and Reset commands within automations.

When running, the timer would simply accumulate time in 1 second increments and populate the time across the Day, Hour, Minute, and Second entities for easy use in TTS and other notifications. In order to use the existing time in a TTS message for example you would only need to insert the Days, Hours, Minutes, and Seconds entity values within the line of text to be spoken. Users should NOT need to do any extra steps to get the time into this standard format.

The Reset command would by default reset the timer to zero but would have the option to load a different start time in the format of 00:00:00:00

The timer would retain current values across system reboots but would come up in a paused state so the user can do appropriate checking to see if the conditions are still true for the timer to be running. This would be managed in an automation that runs on boot up.

An example of where this might be handy is to have a timer that runs whenever you home generator is running except during its weekly exercise run. You might have a TTS status update or email that reminds you where you are with total run time in case you need to change the oil or complain to the power company if you think it is getting overused.

This timer is specifically useful for notifications and for use in automations as a trigger or condition. The key feature is the fact that it would count up instead of down and that the output is in a format that can be easily used in TTS and automations which is not the case with existing helpers used for tracking and charting entity history.

Not saying this is a solution for you, but do you know if there is an option to do this but count down instead? I could put some QR codes that start a custom timer on my furnace for the filters, lawn mower for oil changes, water heater for draining, etc etc. I just want to start a timer and then output when it’s done.

There is a Timer under Helpers that let’s you enter a duration. I have never used it but it sounds like what you need.

It is of no use to me because it does not count up from zero or provide a practical way to speak the current value in a TTS message.