Most writing about home automation shows you what to build. This site is about what happens afterwards, which is the part nobody puts on the box: the years in which the system runs long enough to fail in ways no tutorial has heard of, and you slowly realise that most of what you called a safety net was optimism with a YAML file.
There are 177 automations here, across two homes in two countries, built and broken over several years. That number will be wrong by the time you finish this sentence. Behind them sit roughly 65,600 lines of YAML, Python and dashboard JSON, all home-grown, recounted at every build of this site, because a hand-maintained figure would already be a small lie and we have enough of those in the logs.
What follows is arranged the way a decent bar serves things: the ideas first, because they are pleasant, and then the lessons, which is the polite word for everything that went wrong so that it need not go wrong for you. Nothing here requires you to admire us. Most of it requires you to laugh at us, briefly, and then check your own configuration.
Start here
Two pages set up everything else: what the system is made of, and how the pieces fit together. And if you only take four lessons away, take the watchman, sensors that fail healthy, edge triggers and the confession; they are filed under lessons, and they are the foundations.
What the hardware actually is
Written 13 Aug 2026 · updated 13 Oct 2026The real bill of materials with verdicts: both meshes photographed, the coordinator that throws fatal errors on two separate units, why IKEA quietly holds the network up, and what I wouldn’t buy again.
hardwarezigbeethreadArchitecture: the shape of the whole thing
Written 11 Aug 2026Layers, protocol trade-offs, and where the seams always end up. The map that explains why the rest of the site keeps circling back to the same few boundaries.
architectureEveryday life
The parts you notice every day. Or rather, the parts you only notice once they stop.
Arriving, leaving, who else is home
Written 11 Aug 2026 · updated 19 Sep 2026Pre-cooling from live drive time, with the guard that stops it firing when you are simply parked across town. Disarming without leaving a gap. Inferring that somebody else is in.
presencearrivalComfort you did not ask for
Written 11 Aug 2026A fan governed by the temperature at the pillow. Suggesting a window instead of a compressor, and the measurement that tells you when that advice is wrong.
comfortsleepTurning a monitor off is harder than it sounds
Written 19 Sep 2026A 49-inch screen that heats the office like a second person, switched off by asking the Mac rather than the monitor. 84 W awake against 1.2 W asleep, a log that lags by seconds, and three failed tests caused by a hand on the mouse.
presencepowerSSHHow the house talks to you
Written 11 Aug 2026A briefing that appears when you switch the television on, not at 07:00. Notifications with a button. A system that hands you its own conventions at the moment you need them.
notificationsuxThe audio-video blob: eight protocols, one couch
Written 31 Aug 2026 · updated 19 Sep 2026A song crosses the cloud, the LAN, Zigbee, Bluetooth, Matter over Thread, an eARC handshake that changed hands when an HDMI matrix arrived, and four dialects of infrared to a 2010 television, a 2008 projector, the matrix and an operator's set-top box. Two remotes resurrected from their specifications, one taught to talk while its Bluetooth slept, and a plug whose only job is to testify whether a 2008 lamp actually struck.
audioprotocolsIRThe subwoofer, in full
Written 19 Sep 2026One BLE link, one writer, a loudness curve drawn by ear, three presets on a schedule, a database for albums mixed without bass, and a rotary knob that waits until you let go. Also a rounding bug that hid behind even numbers for weeks.
audiobluetoothlessonsA face on the wall
Written 2 Sep 2026The house spirit gets a small touch display: fifty faces juggled through two flash slots on a board with no memory to speak of, colours verified by screenshot, and a backlight that follows the light in the room instead of the clock.
house spiritdisplayhardwareA house that comments on your blood pressure
Written 19 Sep 2026 · updated 23 Sep 2026A Bluetooth cuff for two people, a comment on every reading by the European guideline bands, a wall display that looked surprised at a perfectly normal result, and, after one long night, a small board by the bed that reads the cuff itself because the house kept dropping the proxy's reports.
healthBluetoothreference rangeAppliances and upkeep
Written 11 Aug 2026Metering an appliance that has no meter. Latching values the API clears. Turning consumables into one shopping list instead of five interruptions.
applianceschoresWhen to open a window
Written 11 Aug 2026Relative humidity can’t answer this, and the sensor everybody owns gives the wrong answer with total confidence. What to compute instead, and why the wind threshold is lower for a tilted window than a wide-open one.
aircomfortAiring into a wall
Written 19 Sep 2026A bedroom door opened onto a glazed balcony with the outer window shut, and a departure warning sent to one of us while the other was demonstrably home. One sensor the house did not have, two trackers it had gone to real trouble to build, and two automations that never asked.
windowspresencetemplatesThe automations that must never be wrong
Written 11 Aug 2026Six rules for the handful that cut power and gate alarms: which way the safe default points, why you never gate on a mirror, and why an automatic remedy needs a list of things it may not touch.
safetyIdeas worth stealing
The automation that is not useful
Written 11 Aug 2026 · updated 14 Oct 2026A home with a mood, shown as colour on a lamp. Smoothed so it has inertia, with a memory of when things last happened. Entirely unjustifiable, and nobody wants it removed.
ambientdelightListening to a washing machine
Written 6 Sep 2026 · updated 19 Sep 2026A washer-dryer that talks only to a cloud in another country, and what it took to make it talk to us instead. The protocol is read, twenty-one settings are mapped, and the commands we sent were ignored for the most reassuring reason.
protocolscaptureTLSDetecting things you never bought a sensor for
Written 11 Aug 2026Cooking, from an air sensor. Telling two indoor sources apart because they move opposite pollutants. Activity in a room from the slope of a CO₂ curve. Sleep from the whole home going quiet. A sensor that is online and completely stuck.
inferencecookingairSeventy grams of water
Written 19 Sep 2026 · updated 14 Oct 2026A soil probe in a pot of basil on the kitchen shelf. The first weighed watering, the reading that lied twice in ten minutes, a reminder that arrived nine hours after the plant had given up, and the pump that has since been built, with a tray sensor for a brake and a rosemary that declines to take part.
plantscalibrationsensorsA fan with opinions
Written 12 Sep 2026 · updated 23 Sep 2026An air purifier that is off until there is a reason, follows the trend, floors on the level, and is allowed to be loud only in an empty room. Three small bugs, exported.
airregulationquietHow calm was the night
Written 6 Sep 2026 · updated 23 Sep 2026A sleep score from the house itself: toilet trips, radar flips, CO₂, heat, hall light. The wearable testifies only when it was there. Bad night, sleepy spirit.
sleepsensorsscoringNowcasts, not forecasts
Written 11 Aug 2026Lightning that is approaching rather than merely near. Rain in the next fifteen minutes. Indoor versus outdoor air deciding whether to open or shut. Confirming that the ventilation actually happened.
weatherstormsventilationCalibrating the thermometer you cannot move
Written 12 Sep 2026 · updated 14 Oct 2026Radiator heads that trust a thermometer bolted to the radiator. The head keeps its loop, the house corrects its beliefs, and the size of the correction announces the first day of autumn.
climatecalibrationheatingClosing the loop on a one-way remote
Written 2 Sep 2026An infrared air conditioner never answers. A tilt sensor on its louver does: a verified shutdown with one retry, a start that refuses to toggle a running unit, and an assumption that corrects itself and says so.
climatesensorsIRThe phone that introduces itself
Written 12 Sep 2026A phone that reports its own public address, a firewall list that forgets it in two days, and a JSON body that stopped being JSON without anyone being told.
accessfirewallwebhooksSystems that repair themselves
Written 11 Aug 2026 · updated 13 Oct 2026The stuck HDMI audio handshake that fixes itself. Routes a router forgets on every reboot. A circuit breaker that disables a runaway automation before it fills the disk.
recoveryself-protectionAutomations that do not fight
Written 11 Aug 2026The alarm takes the lights and gives them back. Colour alerts stay quiet while the siren runs, though not for the whole time you are away. Suppress the loud path, keep a quiet one.
prioritylightsalarmA system that reports on itself
Written 11 Aug 2026An alarm message carrying the evidence a person would have gathered. A nightly review of twenty-four hours of behaviour, looking for anomalies, waste, and things that should have fired and did not.
reportingreviewThe night shift is a language model
Written 14 Aug 2026 · updated 19 Sep 2026Field notes on the AI caretaker: unoffendable, diligent, and wrong in instructive ways. Includes the machinery that protects the house from the enthusiasm of its own staff.
aireportingThe bank installed a sensor in my wallet
Written 14 Aug 2026 · updated 14 Oct 2026Card payments as a telemetry stream: captured twice on purpose, watched for silence, and treated as hostile text all the way to the screen.
moneydataCalendars, read-only and distrusted
Written 6 Sep 2026Secret iCal instead of OAuth, an integration that polls once a day, trip routes rebuilt from hotels because titles lie, and a reminder that is not an appointment.
calendartravelparsingPredicting wear instead of reacting
Written 11 Aug 2026Batteries forecast into one shopping list. Limescale visible in energy-per-cycle months early. The washing-machine reminder that stops the drum smelling.
maintenancetrendsMeasure the thing that matters
Written 11 Aug 2026Dew point instead of humidity. Power factor instead of watts. And a row of smart plugs turned into an instrument that can find a bad circuit before it gets hot.
physicselectricalA spirit that gets tired of itself
Written 6 Sep 2026A priority ladder stuck on two moods for 71 percent of a day. Fatigue computed from its own history fixed it; then it learned the hour, the way to the toilet, and how to make a remark.
house spiritrotationnightLessons, mostly learned the hard way
Nobody is watching the watchman
Written 11 Aug 2026 · updated 19 Sep 2026Every alert path (push, mail, chat bot) runs inside the thing it reports on. When that dies, they all go quiet together and nobody hears about it. Invert it: alarm on the absence of a signal.
monitoringEdge triggers lie to you
Written 11 Aug 2026A pending timer lives in memory, and memory does not survive the restart you perform during the incident it was meant to catch.
triggersSensors that fail “healthy”
Written 11 Aug 2026A default value in a guard position turns missing data into a confident wrong answer. The most dangerous sensor is the one that never admits it does not know.
safetyTwo sources, and their disagreement
Written 11 Aug 2026Redundant capture is easy; noticing that a path went quiet is not. And when two sources disagree, that disagreement is information. Averaging it away throws the information out.
dataAlerts you will still trust in a year
Written 11 Aug 2026Thresholds from measurements, not feelings. Quiet hours. Cooldowns. And letting the automatic repair finish before paging anyone.
notificationsDo not try this at home
Written 11 Aug 2026The logger that logged its own logging. The command that blinds every alarm you own. Sensors that freeze at “healthy”. A television that needs the amplifier switched off. Mechanisms included.
war storiesDo not try this at home: part two
Written 11 Aug 2026The one-liner that empties the file it is reading, a guard that matched its own comment, and the day two independent sources were both confidently wrong at once.
war storiesThe bulb that kept applying for a job
Written 19 Sep 2026A phone kept offering to add a Matter device that nobody had bought. Fifteen minutes of Bluetooth, a twenty-five-line catcher and a vendor id later, the ghost had a name, and it was already on the payroll under a different protocol.
MatterZigbeewhodunitThree I have not seen anywhere else
Written 11 Aug 2026 · updated 12 Sep 2026The favourites, re-judged on the only axis that matters, originality: a house with a mood, a life sensed without buying sensors for it, money as hostile telemetry. The old champions keep a shelf, wiring map included.
favouritesTen readers, one afternoon
Written 2 Sep 2026Ten independent read-only reviewers, one box, two hours. Frozen sensors that were an API artefact, a zombie detector blind since July, a forecast that never expired, and a reminder that could not fire. Plus the readers' own mistakes.
reviewwatchdogsmethodVerifying the wrong thing
Written 11 Aug 2026A worked example with timestamps: the check passed, the safety automation started the air conditioner it was written to stop, and the warning against doing this was already published on this site.
post-mortemMotion is not presence
Written 19 Sep 2026A living-room radar invented a person for 41 minutes and quietly cancelled the night; tuned down, it lost a real one lying on the couch. What two of the flat's radars taught us about still people, range, and the cost of a sensor that says "off".
presencemmWaveverified-wrongA field guide to specific traps
Written 11 Aug 2026 · updated 13 Oct 2026Zombie containers, self-feeding log loops, frozen polled sensors, config that validates and does nothing, and encoding mismatches that fail in total silence.
debuggingThe one idea underneath all of them
An automation that fails loudly is a nuisance. An automation that fails silently is worse than never having built it, because you have arranged your life around a promise nobody is keeping and nobody has mentioned.
Nearly every page here is a variation on making failure visible: refusing to emit a number when there is no data, checking outcomes rather than configuration, and keeping at least one observer outside the box it is observing.