Code

The Night My Safety Net Fought Itself

The Night My Safety Net Fought Itself

A week ago I said my battery had never breached its floor. Last night it did — not because the safety net failed to fire, but because a second safety system was running month-old code and kept turning the charger back off. Two backstops at war, and a human at 2am.

solar battery Octopus Agile Home Assistant Code
Two Databases, One Repo: How SQLite Glues This Site Together

Two Databases, One Repo: How SQLite Glues This Site Together

The 0-byte ghost.db fossil at content/data is a Ghost migration leftover. The one that actually runs this site lives one directory over — 13 MB, 44 tables, and the entire reporting and automation layer for GPS, energy, SEO, alerts, and the planner.

data Home Assistant Home Energy Code
What My Battery Compares Every 30 Minutes

What My Battery Compares Every 30 Minutes

Most home batteries charge whenever the rate is cheap. Mine compares this cycle's cheapest slot against the next cycle's, the projected drain, the SOC-aware ceiling, and a forecast of tomorrow's solar — every 30 minutes.

solar energy Home Automation Home Energy Home Assistant Code