this post was submitted on 17 Mar 2024
16 points (94.4% liked)

homeassistant

11865 readers
5 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io

founded 1 year ago
MODERATORS
 

Does anyone know what I need to put in order to display the timer duration?

Currently I have

{{ states('timer.dining_study_clear') }}

And that just displays Active, Idle or Paused.

you are viewing a single comment's thread
view the rest of the comments
[–] mike_wooskey@lemmy.d.thewooskeys.com 4 points 6 months ago (1 children)

From what I understand, a timer's duration is the amount of time the timer was set to run for when it was started - the total time, not the time remaining.

If you're wanting to determine the time remaining in an active timer, you need something like:

{% set finish_time = state_attr('timer.timer_entity_id', 'finishes_at') %}
{{ '00:00' if finish_time == None else (as_datetime(finish_time) - now()).total_seconds() | timestamp_custom('%H:%M', false) }}

Or this version, which breaks hours and minutes into speakable parts:

{% set finish_time = state_attr('timer.timer_entity_id', 'finishes_at') %} 
{% set hours, minutes = ('00:00' if finish_time == None else (as_datetime(finish_time) - now()).total_seconds() | timestamp_custom('%H:%M', false)).split(':') | map('int') %} 
{{ '' if hours == 0 else hours ~ ' hour' if hours == 1 else hours ~ ' hours' }} {{ ' and ' if hours > 0 }} {{ minutes ~ ' minute' if minutes == 1 else minutes ~ ' minutes' }}     
[–] sabreW4K3@lazysoci.al 1 points 6 months ago (1 children)

Holy fuck, you're beautiful! It doesn't update in real time, but it's better than what I had. Thank you so much!