Skip to content

Android Broadcasts

Kiosk Satellite sends an Android broadcast whenever a voice turn, a timer, an intercom call, an alarm or the screensaver changes. Apps on the same device, such as Tasker, MacroDroid, Automate or tvQuickActions, can react right away without a round trip through Home Assistant. A common use is bringing your own app back to the front the moment a voice turn ends.

Every action starts with me.jxl.kiosk_satellite.event., so the full name of VS_ENDED is me.jxl.kiosk_satellite.event.VS_ENDED. Details ride along as intent extras. Strings stay strings, numbers stay numbers and lists arrive as string lists.

Kiosk Satellite also listens for two broadcasts that start and end a voice turn. See Voice Satellite.

Voice Satellite

Action When Extras
VS_STARTED A voice interaction begins: a turn, an announcement, a vs_show prompt, a realtime conversation or a ringing timer. reason: voice, announcement, show, conversation or timer
VS_LISTENING The microphone opens for a command.
VS_THINKING The command is in and the assistant is working on it.
VS_SPEAKING The answer starts playing.
VS_ANNOUNCEMENT An announcement starts playing.
VS_ENDED The interaction is over. Audio focus is released and the overlay is gone.

VS_ENDED fires once per interaction. A follow-up question, an announcement that asks for a reply and a new wake word while the answer is still on screen all stay inside the same interaction. When Keep the answer on screen or Keep results on screen leaves the answer up, VS_ENDED waits for it to go, so the app you bring back never covers it. A double tap ends it early.

These come from the built-in Voice Satellite. The Voice Satellite integration running in a dashboard does not send them.

Timers

Action When
VS_TIMER_STARTED A timer started.
VS_TIMER_UPDATED Time was added or removed, or the timer was paused or resumed.
VS_TIMER_CANCELLED A timer was cancelled.
VS_TIMER_FINISHED A timer ran out and its alert rings.
VS_TIMER_DISMISSED The ringing alert was silenced by a tap, the stop word or vs_cancel.

The extras are the fields of the esphome.kiosk_satellite_timer event: timer_id, name, total_seconds, seconds_left and is_active.

Intercom

Action When
INTERCOM_CALLING This kiosk is calling another one.
INTERCOM_RINGING Another kiosk is calling this one.
INTERCOM_IN_CALL The call connected.
INTERCOM_BROADCASTING This kiosk is announcing to all kiosks.
INTERCOM_LISTENING Another kiosk's announcement is playing here.
INTERCOM_MISSED A call rang out with no answer.
INTERCOM_ENDED The call, announcement or ring is over.

Every intercom broadcast carries kiosk, the other kiosk's name when there is one. INTERCOM_ENDED fires once at the end of each call, announcement or ring, missed calls included.

Alarms

Action When
ALARM_CREATED An alarm was added.
ALARM_UPDATED An alarm changed or was switched on or off.
ALARM_DELETED An alarm was removed.
ALARM_SUNRISE An alarm's sunrise started.
ALARM_RINGING An alarm rings, again after each snooze.
ALARM_SNOOZED An alarm was snoozed.
ALARM_STOPPED An alarm was stopped during a ring, a snooze or a sunrise.
ALARM_SILENCED Nobody stopped it before Silence after ran out.

The extras are the fields of the esphome.kiosk_satellite_alarm event: alarm_id, label, time, days and enabled, plus snoozed_until on ALARM_SNOOZED. Each alarm sends its own broadcast when several change at once.

Screensaver

Action When
SCREENSAVER_STARTED The screensaver started.
SCREENSAVER_STOPPED The screensaver ended.

Receiving them

Pick the trigger that listens for an intent and enter the full action name:

  • Tasker: Event > System > Intent Received, with the name in Action. Extras show up as local variables, such as %reason or %kiosk.
  • MacroDroid: the Intent Received trigger, with the name in Action.
  • Automate: the Broadcast receive block, with the name in Action.

To check what the kiosk sends, open the App Logs and look for lines tagged broadcasts, one per broadcast.

Notes

  • Any app on the device can receive these broadcasts, including the timer names, alarm labels and kiosk names in their extras.
  • Android 8 and later only delivers them to apps that listen while running. Tasker, MacroDroid, Automate and tvQuickActions all do. An app that only declares a receiver in its manifest will not get them.
  • They work while Kiosk Satellite is running, even with another app in front.