Assist satellite
Pipeline
The real assist_satellite.* represents IDLE, LISTENING, PROCESSING, RESPONDING. 16 kHz mono PCM audio is transferred to HA over a separate authenticated stream. The HA pipeline handles server-side wake word, STT, conversation and TTS. pipeline_id, language, VAD, noise suppression, auto gain, audio source and route come from effective device configuration.
Wake word
In satellite entity settings, RustyHAMA loads wake words from the selected HA wake-word engine. active_wake_words is stored in the device override. With a wake-word start stage, audio first passes through the server engine; buffered audio is then passed completely to STT. Local inference is not included in 0.1.
Push to talk and conversations
Push to talk works as the tab-bar icon and assist_button, in hold or toggle mode. Conversation IDs are retained for follow-up questions; follow_up_timeout ends a session that is not continued. Separate pipeline, processing and wake-word timeouts keep long commands from blocking the control channel.
TTS and volume
tts_output: "ha_stream" plays pipeline audio; Android TTS is a fallback. audio_route selects system, speakerphone, earpiece or bluetooth. The Bluetooth route establishes HFP/SCO for recording and speech output and waits for the confirmed connection; on older devices an SCO microphone available only at 8 kHz is converted to the 16 kHz format expected by HA. On devices with separate streams, media volume controls voice output and status sounds, while earpiece and bluetooth use the call stream. The satellite announce action can speak messages without opening a conversation.