Home Assistant runs in Docker on a Raspberry Pi 4 that lives on both home networks at once — the only host that can see everything — driving lights, alarm, doorbells and solar, all locally, no vendor cloud.
The trick isn't the Raspberry Pi — it's where it sits. This one machine is the only host on both home networks at the same time, so a single Home Assistant instance can reach every device.
The wired interface, eth0, sits on the main house LAN and holds the default route. A second interface, wlan0, joins a hidden mesh network where most of the smart devices actually live. Nothing else on the network straddles both — only the Pi.
That only works because Home Assistant runs in Docker in host-network mode — it needs to see both interfaces directly, so one instance discovers and drives devices on either side. Bridged or NAT networking would wall half the house off.
The same Pi quietly carries MQTT, Node-RED and a solar grid-control flow alongside HA, all on a trivial load, booting from a USB SSD rather than a fragile SD card.
One box, two homes
Every integration talks to its device on the LAN — some the official local way, some only after a little reverse-engineering. None of them phone a cloud.
Eighteen plugs, lamps and switches driven by their local keys, not the Tuya cloud. The energy-monitor plugs report live power straight into HA.
Five RGB bulbs on a Bluetooth broadcast mesh — reverse-engineered from the app and driven straight off the Pi's own Bluetooth radio. A mid-house bulb relays to the far ones.
An Elements panel that refused the normal flow — so the pairing token was captured during pairing and injected into the config directly.
Two wired doorbells and two chimes. A press announces "someone's at the front door" on every Google speaker, and the front door lives on the wall panel.
A Cerbo GX read over Modbus TCP every five seconds — three arrays, a 32 kWh battery, the MultiPlus-II, grid flow and house load — with derived daily kWh meters and a recorder filter so 453 entities at that rate don't drown the database.
Self-hosted Google Assistant — no Nabu Casa subscription. Arm the alarm, boost the hot water, and every light in the house, all by voice.
An underfloor heating system read locally over the LAN — eight room thermostats and the hot water, no Wunda cloud. Full detail below.
Both Samsung TVs, the Shield, the Nest displays and Linda's cast TV on a Media tab — controlled locally, and painted with a room's album art the moment it plays. The IR-only set-top boxes wait on a Harmony bridge.
The Victron array read live — here's the power flowing through the house across the day. Pick a moment and watch it move.
A WundaSmart underfloor system, pulled fully local into Home Assistant — eight rooms and the hot water, each on the wall panel and under voice control, with nothing going to Wunda's cloud.
Lounge, Kitchen, Hall, Bathroom, both bedrooms, Guest and Utility — each a climate entity with its own temperature, set-point and "calling for heat" state, plus humidity, battery and signal from every room stat.
The Davis CH water heater with a one-tap hour boost right on the panel — and by voice, the same as the alarm.
The Hub Switch talks 868 MHz to the room stats; Home Assistant reaches the hub over the LAN and reads it directly — no Wunda app, no cloud round-trip.
On the wall panel each room tile is tinted by its own temperature — cool blue through to warm amber — with a 24-hour trend line and the room's humidity, so the whole house reads at a glance and a tap opens the full thermostat.
The control surface isn't a shiny new screen — it's a decade-old Samsung tablet that had been dead in a drawer for years, given one more job.
Reflashed with LineageOS and locked to Fully Kiosk, it's now bolted to the wall running one full-screen Home Assistant dashboard, with all of HA's own chrome hidden so it reads like an appliance, not an app.
Home Assistant drives it back: the screen comes on with the sunrise — floored to 06:30 so early summers don't wake the hallway at four — goes black the moment you say "sleep", and taps back to life at night. It now runs a six-tab dashboard that never scrolls — solar at five-second resolution, alarm, doorbells, lights — inside a two-part printed wall mount, and watches whether its own charger is keeping up.
The reflash
The dashboard travels with you — without opening a single port on the router, and without ever trusting a change that hasn't been checked first.
A dedicated tunnel exposes Home Assistant over HTTPS with no open ports on the router — the connection is outbound-only. The phone app rides the tunnel when you're away and drops to the local IP the moment you're home on Wi-Fi.
The whole config lives in a private git repo. Every risky change is backed up and validated before it's allowed to load, so a bad edit can't take the house down — and secrets and tokens never leave the Pi.
Lights, alarm, doorbells, solar and voice all answer to a single dual-homed Pi that sits on both networks and talks to every device on the LAN. No vendor cloud decides whether the lights turn on; no monthly fee keeps the dashboard alive. Old hardware got a second life, the config is versioned and recoverable, and the only thing leaving the house is you — over an outbound-only tunnel.