Haven’t tried it yet but here is what the documentation says:
https://kiosksatellite.com/docs/alarms/
Home Assistant has no alarm intent, so voice alarms go through an LLM conversation agent (Qwen, Gemma, Gemini, Claude, OpenAI or any other agent that can control Home Assistant). The agent understands the request in any language it speaks and calls a script that Kiosk Satellite ships as a blueprint.
The built-in Home Assistant conversation agent does not work for this. It only matches sentences against Home Assistant’s own intents and cannot fill in the script’s time, days or label. An LLM agent with Prefer handling commands locally turned on works fine: Home Assistant still handles lights, timers and the rest itself and passes alarm requests on to the LLM.
Info: The long-lived token under Settings, Home Assistant must belong to a Home Assistant administrator. This applies to every request the script handles, including questions such as “What alarms do I have?”. Alarms set on the kiosk work with any user’s token. The kiosk listens for the script over its own Home Assistant connection. Home Assistant only lets administrators fire and follow the events the script runs on.
-
Import the blueprint:

-
Create a script from it. It has no settings.
-
Expose the script to Assist under Settings, Voice assistants, Expose.
Then ask the kiosk: “wake me up at 6:30 on weekdays”, “set an alarm called Gym for 7 tomorrow”, “what alarms do I have?”, “turn off the Gym alarm” or “delete my 6:30 alarm”. The agent confirms what the kiosk did and when the alarm rings next.
It works in any language your agent speaks, with no sentences to set up per language. Ask in Spanish, German, French, Ukrainian or anything else the same way, like “despiértame a las seis y media de lunes a viernes”, and the agent answers in that language.
Realtime conversations set alarms the same way: with Tools on Home Assistant, the model sees the exposed script and calls it while the conversation runs.
The alarm goes to the kiosk you are talking to. A request typed into Home Assistant’s own chat reaches no kiosk until it names one, as in “set an alarm on the bedroom kiosk”, which matches the kiosk’s device name or ESPHome name.
Nothing new appears in ESPHome.