Home automation field notes All concepts

field notes

What not to do in home automation, as taught by years of doing it

Things a home automation system only teaches you after a few years, once it has stopped being a hobby and started being a roommate. The tuition is paid. Help yourself to the notes.

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 47,400 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

The 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.

hardwarezigbeethread

Architecture: the shape of the whole thing

Layers, 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.

architecture

Everyday life

The parts you notice every day. Or rather, the parts you only notice once they stop.

Arriving, leaving, who else is home

Pre-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.

presencearrival

Comfort you did not ask for

A 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.

comfortsleep

How the house talks to you

A 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.

notificationsux

The audio blob: seven protocols, one couch

A song crosses the cloud, the LAN, Zigbee, Bluetooth, an eARC handshake with a 2010 television and an infrared link to a 2008 projector whose remote no longer exists. Includes a remote resurrected from its own specification.

audioprotocolsIR

A face on the wall

The 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 spiritdisplayhardware

Appliances and upkeep

Metering an appliance that has no meter. Latching values the API clears. Turning consumables into one shopping list instead of five interruptions.

applianceschores

When to open a window

Relative 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.

aircomfort

The automations that must never be wrong

Six 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.

safety

Ideas worth stealing

The automation that is not useful

A 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.

ambientdelight

Listening to a washing machine

One full cycle captured at the router: one broker session, mutual TLS with a per-device key, and a redirect test that failed for the oldest reason in networking.

protocolscaptureTLS

Detecting things you never bought a sensor for

Cooking, 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.

inferencecookingair

How calm was the night

A 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.

sleepsensorsscoring

Nowcasts, not forecasts

Lightning 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.

weatherstormsventilation

Closing the loop on a one-way remote

An 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.

climatesensorsIR

Systems that repair themselves

The 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-protection

Automations that do not fight

The 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.

prioritylightsalarm

A system that reports on itself

An 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.

reportingreview

The night shift is a language model

Field 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.

aireporting

The bank installed a sensor in my wallet

Card payments as a telemetry stream: captured twice on purpose, watched for silence, and treated as hostile text all the way to the screen.

moneydata

Calendars, read-only and distrusted

Secret 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.

calendartravelparsing

Predicting wear instead of reacting

Batteries forecast into one shopping list. Limescale visible in energy-per-cycle months early. The washing-machine reminder that stops the drum smelling.

maintenancetrends

Measure the thing that matters

Dew 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.

physicselectrical

A spirit that gets tired of itself

A 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 spiritrotationnight

Lessons, mostly learned the hard way

Nobody is watching the watchman

Every 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.

monitoring

Edge triggers lie to you

A pending timer lives in memory, and memory does not survive the restart you perform during the incident it was meant to catch.

triggers

Sensors that fail “healthy”

A 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.

safety

Two sources, and their disagreement

Redundant 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.

data

Alerts you will still trust in a year

Thresholds from measurements, not feelings. Quiet hours. Cooldowns. And letting the automatic repair finish before paging anyone.

notifications

Do not try this at home

The 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 stories

Do not try this at home: part two

The 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 stories

Three I have not seen anywhere else

The 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.

favourites

Ten readers, one afternoon

Ten 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.

reviewwatchdogsmethod

When going to bed looks like exercise

Two bodies under a blanket have the same signature as a workout, except in one dimension the cheap signal cannot fake: how long it lasts.

detectionfalse positiveCO₂

Verifying the wrong thing

A 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-mortem

A field guide to specific traps

Zombie containers, self-feeding log loops, frozen polled sensors, config that validates and does nothing, and encoding mismatches that fail in total silence.

debugging

The 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.