SHEET 02 · Systems & Hardware
Boiler Plant Telemetry
Boiler-plant telemetry over the Ayla IoT cloud — 390 parameters read from two binary properties, 216 writable — and a software outdoor-reset curve on two 2 MMBtu/h condensing boilers

390 parameters216 writable30 s poll18 routes2026localSystems & Hardware
About
The building's two Lochinvar Crest boilers report to the manufacturer's cloud through a phone app and nothing else: LAN mode disabled, no open ports. I read the same Ayla IoT cloud the app does, and worked out the two byte blobs every reading lives in — header, 16-bit slot layout, the push format, and the rule for when ids are one byte or two. A FastAPI collector polls every 30 s into SQLite with hourly rollups, serves an ops dashboard with hand-drawn SVG charts, mirrors nine tables to Supabase, and raises Slack and phone alerts on transitions only.
The data found faults nobody had seen: the lead boiler idle for 50 days with its enable switch off, a crossed RS-485 pair, a disabled cascade, a high-limit dial tripping early. Since 2026-09-18 the setpoint is written hourly from a weather-station 3-hour mean blended with a 6-hour WeatherNext forecast, dry-run by default, MD5-acknowledged, read back before it counts. No savings claim is made yet; the write-up says so.
Key features
- 01390 parameter ids mapped to names, types and units; 216 marked writable
- 02Write acknowledgement decoded: the first 16 bytes of the applied-properties blob are the MD5 of the pushed string
- 03Collector every 30 s; 30-day cloud retention extended indefinitely with hourly min/avg/max rollups
- 0418 routes: overview, series, daily, alerts, events, params, CSV export, reset status/log/override/run, forecast, SSE, health
- 05Eight SVG chart panels drawn without a chart library: supply and return, tank, firing rate, fan, flue vs return, flame, burner hours, reset with forecast band
- 0618-item red/green work-order wall screen; three check kinds — automatic, Home Assistant, manual
- 07Outdoor reset: hourly setpoint from station 3-h mean blended 50/50 with the next-6-h forecast, ±10 °F clamp, warm-weather shutdown at 62 °F
- 08Safe writes: dry-run unless applied, live-mode → push → MD5 ack → read-back, refused on stale weather or lockout, 6-h fallback setpoint
- 09Faults found from the data and fixed on site: enable switch, crossed pair, disabled cascade, high-limit dial
Gallery






Nearby
SHEET 03 · Systems & Hardware

WeatherNext Collector
Hourly Google DeepMind WeatherNext 3 ensemble runs for one grid cell at 10,700 ft — every run kept, verified against the on-site station once the hours pass, served to the public weather page and to the boiler reset curve
2026live22 s run fetch11 × 6 variables
SHEET 01 · Web Platforms

Brettelberg
369 Supabase migrations, five portals, live weather at 10,700 ft, 20+ 3D labs, and a booking engine — built as Executive Director for a 26-unit ski resort
2024live4,878 commits668k lines tracked
SHEET 04 · Systems & Hardware

BirdNET at 8,000 ft
14 security-camera microphones turned into a bird survey — 228,926 detections and 98 species at ≥0.75 confidence in 20 days, each bird on a Slack card within a median 9.9 s of singing
2026local228,926 detections98 species ≥0.75