I ran a few tests. What I’ve found is that the time trigger ignores fractions of seconds and will fire as soon as possible after the integer seconds are matching now()
Here’s an example where I set the trigger time to a timestamp that ended in 0.99 seconds. In my automation I rendered now()
and set it to a variable to see what it displayed. Here are the results:
input_timestamp: 1724988756.99
now_timestamp: 1724988756.001632
I tried this many times. The value for now()
was always between 0.001 to 0.002 seconds after the integer value of the desired time trigger. It made no difference what fractions of seconds were specified on the entity I used to trigger. I’d expect the 0.001-0.002 delay to change depending on how fast your host hardware is and what other processes are currently running. But the takeaway is that the trigger clearly ignores fractions of a second.
Therefore, comparing now()
to the desired trigger time is a bad idea unless you remove the fractions of seconds from the trigger time.