WORKBENCH · SYSTEMS
THE HOUSE · OCTOBER 2026

Eleven apps, one house.

How I went from a phone folder full of smart-home apps to one bus, one brain and one database. What each app turned into, what the house looks like a year later, and what broke on the way.

Then → now

The "Home" folder, 2024 → 2026
AlexaApple HomeTuyaHueSwitchBotTahomadevoloAqaraShellySmartThingsNuki
→
ONE STACKAgents → HA → KNXBRAIN · HUB · BUS
STRUCK = gone · PLAIN = still here, but only as hardware behind HA. Apps I still open: Home Assistant, and Alexa by voice. The decisions are made one layer up, by the agents.

In the last place we lived, my phone had a folder called "Home". Eleven apps in it. Each one owned a slice of the flat: blinds in Tahoma, lights in Hue, plugs in Tuya, sensors in Aqara, the front door in Nuki, the washing machine in SmartThings, voice in Alexa, cameras in Apple Home. None of them knew the others existed.

It worked the way a patched thing works. Every scene that crossed two brands needed a bridge, and every bridge was a cloud account that could change its terms, break its API or go dark. When one did, I debugged it standing in the hallway with four apps open.

Moving house was the chance to do it once, properly.

1,839entities in HA
69KNX devices on the bus
56automations
10cameras in Frigate
155hourly series in the lake

The plan: photograph the house before touching it

4 domains · 12 subsystems

Before buying a single device I made a board. Four domains, twelve subsystems, two columns: Today and the target. Under Today went a photo of every panel, box and keypad the house came with. A year later, nine of twelve live in one place. Three were left alone on purpose.

Access control & security
AlarmLEFT ALONE
wired panel, keypad
Still the keypad. The working alarm is the cameras: ten in Frigate, 32 zones, person detection out of hours, push to the phone.
Main doorIN HA
DoorBird, fingerprint reader
DoorBird + fingerprints as named events: the house logs who came in and when. A Shelly sensor says whether the door is open. This is what Nuki used to do.
Garage doorIN HA
motor, wall button
Shelly relay + sensor. Open, close, stop from HA or by voice; a camera zone on the door confirms it.
Basic infrastructure
ElectricalIN HA
two Hager cabinets, KNX bus
KNX, untouched and finally documented. 69 devices, 177 group addresses, 135 in HA. The installer had named 10 of 69; the project files arrived a year after we moved in.
InternetREBUILT
Salt fibre modem, a few sockets
UniFi. One gateway, seven U7 Pro access points, a PoE switch. 61 clients on one VLAN, which is the next thing to fix.
LightsIN HA
KNX panels, dimmers
47 light entities, 7 dimmers. Five lights still dim only from the wall: the bus can, HA can't yet.
EnergyIN HA
ELCO air-to-water heat pump
65 entities from the heat pump: curve, hot water, compressor hours. The curve is an experiment with a target the family chose: 24 °C.
Maintenance
CleaningIN HA
washer, dryer, robot vacuum
Samsung pair via SmartThings, robot via Matter. The vacuum's own app had closed every local port; Matter gave start, stop and modes locally, no cloud.
GardenIN HA
hose reel, lawn
Gardena sensor and valve, Mammotion mower. 89 entities from the mower alone. Soil moisture has never dropped below 60 %; the irrigation thresholds are still theoretical.
Entertainment
Screens & audioIN HA
wall speaker plate, media rack
Sonos in kitchen and living room, Apple TV and an Epson projector in the gym over PJLink. Six Echo Dots for voice.
SaunaLEFT ALONE
sauna controller
Heats on its own timer. HA knows the light and nothing else.
FireplaceLEFT ALONE
fireplace switch
The blind and the lamp beside it are in HA; the fire is not. Some things I don't want software between me and.

Four layers, one job each

Bus · hub · lake · brain
01 — THE BUS

KNX

Lights, dimmers, blinds and presence detectors, wired, no app, no cloud. If every computer in the house dies, the switches still switch. That is the whole point of a bus.

50 panels · 4 actuators · 7 dimmers · 5 presence · all Hager
ALWAYS WORKS
02 — THE HUB

Home Assistant

A Raspberry Pi 4 in the technical room. Every device ends here over local protocols. It runs the reflexes that must fire in milliseconds: a door opens, a light follows. It executes. It does not decide.

1,839 entities · 56 automations · 69 integrations
THE HANDS
03 — THE LAKE

Postgres

Every hourly reading lands in the same database that holds my training and my money. The house is a dataset, and nobody types into it: agents read it, loaders write it.

155 series since 2024-07 · 4 loads a day
THE MEMORY
04 — THE BRAIN

The agents

Headless Claude Code processes on the Mac. They read the lake and the hub, compare against rules written in plain markdown, and act: a push, a restart, a change in the heating curve. The same swarm that runs my mornings.

9 house agents · schedules from 5 min to daily
DECIDES
Huusmeischtr4×/day + alerts
Reads the whole house into the lake and writes the house section of the morning brief. Pushes when it matters: hot water under 45 °C with someone home, a door open after 22:00, a battery under 20 %, the wine cellar too humid.
Cam-healthevery 15 min
Frame-rate bands for ten cameras. If a camera's counters freeze for 30 minutes and its source still answers, it restarts the recorder itself, at most once every six hours, and tells me afterwards.
Bitácoraevery 5 min
Who came in and when: fingerprints at the door, door sensors, camera zones. One timeline a day, with source and confidence, instead of five apps' notification history.
Cam-visionnightly
A local vision model reads the day's clips and names what the detector only counted. Runs on the Mac, nothing leaves the house.
Storen experimentdaily report + watchdog
A randomised A/B test on blind positions per room against indoor temperature. The hub executes the arm of the day; the agent checks it ran, reads the result, writes the daily report.
Heating curveseason-long
Steps the heat-pump curve down and measures the rooms against the family's target of 24 °C. The experiment is in the lake; the thermostat is not in charge.
Coche-checkhourly
Two Teslas: plugged in under 40 %, windows open in the rain, trips into the lake.
Riego-checkdaily
Soil moisture against the forecast. It has never had to open the valve: the sensor has not dropped below 60 % since it was installed.
Wi-Fi retries4×/day
Retry rates per access point and band. It is how I found that fast roaming was what the DoorBird hated.

Home Assistant is excellent hands. It is a poor brain: it knows the state of 1,839 things and the history of none of them. The decisions that need memory, a baseline or a comparison across weeks live one layer up, where the rules are a paragraph of prose I can edit from my phone.

What happened to the eleven apps

11 → 1
AppIt didIt is now
NuNukiThe front-door lockDoorBird with fingerprints, logged into HA; a Shelly sensor on the door.GONE
HueColour and dimmingKNX dimmers dim; the Hue integration sits ignored in HA with zero entities.GONE
SoTahomaBlindsKNX. 26 covers in HA, one of them a Shelly on the kitchen blind.KNX
dvdevoloWi-Fi mesh and plugsUniFi, wired. Fast roaming switched off on purpose because the DoorBird hated it.GONE
AqAqaraDoor, window and climate sensorsStill here, through Matter. Five hubs remain; their sensors reach HA locally, 134 Matter entities in total. The app is for pairing, nothing else.HARDWARE
ShellyRelaysNative and local. Four devices: three door sensors, one cover. No cloud.HARDWARE
SmartThingsEverything SamsungOnly the washer and dryer, so the laundry view knows when a cycle ends.HARDWARE
TuTuyaCheap plugs and camerasNearly gone. Two OSAIO cameras still speak only Tuya; they move or retire next.GOING
SbSwitchBotButtons and curtainsNothing here needs a robot finger.GONE
Apple HomeCameras, some scenesBeing emptied. Two Eve cameras and an Aqara G3 are left; the plan is to pair them into go2rtc so Frigate records them like the other ten.GOING
AxAlexaVoice, musicVoice only. Six Echo Dots for "turn off the kitchen" and timers. They control nothing directly; HA does.VOICE

What came in that was never an app

Local first

The rule for everything new was the same: local first, cloud only when the device gives no choice.

  • Ten cameras in Frigate on a separate NVR: object detection, face recognition for the household, 30 days of retention. The DoorBird and the fingerprint reader feed the same log.
  • Two Teslas through the Fleet API: doors, windows, charge, trips into the lake.
  • Robot mower, Gardena irrigation, Eight Sleep, the e-bike, the gym projector. All in HA, all in the brief when they matter.

What broke

A clean architecture is not a quiet one
  1. Editing Home Assistant's storage files by hand stopped the whole house for 25 minutes. Never again; everything goes through the API now.
  2. The DoorBird is Wi-Fi only and cannot be cabled. It drops the network a few times a month. When it hangs, only a power cut brings it back. It is hanging right now, while I write this from Japan.
  3. Frigate was writing 193 GB a day because three cameras detected on a deformed image and the hardware acceleration was crashing ffmpeg 1,500 times a night. Both found by reading the data, not the UI.
  4. The 2.4 GHz band carries nine cameras, five hubs, six Echos and the appliances. It is full by design. Cabling the garage cameras is the next physical job.
  5. Matter is multi-admin but not multi-everything. It brought the vacuum and the Aqara sensors in locally, and it still cannot do a camera.

The rules I'd give someone starting today

Photograph the house before you buy anything.Twelve subsystems on a board cost one afternoon and saved a year of buying twice.
Put the things that must always work on a bus.Lights and blinds do not need an IP address. KNX is expensive on day one and free every day after.
One brain.Any device Home Assistant cannot reach locally is a device you are renting.
Keep the old hubs if they bridge to Matter or MQTT; delete the old apps.The hub is hardware; the app is a habit.
Log everything to a database you own.The experiments, the alerts and the agents all came after the data, not before.
Leave some things alone.The sauna, the fireplace and the alarm keypad work without me. That is also a design decision.

Eleven apps, one house. The phone folder is gone. The hallway debugging is gone. What is left is a bus, a brain, a lake, and a family that asked for 24 degrees and got it.

crisgrossmann.com · the housenumbers read from Home Assistant on 2026-10-13

← BACK TO THE WORKBENCH