Repository navigation
Voice Control
Your hands are full of shopping, the kitchen speaker announces that the garage door has been left open, and you'd like to say "yes, I know". Alert Redux works with Home Assistant's own voice assistant, Assist, and, through proxies, with Alexa and Google Home.
Alert Redux adds these commands (in English) to Assist:
| Say | Does |
|---|---|
| "Acknowledge the garage door alert", "ack the garage door" | acknowledges it |
| "Snooze the garage door", "snooze the garage door for 30 minutes" | snoozes it (without a time, for its snooze button duration) |
| "Unacknowledge the garage door", "remove the acknowledgement from the garage door" | removes the acknowledgement |
| "What alerts are firing?", "Are there any alerts?", "List the alerts" | lists what's firing, and what's latched |
They work with the built-in conversation agent and with LLM agents (an Assist pipeline checks these sentences before handing anything to its agent), so they're fast and reliable even with an LLM. LLM agents also get them as tools, so "can you snooze whatever's beeping in the kitchen?" works.
Names. A name matches the alert's name, or any of the entity's aliases, ignoring case, "the", and a trailing "alert". Part of a name works if only one alert has it: "acknowledge the garage" finds Garage Door Left Open. With no name at all ("acknowledge the alert"), it acts if exactly one alert fits, and otherwise asks which. If an alert's name is awkward to say ("iCloud3 Problem"), give its entity an alias ("presence tracking") on its settings page.
Exposure. Voice only reaches alerts exposed to Assist. Each alert is exposed once, when it's created; to keep one out of reach of voice, unexpose it in Settings → Voice assistants → Expose, and it stays unexposed.
Who did it. Voice commands use the ordinary actions, so the logbook records who acknowledged or snoozed the alert, as with the card. Unacknowledgeable alerts refuse, as everywhere.
Speech-to-text. Speech-to-Phrase only recognises sentences it was trained on, and can't learn these (alert names are wildcards). Use another engine (Home Assistant Cloud, Whisper) for voice commands, or type them.
The commands are intents, so you can give them sentences in your own language, in
config/custom_sentences/<language>/alert_redux.yaml. For German:
language: de
intents:
AlertReduxAcknowledge:
data:
- sentences:
- "bestätige [den] [Alarm] {name}"
AlertReduxSnooze:
data:
- sentences:
- "schlummere [den] [Alarm] {name} [für {minutes} Minuten]"
lists:
name:
wildcard: true
minutes:
range:
from: 1
to: 1440The intents are AlertReduxAcknowledge, AlertReduxUnacknowledge, AlertReduxSnooze
(with optional minutes), and AlertReduxListFiring. The replies are in English.
Neither can see alert entities, so an alert can have proxies, which they can. Turn them on in the alert's Voice assistants section (generators too, for all their alerts):
-
Proxy switch: a switch named after the alert, on while the alert is active
(unacknowledged). This works like the old
alertintegration's entities. - Snooze button: a button named "Snooze" and the alert's name, which snoozes it for its snooze button duration. Assistants show it as a scene.
| Say | Does |
|---|---|
| "Alexa, turn off garage door left open" | acknowledges it |
| "Alexa, turn on garage door left open" | removes the acknowledgement (only while it's firing) |
| "Alexa, is garage door left open on?" | asks whether it needs attention |
| "Alexa, turn on snooze garage door left open" / "Hey Google, activate snooze garage door left open" | snoozes it |
Proxies are exposed to Alexa and Google (through Home Assistant Cloud) when they're made, and hidden from Assist, which has its own commands. If you link Alexa or Google yourself rather than through Home Assistant Cloud, add the proxies to its entity filter. They take the alert's area and labels, and disappear when the option is turned off or the alert is deleted.
The author's own Workshop Door Open, Workshop Door Left Open, and Server Room Overheated have both proxies.
Alexa also shows a proxy switch as a contact sensor, open while the switch is on. So an Alexa routine can announce an alert as it fires:
- Turn on the alert's Proxy switch.
- In the Alexa app, create a routine: When Smart Home → the alert's contact sensor → Opens.
- Alexa will Say "The garage door has been left open."
That's handy if your speakers aren't otherwise reachable from Home Assistant. If they are, a Speakers notifier group does the same, with quiet hours, and says the alert's own message.
- Assist for acknowledging and snoozing by name, and asking what's firing: no setup.
- Proxies if your household talks to Alexa or Google. Add them to the alerts people will want to answer by voice, not to all of them.
Start here
Recipes
- Security and Doors
- Leaks and Climate
- Appliances and Chores
- Devices and Infrastructure
- Reminders and Household Events
Patterns
- Escalation and Supersession
- Keeping Alerts Until Acknowledged
- Generators: One Alert per Device
- Designing Your Notifications
- Taking Alerts Out of Service
- Voice Control
- Building on Alert Redux
- Reacting to Alerts
Moving and maintaining