arrow_back Back to blog
Automation · Build Log

A solar alert system built out of a real problem, not a hypothetical one.

Some of the most useful automations aren't built to impress anyone — they're built because something actually kept going wrong.

The n8n workflow that checks battery level and grid availability, then fires a Discord alert to turn off heavy load
The real n8n workflow — poll the Solarman API, check battery and grid status, and alert only when the combination is bad.

The problem I wanted to solve

Off-grid and hybrid solar setups fail quietly. A battery running low with no grid power available isn't dramatic until it's suddenly a real problem — lights out, equipment down, no warning beforehand.

Checking a solar monitoring app manually, repeatedly, isn't a sustainable habit. The information existed; it just wasn't reaching anyone at the moment it mattered.

What it actually produces

Three workflows, two speeds

The urgent one watches for exactly the combination that matters: battery running low while the grid has no electricity to fall back on. It reads the battery percentage and the grid-buy value from the Solarman API — if power were available from the grid, a low battery wouldn't be a crisis. When both line up badly, it fires a blunt Discord alert: turn off the AC and heavy load, before the battery gets dragged down further.

Then there are the two calmer, bookkeeping pipelines — each split into a logger and a reporter. One logs the daily grid deficit to a sheet and posts a nightly total for the billing cycle; the other logs peak-hour (6–10pm) versus off-peak purchases and reports the running split. Not urgent information — but exactly the kind of thing that's impossible to keep track of by memory, and expensive to discover only when the bill arrives.

How it feels to use

  1. Set the conditionDefine what actually matters — battery level crossing critical with no grid backup.
  2. Let it watchThe workflow polls the Solarman API on schedule, every day, without being asked.
  3. Get alerted only when it mattersDiscord and email the moment the condition is met — silence the rest of the time.

Why this one is different

The shape of this workflow — poll an external API on a schedule, evaluate a condition, alert only when it matters — turned out to be reusable well beyond solar monitoring. The same skeleton, swapped to a different data feed and threshold, became the foundation for a crypto price-alert system and later an earthquake alert app.

Building one genuinely useful, narrow alert system properly is often more valuable long-term than it looks, because the architecture travels.

Have a system that fails quietly?

Solar, servers, stock levels — anything with an API. I'll build the watcher. Let's talk.

Let's talk →