---
title: Assist satellites
description: Announce messages, start conversations and ask questions on Assist satellites.
---

`assist_satellite` (`as`) speaks through Assist satellites, such as voice assistants.

## Announce

`announce` (`as a`) announces a message on every satellite the target matches. Give the message in quotes, then the satellites or an `--area`:

```bash
ha-bridge assist_satellite announce "Dinner is ready" --area living_room
```

## Start a conversation

`start-conversation` (`as c`) speaks a message on the satellites the target matches, then listens for a reply. `--extra-system-prompt` tells the conversation agent why it started:

```bash
ha-bridge assist_satellite start-conversation "The garage is open. Shall I close it?" --area living_room \
  --extra-system-prompt "The garage door has been open for an hour"
```

## Ask a question

`ask-question` (`as q`) asks a question on one satellite, waits for the reply and prints it as JSON. Its target has to match exactly one satellite.

Each `--answer` is an ID and the sentences that match it, separated by commas. Sentences use [Assist's sentence syntax](https://contributors.home-assistant.io/translate/voice/template-syntax/) without punctuation:

```bash
ha-bridge assist_satellite ask-question "What music would you like?" kitchen \
  --answer "genre=play {genre},{genre}" --answer "none=nothing,no music"
```

```json
{"id":"genre","sentence":"play jazz","slots":{"genre":"jazz"}}
```

`id` is `null` when the reply matched no answer.

## Media and pre-announcements

All three commands take:

| Flag | Use |
| --- | --- |
| `--media-id` | Play media instead of speaking the message |
| `--no-preannounce` | Skip the sound before the message |
| `--preannounce-media-id` | Play different media before the message |

## Actions

| Command | Home Assistant action | Acts on |
| --- | --- | --- |
| `assist_satellite announce` | `assist_satellite.announce` | Every satellite the target matches |
| `assist_satellite start-conversation` | `assist_satellite.start_conversation` | Every satellite the target matches |
| `assist_satellite ask-question` | `assist_satellite.ask_question` | One satellite |

See [`ha-bridge assist_satellite`](/commands/assist-satellite) for every argument and flag.
