It’s not the handler’s id, it’s the timer id: it allows you to cancel it.
I’d say the easiest way to do that is to compute the end date, use run_at instead of run_in and store the date along with the timer ID.
Thanks Ten, You got me thinking! All i need is to create a time stamp with self.datetime() at the time of executing the run_in (or run_at) then I can work out the difference from there.
This might be a split second accurate but fine for what I need. but thanks for seeding the idea!