haroldathome
№ 03 · paradigm · Index

The forty-eighth production

Harold the agent — a Claude-powered Python service that runs the house, with Home Assistant's intent matcher in front so the LLM stays out of trouble.

Wiring diagram of the Harold Road house — surfaces, routing, devices, services A broadcast-rack-style wiring schematic showing how a voice request flows through the house: from one of five surfaces (Echo voice satellites, the Pixel wall, the phone Capacitor app, the Telegram bot, the in-Home-Assistant panel) through the conversation router, first to the Home Assistant native intent matcher and on unmatched fall-through to Anthropic's Haiku model with sixty-five tools attached, then out to devices (lights, heating valves, locks, speakers, the porch camera) and external services (ElevenLabs for text-to-speech, Turso for vector memory, the Anthropic Sonnet model for deep research, the open web for live information). One amber-highlighted path traces a complete request from voice satellite to the room's light fixture. SCHEMATIC / DRAWING N° 48-A / SIGNAL FLOW Wiring diagram A VOICE REQUEST · TRACED FROM SATELLITE TO LIGHT FIXTURE · AMBER PATH IS LIVE KEY live request path other signal paths structural ruling Surfaces where Harold can be addressed Atom Echo ×4 · "Hey Harold" main rooms Pixel 6 wall "Mr Graves" · 24h on office wall Capacitor app Pixel 9 Pro pocket Telegram bot @H4r0ldBot cloud HA panel iframe homeassistant.local STT/HA HTTP HTTP+FCM Bot API iframe HA / CONVERSATION ROUTER conversation.harold tries deterministic match first · falls through on unmatched first try on fall-through DETERMINISTIC LAYER HA-native intent matcher silent if matched · escalates if not JUDGMENT LAYER Anthropic Haiku ~65 tools attached · few times an evening matched action tool call · ha_mcp Devices · the visible house Lights ×12 · Zigbee 9 rooms TRVs ×9 · Zigbee heating valves Yale lock unlock-rearm front door Speakers Cast · IR · Echo 5 zones Eufy S340 P2P poller front porch ElevenLabs TTS · WSS Flash v2.5 response · TTS stream Turso vector memory ~400 exchanges Anth. Sonnet deep_research sub-agent web_search Anthropic-side live info audio stream back ↑ DRAWN 11 · 05 · 2026 · H. GRAVES, DIRECTOR · A. DENNEN, PRODUCER CALL SHEET BELOW · OPEN FOR FULL INVENTORY Schematic represents the dominant signal path for a voice request. Sensor inputs (radar, BLE, FP300) and background scheduling (HA automations, monitor briefings, email digesters) are not shown — see the prose.
Wiring diagram, drawing 48-A. The amber path traces a complete voice request: Atom Echo → STT → conversation router → HA-native intent matcher → Lights → ElevenLabs response stream → back to the speaker.

The architecture, as a call sheet. Five departments, in the order Harold likes to think about them.

Forty-seven productions for the BBC. The forty-eighth is a 1930s English semi-detached, and the crew is heterogeneous — Anthropic for the brain, Home Assistant for the stagehands, ElevenLabs for the larynx, Proxmox for the studio building. The discipline holding it together is the one Harold ran his old sets with: each system has a clear role; nothing improvises beyond its remit; the lights come up at six and the curtain falls at twenty-two-hundred.

The studio

The studio is a second-hand HP ProDesk 600 G4 — six cores, sixteen gigabytes of RAM, drawing about the same power as a hallway lamp. Proxmox runs the building. Inside it, three workloads: Home Assistant in a virtual machine; the Hub API (washer control, energy proxy) in one Linux container; Harold himself in another. A 500 GB USB drive bolted on to the side holds the radar event archive, the Long Take snapshots, the camera-event rolls, and the MariaDB store that Home Assistant uses to remember what happened in the house each day. The whole rig has not been rebooted since February.

The call sheet

What the house does on its own — without consulting Harold, without consulting anyone — lives in Home Assistant. Sixteen automation files, organised by concern: heating schedules, front-door unlock-on-arrival, hallway presence lighting, the office-plug protector that reverts unauthorised power-cuts within a second, the meeting-mode hard-mute that keeps the office speaker silent during work calls, the cheap-electricity smart-start for the washer. Each is a small deterministic script — a trigger, a condition, an action. Together they constitute the call sheet: what happens at six in the morning, at half-past five in the evening, when someone walks into the kitchen, when the sun sets in winter. Harold reads the call sheet the way any director reads one — to know what the day already contains before any of his own decisions need to be made.

Cinematography

The visible house — light, sound, screens — is the cinematography department. A dozen Zigbee bulbs across the rooms; nine Sonoff smart radiator valves on the central heating; four Atom Echo voice satellites with custom-trained wake words; a Nest Hub Max in the library, a Google Mini in the office, the Pixel 6 mounted on the office wall running Harold’s avatar twenty-four hours a day. An Eufy battery camera watches the front porch; a Yale lock guards the front door. A small purpose-built ESPHome button by the door triggers the unlock with a one-tone beep. None of this is plug-and-play. All of it is calibrated, named, scoped, gated. The TV speakers are switched between optical and line-in by a learned infrared command. Each lamp has a personality — a temperature, a default scene, a time of day at which it volunteers itself.

Continuity

Peggy worked continuity at Pinewood. The house has a continuity department too. Six small ESP32 boards distributed through the rooms run Bluetooth identity-resolution against a captured cryptographic key, so each phone and watch in the household is tracked across MAC rotation, in real time, room to room. Four millimetre-wave radar sensors detect bodies — any body — at eight readings a second. The two layers fuse into a single sensor per person: Alfie is in the library, Elena is in the kitchen, both are in the living room, the house is empty. Above that is the long memory: a vector database in Turso that holds every meaningful conversation Harold has had, embedded locally with a small ONNX model, retrieved before each new turn so he can remember what was discussed last Tuesday. Continuity supervisors keep the story consistent. The house keeps Harold consistent.

Direction

Harold himself is a small Python program in his own Linux container, talking to the Anthropic API. Every turn goes through a Haiku model with sixty-odd tools attached: forty-odd written specifically for this house, twenty-one provided by Home Assistant’s Model Context Protocol server, plus an Anthropic-side web-search tool for live information. For substantial work — research on Hastings galleries, a long Drive document — he escalates to a Sonnet sub-agent. There are four surfaces he can be addressed on: voice (the four Echos and the wall), the phone Capacitor app, an in-Home-Assistant panel, and a Telegram thread. Each surface gets a slightly different voice. The wall knows it is mounted; the phone knows it is a phone; the Telegram thread knows it can be longer.

The first thing any voice request hits is not Harold but Home Assistant’s own intent matcher — turn off the kitchen lights is not a question for a large language model. Only requests that the deterministic matcher cannot understand fall through to Haiku for judgment. Most evenings, the model is consulted only a handful of times. The rest of the time the house runs itself.

The discipline

The principle holding this together is that scaffolding matters more than the model. A correctly-scoped tool catalogue, a carefully-tuned wake word, a deterministic intent matcher in front, a Haiku call only when judgment is genuinely needed, a vector memory holding the conversational thread — these are the things that make the model reliable in production. The model itself is the smallest deserving piece. Harold is not a chat interface. He is a directing intelligence on top of a properly-built set, with proper crew, working from a proper call sheet.

The public repository ships the framework with its three safety guarantees written down — every gate in the conversation custom component is annotated with the production bug it prevents — alongside a nine-bug failure-modes catalogue and a twelve-document spine for anyone wanting to add this layer to their own house without taking the same hits to learn it.

He considers it the longest-running production of his career. Four people receive credit above the title: Alfie (producer), Elena (gaffer and spark, by trade), Peggy (continuity, posthumously), Harold himself (director). He has been told he can go on as long as the heating works.

01 The call sheet five departments, in detail

The wiring above shows the dominant signal path. The full inventory — personnel, every department's kit, every named unit — is set down as a call sheet, in the form Harold's old crews used. It is typographically dense by design; open it full-bleed.

The forty-eighth production — call sheet of the house architecture A call-sheet styled diagram listing the architectural strata of the Harold Road house system: studio (Proxmox + LXCs), surfaces (Echos + wall + app + Telegram), cinematography (lights + heating + camera), continuity (radar + IRK + memory), direction (Anthropic + tools + intent matcher). CALL SHEET / № 48 / 11 MAY 2026 The forty-eighth production AN ARCHITECTURE · 13 HAROLD ROAD · 2024 — PRESENT SCROLL FOR PROSE Above the title PRODUCER Alfred Dennen resident · 2023 — present DIRECTOR Harold Graves resident · 1982 — 1993, posthumous · 2026 — DOP / GAFFER Elena Armellini credited by trade · spark, in life CONTINUITY Peggy Graves posthumous · Pinewood, in life Department 01 THE STUDIO the iron · 30W idle · uptime since Feb HP ProDesk 600 G4 i5-8500T · 6 cores · 16 GB DDR4 on a shelf Proxmox VE hypervisor · runs the building host Home Assistant OS VM 100 · stagehands VM 100 Hub API LXC 101 · washer · energy proxy LXC 101 Harold himself LXC 102 · Python · MariaDB LXC 102 500 GB external drive radar archive · Long Take snapshots · MariaDB /mnt/data500 Department 02 SURFACES where Harold can be addressed Atom Echo voice satellites ×4 · custom "Hey Harold" wake word kitchen · library · living · office Pixel 6 wall display "Mr Graves" wake word · 24h on office wall Capacitor app Pixel 9 Pro · push via FCM Alfie's pocket Telegram thread @H4r0ldBot · text mode, longer replies cloud In-HA panel iframe inside Home Assistant homeassistant.local Department 03 CINEMATOGRAPHY the visible house · light, sound, screens Zigbee bulbs ~12 · Third Reality RGBCW + Innr B22 across nine rooms Sonoff TRVZB radiator valves ×9 · per-room schedules central heating Speakers Nest Hub Max · Google Mini · Edifier (IR) library · office · living Eufy SoloCam S340 battery · custom P2P poller front porch Yale Conexis L2 lock unlock-rearm trick · auto at 21:00 front door M5 unlock button ESPHome · piezo confirmation at the front door Department 04 CONTINUITY keeping the story consistent ESP32 BLE proxies ×6 · IRK identity-resolution · MAC-rotation proof distributed LD2450 mmWave radar ×4 · 8 readings/sec · presence + Doppler main rooms committed_room sensors fusion of BLE + radar · per-person Alfie · Elena Turso libSQL vector memory ~400 exchanges · ONNX MiniLM-L6 embed local cloud Department 05 DIRECTION the smallest deserving piece HA-native intent matcher first responder · deterministic device control silent if matched Anthropic Haiku every fall-through turn · ~65 tools attached judgment layer Anthropic Sonnet deep_research sub-agent · web_search ×15 substantial work
The architecture, as a call sheet. Five departments, in the order Harold likes to think about them.