Home Assistant Call is an Android phone and projected Android Auto app that turns a Home Assistant Assist pipeline into a continuous, call-like voice conversation.
It is not SIP and does not need a telephone provider, softphone server, PBX, VPN, WireGuard, or inbound port forwarding. It connects only through your existing public Home Assistant HTTPS address:
Phone / Android Auto → HTTPS + secure WebSocket → Home Assistant Assist
- Android 8.0 (API 26) or newer.
- A publicly reachable
https://Home Assistant URL. Its proxy must pass secure WebSockets at/api/websocket. - A Home Assistant Assist pipeline with STT, conversation, and TTS configured.
- A Home Assistant long-lived access token.
- Android Auto developer mode and Unknown sources enabled for a sideloaded build. Some Android Auto hosts may still require installation through a Google Play Internal or Closed Testing track.
- In your Home Assistant user profile, create a long-lived access token.
- Install the APK and open the phone app.
- Enter the external Home Assistant URL and token.
- Tap Test connection, then select an Assist pipeline or use the default.
- Grant microphone and notification permissions.
- Start from the phone, or open Home Assistant Call in Android Auto.
The token is encrypted using Android Keystore and is excluded from app backups, diagnostics, and settings exports. No server address or credential is built into the source or APK.
The app registers a self-managed audio call with Android Core-Telecom, so the phone and Android Auto own call lifecycle and audio routing. It authenticates to Home Assistant's WebSocket API, streams 16 kHz mono PCM to the Assist pipeline, downloads and plays the TTS reply, then listens for the next turn. It remains half-duplex so the microphone does not record the reply.
Optional contact redirection lets a user-selected local number launch the app without placing that number through a carrier. This is only a launch bridge; the Home Assistant connection itself still does not use telephony or SIP.
Use JDK 17 and Android SDK 36:
./gradlew test
./gradlew lint
./gradlew assembleDebugThe debug APK is written to app/build/outputs/apk/debug/app-debug.apk.
- Android Auto calling-app availability is controlled by the host and Google Play distribution rules. Developer mode is required for normal sideload testing.
- Telecom or Android Auto may display its own contact avatar instead of the image selected in this app.
- Home Assistant Call is an independent community project and is not endorsed by the Open Home Foundation or Nabu Casa.
Copyright 2026 CasketPizza. Licensed under the Apache License 2.0. See
LICENSE, NOTICE, and THIRD_PARTY_NOTICES.md.