Monitoring my own off-grid solar system in real time
The Stack
The Problem
I live on Gili Raja, a small island off Madura where grid electricity is only available at night. For roughly 13 hours a day my house runs on a solar setup I'm building myself (250Wp panel, LiFePO4 battery, MPPT controller). I had zero visibility into charge state, panel output, or load draw. When the battery dies mid-afternoon, so does my work day.
The Approach
A Laravel + Inertia React dashboard that ingests sensor readings and streams them to the browser over WebSockets. Since the physical sensor hardware is still being assembled, I wrote a Python virtual sensor script that simulates realistic panel/battery telemetry (solar curves by time of day, load spikes) so the full pipeline (ingestion, storage, live charting) could be built and tested end to end before the hardware arrives.
Live Telemetry
Key decisions
- developer_boardVirtual sensor firstSimulate telemetry to unblock the software pipeline; swap in real hardware without touching the dashboard.
- databaseSQLite on purposeSingle-user, single-device workload; no reason to run a heavier database on constrained infrastructure.
- boltWebSockets over pollingThe point is watching values move in real time when clouds pass.
Status
Software pipeline complete with simulated telemetry. Hardware integration in progress as the physical PLTS build finishes.