Карађорђе · homelab · researched jul 17 2026 · rev 2, sugar creek edition

The House Hardware Bill

Everything the house could use, researched properly: what to buy, what it costs, how it wires into the system, and what order to do it in. Ruling principle: local-first — the house keeps working when the internet doesn't.

01The Backbone

Home Assistant on the hub · one radio · everything else clicks in

The pick

Home Assistant (Container) on kara + Mosquitto MQTT + Zigbee2MQTT, with an SMLIGHT SLZB-06M PoE Zigbee coordinator (~$45). A network-attached coordinator means no USB passthrough on the shared box — HA stays a plain Docker container, and the radio mounts wherever coverage is best, not where the server sits.

  • Namespace discipline on the shared hub: own compose project, own Postgres database + role, resource limits on every container. HA alone gets network_mode: host (Sonos/ESPHome discovery needs it); MQTT and Z2M stay on a bridge network. Ports to claim: 8123 (HA), 1883/9001 (MQTT), 8080 (Z2M) — all free per the current port map.
  • Zigbee2MQTT over ZHA: it runs as its own process, so a busy hub (an Ollama job, an n8n run) can't stall the Zigbee mesh.
  • Thread/Matter: not yet. Watch it for smoke/CO alarms specifically (Heiman and Sensereo joined Works-with-HA in 2026) — skip it everywhere else for now.

⚠ The hub was unreachable during tonight's LAN sweep (no ping at 10.0.0.144, no Tailscale). Step zero of this whole plan is literally: check on kara.

02Climate, East Wing: ecobee

Already owned · installing soon · better news than expected

The old bad news — ecobee closed new developer-API signups in 2024 — stopped mattering in March 2026: Home Assistant core 2026.3 dropped the developer-key requirement, and the stock ecobee integration now signs in with just the ecobee username/password. And for genuinely local, cloud-free control, HA's HomeKit Controller pairs directly with the thermostat (use the pairing code from the ecobee app, not the sticker).

The play

Run both paths at once (they don't conflict): HomeKit for local, low-latency control and the SmartSensor's per-room temperature + occupancy; the cloud integration for the extras HomeKit omits (equipment-running sensors, humidifier/ventilator control, scripted holds). The nursery SmartSensor's readings can reach the Noctling dashboard without ever touching ecobee's cloud.

  • HomeKit quirk: the thermostat's "current temperature" over HomeKit is ecobee's blended average, not the discrete wall-unit reading. Individual SmartSensor temps come through cleanly.
  • SmartSensor talks 915MHz proprietary RF to the thermostat only — it will never pair with HA directly, and that's fine.

03Climate, West Wing: The Mini-Split

220/240V, as specified · sized honestly · controllable without anyone's cloud

West side is…CoolingRecommend
~500 sq ft9–12k BTU12k single-zone — don't oversize; it ruins dehumidification
~800 sq ft15–18k BTU18k single-zone — the sweet spot of the 230V lineup
~1200 sq ft21–24k BTU24k single-zone, or 12k+12k two-zone if it's really two rooms
Primary pick

Mitsubishi H2i "Hyper-Heat" (MSZ-FS/FH class, 18k, 208/230V — roughly $3.2–4k for the system), then a ~$30 ESP32 board on the head unit's CN105 service connector running MitsubishiCN105ESPHome. That mod is the most mature local-control path in the entire mini-split world: a native climate entity in HA, zero cloud, and it even exposes readings the Kumo app hides. Hyper-Heat holds rated heat to −13°F — real Kansas City winter insurance.

Value pick

Senville Aura 24k (208/230V, typically under $2k) + the SLWF-01 Pro ESPHome WiFi dongle (a drop-in replacement for its stock module). Midea-family protocol, genuinely local after setup. Less pedigree, more BTU per dollar.

  • Skipped: Gree Sapphire (great value, but its HA integration has a live, unresolved breakage as of July 2026) and MrCool DIY (easiest install thanks to pre-charged linesets, weakest local-control story — its app is cloud-only).
  • Electrical reality (Sugar Creek, self-install): 18k class wants a 20A/240V circuit on 10AWG; 24k class 25–35A per nameplate — panel has confirmed headroom. Outdoor disconnect + weatherproof whip at the condenser regardless (good practice and every manufacturer requires it). No permit per the city, no electrician — the DIY-relevant picks rise accordingly: MrCool's pre-charged linesets deserve a second look if local control is solved with an ESPHome dongle mod, though the Mitsubishi + CN105 path is still the better machine.
  • The room is a weird split — priority is cooling the bigger portion. Head-unit placement should favor the big section's long wall; if the smaller section bakes, a $30 register fan or a second small head (multi-zone) is the escalation path. Final sizing waits on the square footage.
  • This house, specifically: county records say 1955 single-story, 1,697 sqft finished. Unless the west side is more than half the house, the honest sizing lands at 9–12k BTU — with 1955-era insulation as the argument for rounding up, not doubling. A 12k in the 230V lineup exists in both the Mitsubishi and Senville families; don't buy the 18k reflexively.
  • Buying gotcha: Mitsubishi model numbers churn — FS18NA is already flagged discontinued at several resellers. Confirm the current-gen H2i model and its CN105 compatibility at purchase time, and judge heating by the capacity curve at 0–10°F, not the marketing rating.

04Weather

Tornado country deserves local data

The pick

WeatherFlow Tempest — $349, no subscription. The only station in its class with a native local feed: its hub multicasts full readings over the LAN every ~3 seconds via UDP, and HA has an official integration that drinks straight from it. Built-in lightning detection (best in class, ~25 mile range), sonic anemometer, zero moving parts to die in hail. It keeps reporting when the internet is down — which in this county is exactly when you want it.

  • Known flaw, accepted: the haptic rain gauge under-reports violent downpours by 20–30%. Fine for cook planning and trends; don't bill insurance off it.
  • Value alt: Ecowitt Wittboy GW2001 bundle (~$200) — the local-HTTP darling; lightning needs the add-on WH57 (~$56) and is coarser.
  • The severe-weather layer: NWS alerts for Jackson County (nws_alerts) → HA automation → the Sonos announcer at full volume on Tornado Warning, overriding every quiet-hours rule. Keep phone WEA alerts as the backstop — NWS API can strain during big outbreaks.

05The Nursery

Comfort data for Walter's room — never a medical device

Framing rule, stated plainly: these sensors report room comfort — temperature, humidity, air quality, noise. They are not monitors of Walter, make no health claims, and stay architecturally separate from Noctling's feed-safety logic. The reference bands worth knowing: 68–72°F room temperature (AAP safe-sleep guidance) and 30–50% RH.

The pick

AirGradient ONE ($138 kit / $230 assembled) — open-source firmware, documented local HTTP API, official HA integration, and it covers the whole panel in one box: temp, humidity, CO₂ (real NDIR), PM2.5, VOC/NOx. Add a ~$15 DIY ESPHome sound-level node (ESP32 + I2S mic) for ambient dB. Both WiFi — no Bluetooth-proxy gymnastics.

  • Data path: sensors → HA → a small hub job → Supabase (its own room_conditions table, deliberately not the events table) → a "room" card in Noctling next to the timeline. Noctling's design doc (nursery-node-voice-logging.md) already sketched this — the hardware finally matches it.
  • Skipped: Owlet/Nanit-style camera systems — subscription-gated, cloud-dependent, and pitching medical reassurance we explicitly don't want to imply. If camera awareness ever matters, a local RTSP cam + Frigate on the hub does it without a subscription.
  • Bonus: the Aqara FP2 presence sensor (§08) does stillness detection — the "someone is in the nursery" signal that makes nap-aware automations possible.

06The Pit

The Deck Boss is offline — confirmed by tonight's LAN sweep

Reconnect ritual (the app-connectivity fix is 10 minutes, not a project):

  1. Watch the controller's boot splash — firmware starting with "1" means 2.4GHz-only radio (likely).
  2. Give the 2.4GHz band its own SSID on the Deco (recteq pairing can't handle a merged band name).
  3. Put the phone on that same 2.4GHz SSID; on iOS enable Bluetooth + Local Network + Location for the recteq app.
  4. Still failing? recteq support's own trick: walk out until the phone drops to 1–2 bars, then pair — it forces 2.4GHz association. WPA3-only SSIDs are unsupported; use WPA2/WPA3 mixed.
The real play

Don't build on recteq's cloud — it's closed (MQTT-over-TLS to AWS IoT, no API, the old Home Assistant component is archived and dead). Reconnect it for the phone app, then instrument the cook with gear that's actually open: a Combustion Inc Predictive Thermometer (BLE/MeatNet, solid community HA integration) in the meat, and optionally a FireBoard 2 (open cloud API with a mature MQTT bridge) for grate-level pit temp.

  • The payoff: a live cook dashboard on the LAN, and the Sonos announcing "the butts are through the stall" — rate-of-rise detection, not vibes. (Politely, and never during quiet hours.)
  • Gotcha: BLE from the deck to the hub may want a MeatNet repeater (Combustion's display unit) depending on distance.

07The Desk: Receipt Printer

Todo lists you can tear off · the morning slip

The pick

Epson TM-T20III Ethernet (~$250–330 new) — or prove the pattern first with a refurb TM-T20II off eBay (~$50–80), same ESC/POS command set. Ethernet, raw TCP port 9100, driven by python-escpos from a small service on the hub. No CUPS, no drivers, no WiFi sleep flakiness.

  • The morning slip (the reason this exists): a 7am job prints the day — weather from the Tempest, calendar, todos, and Walter's overnight log from Noctling: every feed with timestamps and intervals, flagged bold if any gap ran close to the window. A physical handoff artifact for whoever's on shift, no app-opening required, with a QR back to the full view.
  • Todo push: an MQTT topic (home/print) + HTTP endpoint means anything — phone Shortcut, n8n, Claude — can push a tear-off ticket to the desk.
  • Paper matters here: phenol-free rolls only (no BPA and no BPS — look for Pergafast 201), ~$30 per 50-roll case. Small hands will hold these slips.

08Safety & Energy

Boring, vital, cheap — and the fun radio

ItemPriceWhy
Zigbee leak sensors ×3–4~$15–20 eaWater heater, laundry, under sinks. The single best $/disaster-averted ratio in home automation.
Zigbee temp sensor (freeze sentinel)~$12Crawlspace now; the mini-split line run later.
Aqara FP2 presence (nursery)~$80mmWave zones + stillness — presence PIR can't see. Feeds nap-aware hush.
Emporia Vue 3 panel monitor~$170*Whole-panel + per-circuit energy, including the future 240V mini-split circuit. *Decide first: cloud polling (stock) vs ESPHome reflash (local, voids warranty).
ThirdReality Zigbee plugs ×2–3~$12–15 eaPower metering + they repeat the Zigbee mesh.
RTL-SDR Blog V4~$35One dongle, two hobbies: ADS-B flight tracking (antenna already owned) and rtl_433 — passively hears cheap 433MHz sensors and half the neighborhood's weather stations.

Matter smoke/CO alarms (Heiman, Sensereo) just joined Works-with-HA — worth a look when the Zigbee mesh is up, since they'd supplement the existing detectors without rewiring.

09Sirens & Alerts

City-run sirens · polygon warnings · the house decides for itself

The structural problem: NWS warnings have been storm-based polygons since 2007, but Sugar Creek's sirens are fired at the discretion of city police/fire dispatch — so a warning that covers this roof may or may not sound outside, and a Peculiar-only warning may. The fix is to stop treating sirens as the signal at all: api.weather.gov/alerts/active?point=39.1122,-94.4376 answers "does this warning cover our house" — server-side, correctly, already verified working.

The design

A small poller on the hub hits the point query every 30–60s (polite UA header required, no lower-latency public option exists) and drives the Sonos announcer by tier. A battery SAME weather radio (Midland WR400DSP, ~$50) programmed for Jackson County is the layer that survives an internet outage — it over-alerts (county granularity) but it's the 5–15 second offline floor. Phone WEA stays as the carried channel; it's been polygon-targeted since 2019, so it agrees with the point query.

TriggerSonos doesWakes the house?
Tornado Warning polygon contains the houseFull volume, every room, repeated, lights onYes — the one automation allowed to
Tornado Warning within ~10 mi (near miss)Moderate single announce, main roomsOnly on high-risk nights
Severe T-storm Warning, "tornado possible" tagNormal-volume announceNo
Severe T-storm / Flash Flood WarningChime + dashboard noteNo
ProbSevere tornado probability >60%, no warning yetSilent dashboard flagNo
  • Near-miss tier: the point query is hit/miss only — it can't see a polygon edge two miles away. The poller also pulls the day's active warning geometries and does a buffered distance check (a few lines of shapely) for the "close but not us" announce.
  • Latency, honestly: issuance → API → poll → Sonos lands in ~15–90 seconds. Slower than WEA (~10–30s) and SAME radio (~5–15s), faster and infinitely more targeted than discretionary sirens. Its job is waking the whole house with words, not being first.
  • Skipped: automating off the Sugar Creek dispatch scanner feed (unstructured audio, partially encrypted, not automatable in good conscience) and raw MRMS rotation data (a GIS project, not a weekend). ProbSevere's free 2-minute GeoJSON is the sane pre-warning nudge if wanted.

Four shelter trips this season. This section exists so the fifth one starts from a calm, specific sentence spoken in every room — not from wondering whether the sirens apply to us.

10The Network

AT&T fiber incoming · mesh skepticism: validated · the smoker gets its own radio

Verdict on mesh, honestly: the skepticism holds. Wireless-backhaul mesh still halves throughput per hop and adds latency — better radios since 2020, same physics. What actually matured is wired-backhaul access points, which aren't "mesh" at all: each AP is a switch port with a radio on it. That's the architecture to buy.

The pick (~$520)

AT&T's BGW320 in IP Passthrough with its radios off (it has no true bridge mode; passthrough hands your router the public IP and takes the gateway out of the equation) → UniFi Cloud Gateway Ultra ($129) + U7 Pro indoor AP ($189) + U7 Outdoor ($199) mounted under the eave facing the deck. Real VLANs (a client-isolated IoT network for the 30+ gadgets), AdGuard Home on the hub as DNS for every VLAN, and the smoker's dead zone fixed with a weatherproof radio instead of hope.

  • Zero-drama cutover: run AT&T and Xfinity in parallel; passthrough + radios off on day one; stand up the new SSIDs and test with a few IoT devices; batch-migrate the fleet (the slow part); cancel Xfinity after 48–72 stable hours.
  • The Decos: keep one or two as wired dumb APs if a corner needs it; sell the rest ($60–120 used as a kit). Their "IoT network" was never a real VLAN.
  • Interim $0 smoker fix: move one Deco to the room nearest the deck wall — often worth one bar of 2.4GHz, enough for the recteq app while the real gear ships.
  • Gotchas: BGW320 firmware pushes can silently re-enable its WiFi and occasionally reset passthrough — recheck after updates. Size the IoT subnet generously; 30 devices re-DHCPing at once exhausts small pools.

11Power

The hub is down because the grid was · UPS now, generator ladder later

Fact of the week: kara is offline because of storm outages, which means the backbone, the alert poller, and the announcer all were too. Resilience isn't a luxury feature of this plan — it's load-bearing. (Sugar Creek gas is Spire, so a natural-gas standby is a real option down the road.)

Buy now (~$250)

CyberPower CP1500PFCLCD (~$180–240) — 1500VA pure sine (the i9's Active-PFC supply requires pure sine) for the hub + switch: ~10–15 min at load, enough for NUT to trigger a graceful shutdown, reported into HA. Plus a ~$70 600VA unit for the network closet — ONT + router draw so little it keeps the internet up for hours, which keeps the alert pipeline alive through exactly the storms that cause it.

PathUpfrontCoversDIY?
Dual-fuel inverter portable + interlock kit~$1.5–2kHVAC + network + kitchen + bedrooms, manually selected at the panelFully — interlock is panel-model-specific parts + an inlet
Nat-gas standby + critical-loads subpanel~$8–12k installedThe named circuits, automatic, unattended, runs as long as Spire's mains doSubpanel yes; gas tie-in + ATS realistically licensed trades
Whole-house standby (Generac 22kW class)~$10.5–16kEverythingNo — and may trigger a gas meter upsize
Battery (Anker F3800 / EcoFlow DPU / Powerwall 3)$2.4k → $17k+Silent, instant transfer — but loses multi-day outages without solarF3800 is plug-and-play; the rest, no
  • The mini-split makes the cheap path work: an 18k inverter mini-split ramps its own compressor — ~10–15A at 240V, no locked-rotor inrush. A 6,500–9,500W dual-fuel portable runs it natively, where central AC would demand a soft-start kit and prayers. The west-side purchase quietly upgrades the storm plan.
  • Ladder: UPS pair now → dual-fuel inverter + interlock next year → nat-gas standby with a critical-loads subpanel someday, if the storms keep this up.
  • Gotchas: interlock kits are panel-brand-specific and need the breaker hold-down to be code-clean; portable means starting it in weather — pick the CO-safe spot now, not at 2am; Generac's Mobile Link → HA integration is fragile, don't buy the standby for its app.

12The Buy List, Phased

Spend nothing first · then spend where it compounds

PhaseWhatRuns
0 — This week, $0 Restart kara (storm casualty, confirmed) · deploy HA + Mosquitto containers · move one Deco toward the deck wall (interim recteq fix) + the §06 reconnect ritual · install the ecobee + SmartSensor · split out a 2.4GHz IoT SSID · identify the mystery ESP32 at 10.0.0.196 $0
1 — The spine, ~$525 UPS pair — CyberPower CP1500PFCLCD for the hub (~$210) + 600VA for the network closet (~$70), wired into NUT→HA · Midland WR400DSP weather radio (~$50) · SLZB-06M PoE coordinator (~$45) · leak sensors ×3 (~$50) · refurb TM-T20II printer (~$65) · RTL-SDR V4 (~$35) ≈$525
2 — Senses, ~$585 AirGradient ONE kit ($138) · ESPHome sound node (~$15) · Aqara FP2 (~$80) · WeatherFlow Tempest ($349) ≈$585
2.5 — Network, ~$520 (when AT&T fiber lands) UniFi Cloud Gateway Ultra ($129) + U7 Pro indoor ($189) + U7 Outdoor for the deck ($199) · BGW320 in IP Passthrough, radios off · sell the Deco fleet to claw back $60–120 ≈$520
3 — Big iron Mini-split, sized honestly after the west-side measurement (12k likely; Mitsubishi H2i + CN105 board, or Senville Aura + SLWF-01 for roughly half) — self-install · dual-fuel inverter generator + interlock kit (~$1.5–2k) · Emporia Vue 3 · Combustion thermometer · FireBoard 2 $2–4k+

13What It Unlocks

The point of all of it

  1. The tornado override. NWS warning for Jackson County → every Sonos at full volume, quiet hours be damned. The one automation allowed to wake the house.
  2. The morning slip. 7am: weather, calendar, todos, and Walter's overnight feed log with intervals — printed, torn off, handed over with the coffee.
  3. Nap-aware hush. FP2 says someone's still in the nursery → the announcer and every chime automatically duck. The house learns what you told me tonight at 12:52am.
  4. Stall watch. Combustion probe's rate-of-rise flattens then climbs → "the butts are through the stall, holding 203 in about two hours."
  5. Leak & freeze chain. Any leak/freeze sensor trips → announce + push + log. Repeat freeze hits on the mini-split line = insulate that run.

And the wilder shelf, already researched, waiting their turn: the plane-overhead announcer (SDR → Ollama → Sonos — genuinely unbuilt by anyone, per the June research), the e-ink wall dashboard, and a local voice satellite so the house answers without a cloud.

14Open Questions

Answers that change the buy list

  • West-side square footage — the last blocker on mini-split sizing (12k vs 18k; §03). The bigger portion of the split room is the number that matters.
  • Breaker panel brand + model (a photo of the label works) — interlock kits for the future generator are panel-model-specific, and it confirms wire sizing for the 240V run.
  • Furnace & water heater: gas or electric? Sets what a generator actually needs to carry in January.
  • Basement? County records are ambiguous — matters for the shelter kit (below-ground weather radio placement) and line-set routing.
  • AT&T install date? The network buy (phase 2.5) keys off it.
  • Where does the printer live? Kitchen counter vs office desk changes Ethernet vs the WiFi-bridge dance.
  • AirGradient: $138 kit (an evening of fun) or $230 assembled?