
Smart home companies fold all the time. Insteon walked away from its servers overnight in 2022, Wink throttled its hubs behind a paywall, and Revolv bricked every device it ever sold when Nest bought the company. The pattern is consistent: the moment a vendor cloud goes dark, every bulb, plug and sensor tied to it stops responding. A local-first smart home flips that dependency. The hub lives on your network, the rules run on your hardware, and the app talks straight to your gear over LAN. We spent a month testing local-first smart home apps for Android, picking the seven that hold up in 2026 whether you are migrating a single Tuya plug or running a 200-device Zigbee mesh.
The shortlist below covers full open-source platforms (Home Assistant, openHAB, Domoticz, AndFHEM), a paid commercial hub with a local-by-default story (Hubitat), and two vendor apps that still expose meaningful local control if you set them up correctly (Mi Home and Tuya Smart). The companion mobile apps differ in polish and feature set, so we focused on what each one does well rather than ranking them like a contest.
What to look for in a local-first smart home app
Five things separate a real local-first setup from one that just looks offline.
LAN-only operation. The app should reach the hub over your home network, with no round trip to a vendor server. Test it with the router’s WAN port unplugged.
No manufacturer cloud dependency. Pairing, automations, and device firmware updates should all work without an active account at a third-party SaaS. Vendor lock-in is usually hidden inside the pairing flow.
Multi-protocol support. Zigbee, Z-Wave, Matter, Thread, MQTT and ESPHome cover almost every device sold in 2026. A hub that speaks one protocol is a hub you will replace within two years.
Automation engine on the hub. Rules need to live on the local controller so a power-cycle of your router does not stop the bedroom lights from turning off at midnight.
Dashboard customization and open data export. Cards, floor plans, gauges, history graphs, and a way to pipe sensor data out to InfluxDB, Prometheus or a plain CSV. Without export, you do not own the data.
Quick comparison
| App | Best for | License | LAN-only | Protocols | Price |
|---|---|---|---|---|---|
| Home Assistant Companion | All-in-one local hub | Apache 2.0 | Yes | Zigbee, Z-Wave, Matter, Thread, MQTT, ESPHome and 2,000+ others | Free |
| openHAB | Rule-driven Java setups | EPL 2.0 | Yes | Zigbee, Z-Wave, KNX, MQTT, Modbus, 400+ bindings | Free |
| Hubitat | Plug-and-play local hub | Proprietary | Yes | Zigbee, Z-Wave, Matter, LAN | Paid hub |
| Domoticz | Lightweight Pi setups | GPL-3.0 | Yes | Z-Wave, MQTT, RFXCOM, EnOcean | Free |
| AndFHEM | FHEM veterans | GPL-2.0 | Yes | FS20, HomeMatic, Z-Wave, MQTT via FHEM | Free |
| Mi Home | Xiaomi gear with local mode | Proprietary | Partial | Zigbee, BLE, Wi-Fi (Xiaomi only) | Free |
| Tuya Smart | Tuya devices via LocalTuya | Proprietary | Partial after extraction | Wi-Fi, Zigbee (Tuya only) | Free |
The apps
1. Home Assistant Companion, best for an all-in-one local hub

Home Assistant Companion is the Android client for Home Assistant, the open-source platform that has become the default answer for serious local-first setups. The server runs on a Raspberry Pi, a NUC, a NAS, or a spare laptop, and the app talks to it directly on your LAN. It supports Zigbee and Thread natively through the Home Assistant SkyConnect dongle, Z-Wave through Z-Wave JS, Matter through the built-in controller, and roughly 2,000 other integrations covering everything from Shelly relays to Reolink cameras.
The companion app handles geofencing, sensor reporting from the phone (battery, light, activity), push notifications generated by your automations, and dashboards rendered identically to the web UI. Voice control runs locally via the Assist pipeline when paired with a Wyoming server and a local Whisper model, so your microphone audio never leaves the house.
Where it falls short: The learning curve is steep. The first weekend is spent learning YAML, deciphering integration docs, and debugging entity IDs. The Companion app itself occasionally drops the LAN-direct connection and falls back to Nabu Casa Cloud if you have it enabled.
Pricing: Free, including the app and the server. Optional Nabu Casa subscription (around 6.50 EUR per month) funds development and adds remote access without port forwarding.
Platforms: Android, iOS, web.
Bottom line: If you only install one app from this list, install Home Assistant Companion. Everything you might want to add later is already a click away inside the server.
2. openHAB, best for rule-driven Java setups

openHAB has been around since 2010 and remains the strongest alternative to Home Assistant for people who prefer a stricter, JVM-based stack. The server runs on Linux, Windows, macOS, or as openHABian on a Pi. It speaks Zigbee, Z-Wave, KNX, MQTT, Modbus, DALI, and roughly 400 community bindings. The mobile app gives you a sitemap-driven UI, push notifications, and a tile dashboard configurable from the openHAB console.
The reason teams pick openHAB over Home Assistant is the rule engine. You write automations in Blockly, JRuby, JavaScript, or DSL files, with full IDE support through the VS Code openHAB extension. For deployments with strict change-management or audit requirements, that text-based, version-controllable model is easier to defend than YAML buried in a folder structure.
Where it falls short: The marketplace of integrations is smaller than Home Assistant and updates more slowly. The Android app is functional but visually plainer than the Home Assistant companion.
Pricing: Free, no premium tier. Optional myopenHAB cloud connector is free and only relays push notifications and remote access.
Platforms: Android, iOS, web.
Bottom line: Pick openHAB when text-defined rules, KNX support and a JVM stack matter more than a giant integration catalog.
3. Hubitat, best for a plug-and-play local hub

Hubitat Elevation is the local-first hub for people who want the convenience of a commercial product without the cloud strings. The hub is a small box that runs the Hubitat OS on its own, processes automations on-device, and only reaches the internet for firmware updates and optional remote access. The Android app is the everyday driver: dashboards, scenes, push notifications, location-based rules through Hubitat Presence.
Out of the box it speaks Zigbee 3.0, Z-Wave Plus, Matter, and any LAN device that exposes a driver via the Hubitat community library. The Rule Machine engine is enough to replicate most IFTTT and SmartThings flows without leaving the box, and Maker API lets Home Assistant or Node-RED talk to it cleanly if you want to layer something on top.
Where it falls short: The hub is paid hardware (around 150 USD for the C-8 Pro), and the software is proprietary, so if Hubitat folds you keep your devices but lose the platform. The mobile app’s dashboard editor is showing its age.
Pricing: Free app, paid hub. Optional Hub Protect subscription for cloud backup of hub configuration (around 30 USD per year).
Platforms: Android, iOS, web.
Bottom line: The least painful path to local control if you do not want to maintain a Linux server.
4. Domoticz, best for lightweight Pi setups

Domoticz is the elder statesman of self-hosted home automation. The server is a single C++ binary, runs on Raspberry Pi Zero up to a full Linux box, and uses a fraction of the RAM Home Assistant needs. It is the right pick when you want a long-running controller on modest hardware, especially for cabin or off-grid setups. Native support for RFXCOM 433 MHz transceivers, Z-Wave through OpenZWave, MQTT, P1 smart meter readers, and EnOcean covers most European and DIY hardware.
The Domoticz Lite Android app is a clean wrapper around the web UI plus push notifications. You get switches, sensor cards, an event log, and floor-plan-style layouts. Scripting is done in Lua, dzVents (Lua wrapper), Blockly, or Python, all running on the server.
Where it falls short: The UI feels dated next to Home Assistant. Matter support arrived later than competitors and is still maturing. Community is smaller, so niche integrations may not exist.
Pricing: Free.
Platforms: Android, iOS, web.
Bottom line: Best fit for a Raspberry Pi Zero or older hardware where Home Assistant feels heavy.
5. AndFHEM, best for FHEM veterans

AndFHEM is the Android front-end for FHEM, the long-running German home-automation server written in Perl. FHEM is widely used across European DIY setups for HomeMatic, FS20, EnOcean, KNX, and Z-Wave, and it scripts heavily in its own DSL. The app exposes rooms, devices, and FHEMWEB widgets in a touch-friendly interface, with offline cache, geofencing, NFC tag triggers, and a self-updating Tasker plugin.
This is a niche pick by design. If you already run FHEM, AndFHEM is the cleanest mobile companion. If you do not, this is not the place to start.
Where it falls short: FHEM has a vertical learning curve and an interface most people give up on within an evening. The app inherits FHEM’s complexity, with terminology that assumes you have read the wiki.
Pricing: Free, optional premium upgrade (around 7 EUR one-off) unlocks widgets, billing graphs and an extended timeline.
Platforms: Android.
Bottom line: The pragmatic Android client if your hub is already FHEM. Skip it otherwise.
6. Mi Home, best for Xiaomi gear with local mode

Mi Home is the official Xiaomi app, and it earns a spot on this list because Xiaomi’s hardware exposes a documented local API once you extract the per-device token. With Home Assistant’s Xiaomi Miio integration, you can pull tokens straight from the Mi Home app’s database and then drive vacuum cleaners, air purifiers, humidifiers, sensors and Aqara Zigbee gateways without the Xiaomi cloud touching anything. Mi Home itself still runs against Xiaomi’s servers, but pairing is the only point where you need it.
The app is also useful for firmware updates and the occasional region change. We use it as a one-time onboarding tool, then hand the device to Home Assistant for everyday control.
Where it falls short: The app is not local on its own. Xiaomi’s account system, region locking and inconsistent device naming make it a chore. Token extraction has gotten harder with each major version, so older how-to guides may not match the current UI.
Pricing: Free with ads and promoted Xiaomi products.
Platforms: Android, iOS.
Bottom line: Install it once to pair a Xiaomi device and extract its token, then move control to Home Assistant.
7. Tuya Smart, best for Tuya devices via LocalTuya

Tuya Smart is the white-label app behind thousands of rebadged plugs, bulbs, sensors and curtain motors sold by hundreds of brands. It is a cloud app on its own, but Tuya exposes a documented LAN protocol, and the LocalTuya custom component for Home Assistant talks to most Tuya devices directly once you extract their local key. As with Mi Home, the official app is mainly a pairing tool in our setup.
The app itself is heavy and ad-laden, but it handles the initial Wi-Fi handover cleanly, supports almost every Tuya-OEM device you might own, and lets you check firmware status. Pairing is meaningfully easier here than in some of the open-source paths.
Where it falls short: Without the LocalTuya bridge, every action goes through Tuya’s cloud, including events triggered by buttons on the device itself. The app pushes upsells and promotional content. Tuya has changed its developer API tiers more than once, so the data extraction step needs occasional re-validation.
Pricing: Free with promoted content.
Platforms: Android, iOS.
Bottom line: Use Tuya Smart for first-time pairing, then hand control to LocalTuya through Home Assistant so the devices stop phoning home.
How to pick the right one
Start with the question of who is going to maintain it. If that is you and you enjoy tinkering, install Home Assistant on a Raspberry Pi 5 or a refurbished mini PC, add the Companion app, and grow from there. The platform covers nearly every protocol and the community fills the gaps faster than any vendor.
If you want minimum maintenance and are willing to buy hardware, pick Hubitat. The hub arrives ready to pair Zigbee and Z-Wave devices, the rule engine handles most automations without code, and the app gives a stable dashboard that does not need YAML.
If your stack is already KNX, Modbus, or built around well-defined rules that live in a code repo, openHAB will feel more natural than Home Assistant.
If you are running an old Pi Zero in a holiday rental and need power-loss-resilient automation with a small footprint, Domoticz is the lean answer.
The two vendor apps belong in the toolkit only as pairing assistants. Once a Xiaomi or Tuya device is on your Wi-Fi and you have extracted its token or local key, hand control to Home Assistant and you can uninstall the originals if you want.
FAQ
Do I still need internet for Home Assistant? No. Once the server is installed and integrations are configured, automations, dashboards, voice (via the local Assist pipeline) and notifications to in-network devices all work with the WAN port unplugged. Internet is only needed for remote access, weather data and updates.
Can I run a smart home without a hub? Mostly no. A few Matter and Thread devices can be paired straight to a phone, and ESPHome firmware lets you flash devices to talk MQTT directly, but the moment you want one device to react to another you need a controller. A controller does not have to be commercial hardware: a Raspberry Pi or an old laptop is enough for hundreds of devices.
What if the manufacturer shuts down? For locally controlled devices, nothing changes. Zigbee and Z-Wave bulbs, Matter devices, MQTT-flashed plugs and any gear paired to Home Assistant or Hubitat keep working because the cloud was never in the path. The risk is cloud-only devices, which is why we strip them from new installs.
Will my voice commands still work locally? Yes, with setup. Home Assistant’s Assist pipeline runs Whisper for speech-to-text and a choice of TTS engines on your own hardware. Wyoming satellites or an Atom Echo handle the microphone side. Latency is higher than Google Assistant, but the audio never leaves your network.
Does Matter make all of this easier? Matter helps because devices speak a shared protocol over IP, so any controller can pair almost any Matter device. It does not remove the cloud question: many Matter products still need a vendor app for firmware and advanced settings, and not every legacy device will ever get a Matter firmware. Treat Matter as one more good protocol, not a complete answer.
Can I migrate from SmartThings without re-buying devices? Yes for most Zigbee and Z-Wave devices, no for the proprietary ones. SmartThings hubs do not export pairing keys, so you will re-pair Z-Wave devices to the new controller (Hubitat or Home Assistant via Z-Wave JS). Zigbee devices migrate cleanly once you put them in pairing mode.