Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 4.04 KB

timer.md

File metadata and controls

68 lines (53 loc) · 4.04 KB

Timer display

Overview type timer (since 1.0). Entity: required, a timer entity. Card type custom:houseview-timer-overview-card (widget type timer_overview), screensaver type: timer.

A black full-screen countdown for a Home Assistant timer.* entity: a ring of 60 orange tick marks around a rounded square, the time left in large white figures and, beneath it, the length of the timer in small orange capitals (15 MIN).

Unlike the weather overview it is an event overview: it appears over the dashboard by itself while the timer is running, and goes away by itself when the timer finishes or is cancelled. A tap on it only closes it (the dashboard underneath is untouched, nothing is pressed, and the timer keeps running); it stays closed until the timer has stopped and been started again. It also works as a page card or a standalone card (custom:houseview-timer-overview-card; a tap on the card opens the timer's more-info dialog).

You do not have to configure it: every timer widget on a carousel shows it automatically (the timer_display card option, on by default). Write an explicit entry to choose a timer that has no widget, or to switch one timer off:

type: custom:houseview-card
cards:
  - type: custom:houseview-clock-card
  - type: custom:houseview-timer-card
    entity: timer.kitchen_timer
screensaver:
  type: timer
  entity: timer.kitchen_timer

It is an automatic display: it is not offered in the editor's screensaver list. (A screensaver entry of type timer written in YAML still works and can share the list with idle overviews, for example a weather scene that starts after 2 minutes.) If another screensaver is on screen when the timer starts, the timer display replaces it.

Option Type Default Description
entity entity required A timer.* entity
name text none Used for the screen reader label only (the display has no title)

The framework keys apply (enabled, preview, start_in_edit_mode) with one difference: idle_timeout is accepted but ignored, because an event overview is never started by idle time and takes no part in the round robin. preview: true shows it at once whatever the timer does, for choosing the look in the editor. It does not appear while the camera grid or the timer alarm is showing, or in edit mode (unless start_in_edit_mode). Starting a timer from a HouseView widget brings it up (a pending service call does not hold it back).

What is shown

Timer state Time Caption Ticks Over the dashboard
active counts down to finishes_at 15 MIN lit in proportion to the time left comes up, until it ends
paused remaining PAUSED · 15 MIN as when it was paused stays up
idle the duration (card only) READY (card) all dim goes away
unavailable "Timer unavailable" (card only) all dim goes away
  • An active timer whose finishes_at is already in the past (stale data after a sleep, a late idle) counts as over: the display does not come up for it.
  • Time: m:ss, h:mm:ss from one hour up, never negative, in tabular figures so the digits do not jitter. It is recomputed once a second from the clock.
  • Caption: the timer's duration: 15 MIN, 45 SEC, 1 MIN 30 SEC, 1 H 30 MIN, 1 H.
  • Ticks: ceil(60 * time left / duration) ticks are lit, counted clockwise from the top centre, so the used-up (dim) ticks are the last ones: time is consumed counter-clockwise from the top. A timer extended beyond its duration keeps a full ring. Without a duration attribute the ring uses the longest length the entity's data proves.

Cost

Painted with CSS only (a black box, 60 small rounded bars and two lines of text): no images, gradients, filters or animation, so it makes no difference between performance modes and has no motion to reduce. The only JavaScript is the once-a-second text and tick update on the shared ticker.