v0.1.0
Highlights
- Initial release:
switchboard-alerts-card(list, acknowledge, and
snooze alerts) andswitchboard-silence-tile(one person's silence
status and controls). - Config is validated up front — a bad option shows a clear Lovelace
error naming it instead of a card that crashes. - Accessible by default: focus-trapped dialogs, icon-plus-text state
(never colour alone), and disabled actions that stay focusable and
explain themselves. - Visual editors with English, French, and Spanish translations, with a
graceful fallback to nativealert.*actions where a Notify
Switchboard service isn't available yet.
Added
switchboard-alerts-card: listsalert.*entities with acknowledge,
un-acknowledge, and (when the router supports it) snooze actions. Compact
badge mode with a dialog, full inline list mode.switchboard-silence-tile: shows one person's silence state, active
snooze count, and last notification, with silence / clear-snoozes /
lift-silence controls.- Full
setConfigvalidation on both cards:entities,snooze_minutes,
mode,target_map,show_acknowledged,personandwake_timeare
checked up front, so a bad config produces a Lovelace error card naming
the option instead of a card that throws during render. unavailable/unknownalerts are a distinct fourth state — a neutral
chip with text and amdi:help-circle-outlineicon, no actions, and its
own count on the compact badge. They are never shown as acknowledged.- Compact badge count chips pair an icon and an
aria-labelwith the
number: state is never conveyed by colour alone. - The badge dialog traps focus (Tab / Shift+Tab cycle inside it) and
Escape closes it and restores focus to the badge button. - Optional
personon the alerts card, passed to
notify_switchboard.snooze. Without it the menu says the snooze applies
to everyone. - "Today" footer on the alerts card, reading
sensor.switchboard_dropped_todayandevent.switchboard_deliverywhen
those entities exist. - Clicking an alert's name opens Home Assistant's more-info dialog.
getGridOptions()on both cards for the sections layout.- Visual editors built on
ha-formwith entity/select/object selectors and
translated labels, degrading to a YAML hint when the Home Assistant
frontend globals are absent. Emitted configs never carry empty keys. - English, French, and Spanish translations, selected from
hass.locale.language. - Version banner logged on load.
- Graceful degradation: every action that depends on a Notify Switchboard
0.2.0 service checkshass.servicesfirst and falls back to native
alert.*actions, or marks itselfaria-disabledwith a visible
explanation.
Fixed
- "Clear" no longer invents
notify_switchboard.silence(minutes: 0), a
call that is not in the router contract. Clearing snoozes calls
unsnooze; lifting a silence calls the dedicatedunsilenceservice. sensor.<person>_active_snoozesinunavailable/unknownis reported
as unknown ("—") instead of being read throughNumber()and shown as
"No active snoozes".- "Until wake" is computed on the Home Assistant instance's timezone
(hass.config.time_zone) rather than the browser's. - Cards only re-render when an entity they actually read changes, instead
of on every state change in the instance; the 30 s duration tick is
skipped when nothing is listed. - The snooze menu's
<summary>keeps its native role and exposes
aria-expanded; Escape closes it and restores focus. - Disabled tile actions stay focusable (
aria-disabled) and the tile
explains why in one visible line. - The dialog scrim uses
--dialog-scrim-color, hover text uses
--text-primary-color, and the host no longer paints its own background
over the theme'sha-card.