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.