HO

Home Assistant Companion

Self-hosted backend pairing for Home Assistant mobile apps

Home Automation ★ 3.9k stars Easy setup Apache-2.0

This entry covers the Home Assistant Android app backend integration, which connects the official mobile apps to a self-hosted Home Assistant for sensors, notifications, and location. It enables phone-as-sensor features.

Key features

  • Phone sensor reporting
  • Push notifications
  • Location-based presence
  • Connects to self-hosted HA

Pros & cons

Strengths

  • Turns phones into sensors
  • Tight HA integration

Trade-offs

  • Requires Home Assistant
  • Android and iOS apps separate

Home Assistant Companion replaces

Last reviewed Sep 13, 2026 · 876 words

There is nothing to host here. The Home Assistant Companion app is the official Android client, and it connects to a Home Assistant instance you already run. The reason it deserves a guide is that most people install it as a remote control and stop, when the useful half is the other direction: the app reports around 20 sensors from the phone back to the server, receives push notifications with actions, and reports location for presence. That turns every household phone into the cheapest sensor package you will ever add to the system.

Where it sits in the stack

The app is the edge. Home Assistant is the hub, and everything the app does flows through the mobile_app integration that HA enables automatically when the first phone registers. Each phone becomes a device with its own entities: battery level and charging state, connected Wi-Fi SSID, step counter, screen state, next alarm, and so on. You enable or disable each sensor per phone in the app's sensor settings, and the ones you leave off never hit the server. The iOS app is a separate codebase with a similar but not identical sensor list, so a mixed household gets two slightly different feature sets.

What people actually build with this: "next alarm" sensor to warm the bathroom before the first person wakes; SSID sensor as a cheap presence signal that does not depend on GPS; battery sensor to nag about the phone left uncharged; screen-off plus bedtime to switch the house to night mode.

Remote access is the first real decision

On the home Wi-Fi the app finds HA by its local URL. Off Wi-Fi it needs an external URL, and how you provide that is the same question every HA owner faces. Nabu Casa's cloud subscription (about 7 dollars a month at last check) is the zero-effort route and funds the project. Tailscale or WireGuard on the phone gives you the same result for free with a VPN toggle, and the app supports separate internal and external URLs so it switches by itself when you leave the SSID. Exposing HA directly to the internet through a reverse proxy works but puts the login page on the public web, and I do not recommend it for a first setup. Whichever you pick, the app needs the external URL to be HTTPS or location and notification features get flaky.

Notifications: rich, actionable, rate-limited

The notify.mobile_app_<phone> service delivers push messages that can carry images, action buttons, and commands. Actions come back to HA as events, so "Garage still open. Close it?" with a Close button is a five-line automation. Command notifications can also make the phone do things: ring at full volume even when muted, turn the screen on, launch an app.

Two constraints matter. The Google Play build delivers push through Firebase and HA's relay, which is rate-limited to 500 notifications per phone per day; a chatty automation loop can burn that by lunchtime. The F-Droid "minimal" build has no Firebase, so push does not work there at all unless you use the app's local websocket push, which keeps a persistent connection and costs some battery. If you want a notification channel that is independent of HA entirely, ntfy is the self-hosted complement and HA has an integration for it.

Location: good enough, not magic

Location reporting uses the platform's fused location provider and reports on zone enter and exit plus periodic updates. In practice it is reliable for "home or not home" and mediocre for anything finer. Android battery optimisation is the usual culprit when updates stop, and the app's own troubleshooting screen tells you which permissions are missing. Pair it with the Wi-Fi SSID sensor and a router-based device tracker for presence you can actually trust; any one signal alone will eventually mark someone away while they are asleep upstairs.

What it replaces and what it does not

The tagline says Google Home app. That is fair for control: dashboards, quick toggles, and camera views all work well in the Companion. What it does not replace is the assistant side; voice through the app is HA's Assist pipeline, which is improving but still needs setup and a speech model. And the app is useless without the server, so someone evaluating it fresh should read the first month with Home Assistant before installing anything on a phone. The wider home automation category covers the hubs that compete with HA if the whole platform is still an open question.

What I'd do

Install the Play Store build on every phone in the house, enable the battery, SSID, next-alarm and charging sensors and nothing else on day one, and use Tailscale for the external URL. Write one actionable notification (a door left open) to learn the pattern, and keep an eye on notification volume so the daily limit never surprises you. Add location tracking only once presence is combined with a second signal. Treat the app as a sensor pack that happens to have a dashboard, and it pays for itself in the first week.

Similar home automation apps