Voice Satellite: turn any tablet, phone, or browser into a private Alexa / Google Home / Siri for Home Assistant

Voice Satellite: turn any tablet, phone, or browser into a private Alexa / Google Home / Siri for Home Assistant

Voice Satellite is an integration that turns any tablet, phone, or browser into a hands-free voice assistant for Home Assistant. Wake word, timers, announcements, multi-turn conversations, media playback, and visual results, all running on your own hardware with no cloud dependency required.

It registers each device as a real assist_satellite in HA with full feature parity with physical voice assistants. No dashboard card needed. It runs as a global engine across every page.

Repo: GitHub - jxlarrea/voice-satellite-card-integration: Voice Satellite turns any tablet, phone, or browser into a hands-free voice assistant for Home Assistant · GitHub (HACS Default)

What it does

  • On-device wake word. microWakeWord runs locally in pure JavaScript, so audio only streams to HA after the wake word fires. 8 built-in wake words, custom .tflite models auto-discovered, plus a Disabled mode for automation-driven setups.
  • Dual wake words / dual pipelines. Run two wake words in parallel (“Okay Nabu” and “Hey Jarvis”, say) and route each to its own Assist pipeline. Mix languages, mix local-only with cloud/LLM, or give each character its own voice.
  • Voice timers that work. “Set a 5 minute timer”, countdown pills on the overlay, alert chime on completion. Also callable from automations via voice_satellite.start_timer.
  • Proactive automations. assist_satellite.announce, start_conversation, and ask_question from automations and scripts. Also voice_satellite.wake to trigger the satellite as if the wake word had fired.
  • Companion media player entity per satellite, for volume, tts.speak targeting, and media_player.play_media. TTS can route to the browser or a remote speaker.
  • 7 skins (Default, Alexa, Google Home, Home Assistant, Retro Terminal, Siri, Waveform) with CSS overrides and reactive audio-level animation on the activity bar.
  • Screensaver. Black overlay, image/video/folder from the HA media library, or live camera feed. Cross-fades, integrates with Fully Kiosk backlight dimming and motion-dismiss.
  • Mini card (voice-satellite-mini-card) for inline text display when you don’t want the fullscreen overlay.

Prerequisites

  • Home Assistant 2025.2.1 or later
  • A fully working Assist Pipeline (STT, conversation agent, TTS)
  • Microphone permission, HTTPS

Feedback and issues welcome on the repo.

2 Likes