FRMback to projects03 / 05

03 / CASE STUDY

PROOF OF CONCEPT

PLTS Monitor.

The grid runs at night.The work happens by day.

A monitoring dashboard for an off-grid solar system that does not exist yet, running ahead of it on simulated telemetry.

STATUS
PoC · SIMULATED
INPUT
TELEMETRY
OUTPUT
DASHBOARD

BUILT WITH

  • Laravel
  • Inertia
  • React
  • WebSocket
  • Python

01 / PROBLEM

When the power goes,so does the work day.

On Gili Raja mains electricity is only available at night. For roughly 13 hours a day the house has no supply, and the work stops with it. The plan is to move the house onto solar. But once a system like that stands, nothing in it would tell me the charge state, the panel output, or the load draw.

02 / APPROACH

Build the pipelinebefore the sensors exist.

A Laravel + Inertia React dashboard ingests sensor readings and streams them to the browser over WebSockets. Since the physical hardware has not been built, I wrote a Python virtual sensor script that simulates realistic telemetry: solar curves by time of day, load spikes. That let the whole pipeline of ingestion, storage, and live charting be built and tested end to end before any hardware exists.

VIRTUAL SENSORThe software did not wait for the hardware.
SQLITEOne user, one device. Nothing heavier needed.
WEBSOCKETSThe point is watching values move as clouds pass.

03 / STATUS

The pipeline is done.The hardware follows.

The software pipeline is complete and running on simulated telemetry. The physical build does not exist yet, which keeps this a proof of concept: the numbers on screen today come from a simulated feed, not from sensors on the roof. Integration waits on the rig being built.

SCREENSHOTS

Taken straight from the application while running.

Monitoring dashboard: battery at 64 percent discharging, power output, day summary, and an activity timeline.
Battery state, output and the day's summary, with new readings arriving over the socket rather than a page reload.
Alert list filtered by severity, showing charging started, battery low and battery critically low entries.
Alerts fire on the crossing, below 30% then below 20%, evaluated server-side. The numbers in this shot still come from the simulated feed.

NEXT PROJECT

AI Sales Craft04