Home Assistant display plugin
Home Assistant display plugin
The optional Home Assistant plugin bootstraps configured entity states through
REST, then subscribes to state_changed events over the authenticated WebSocket
API. It is disabled by default.
Set home_assistant_enabled=true, home_assistant_url,
home_assistant_token, and home_assistant_config in the ignored .env file.
The config accepts inline JSON or a path; docs/home-assistant-example.json
uses reserved example entities.
Screen types are temperatures, lights, climate, paired, and entities.
Empty screens are skipped. Cards default to 30 seconds before returning to the
base display for three minutes. Triggers can claim a target screen on an
inactive-to-active transition with configurable debounce, priority and TTL.
The trigger entity is independent of the entities displayed by its target
screen, so a kitchen motion sensor can show a status card for a different
system. Set delay_seconds to queue that target without interrupting the
current screen immediately. A queued claim waits behind higher-priority claims,
and its duration_seconds begins when it actually gains the display, rather
than while it is waiting. The default delay is 0 for backward compatibility.
Set active_for_seconds on an individual trigger to require continuous motion
or presence before it claims the screen. The default is 0, preserving the
immediate behavior. For example, "active_for_seconds": 30 ignores brief
walk-bys but still shows the configured card after 30 seconds of continuous
activity. debounce_seconds remains the cooldown between trigger activations.
When both settings are present, the delay begins after the continuous-activity
requirement has been met. Clearing the sensor cancels active_for_seconds, but
does not cancel a switch already queued by delay_seconds.
An entity row may use entity_ids instead of entity_id to group binary
sensors. The row is active when any available member is active and clear only
when every available member is clear. List each member separately in triggers
when either member should claim the screen.
Tokens and household entity IDs belong only in ignored deployment config. The
service does not log URLs, tokens, headers, or authentication payloads.
Unavailable updates retain the previous useful value with a stale marker.
The lights card keeps the normal four-row font size and paginates additional
active rows. Pages default to 15 seconds and can be adjusted per screen with
page_seconds; the screen duration expands when needed so every page is shown.