Solar fault detection that finds the leak, not just the outage.
A green status light tells you an inverter is online. It doesn't tell you a string has been dark for three weeks. SolarFleet runs six weather-normalised detections across your whole portfolio, down to the optimiser — and every fault opens a case with a clock on it.
A dark string doesn't trip an alarm. It just stops earning.
Lose one string on a multi-string commercial inverter and the inverter stays green, the site keeps generating, and the daily total dips by a few percent — small enough to blame on cloud. Left alone, that's weeks of lost generation before anyone reading a status dashboard notices.
Fault detection is only worth what it saves, and what it saves is a function of how fast you find it. SolarFleet compares every site against weather-normalised expected output each polling cycle — every 5 minutes on Solis, every 15 on SolarEdge — so a partial outage surfaces the same day it happens, not the next quarterly site visit.
Two strings on Inverter 02 have stopped reporting while the rest of the array runs. The site total barely moves — but the string grid makes it obvious in one glance, and a case is already open.
Six derived detections, on every site, every cycle.
These run on top of whatever native alarms your inverter brand reports — they don't replace them, they fill the gaps brands leave. Each reads only from the telemetry, equipment and weather data we already hold, so they work the same way across SolarEdge and Solis.
comms-stale Warning Comms stale
No telemetry from a site or device since the last expected polling window. Catches a dead logger or a broken cloud link before it hides a real fault.
zero-production Critical Zero production
Inverter is reporting, irradiance says it should be generating, output is flat zero. The classic tripped-inverter signature — and the one that quietly costs the most.
low-power Warning Low power
Output is materially below weather-normalised expected for this site. Soiling, a shaded string, a derated inverter — the slow leaks a status-only view never shows you.
inverter-offline Critical Inverter offline
A specific inverter has dropped off a multi-inverter site while its siblings keep reporting. Pinpointed to the unit, not the postcode.
optimiser-drop Warning Optimiser drop
A module-level optimiser stops reporting or collapses against its neighbours. Granularity down to the panel on supported SolarEdge sites.
partial-offline Warning Partial offline
Part of the array is dark — one MPPT or string reading zero while the rest of the inverter runs. The fault that blends into the daily total until someone reads the strings.
Optimiser-level granularity depends on what your inverter brand exposes over its API. We gate each detection on real capability rather than promising data we can't get — read more on how the data flows in portfolio & site monitoring.
"Low" only means low once you've accounted for the weather.
A flat threshold like "alert if output drops 20%" buries you in false alarms on cloudy mornings and stays silent on bright days when a real fault is masked by good irradiance. So we don't use one.
SolarFleet pulls hourly irradiance, temperature and cloud cover from Open-Meteo for each site's exact coordinates, then compares actual generation against what the weather says you should have made. The low-power detection fires on the gap, not the raw number — so a dull day doesn't cry wolf and a clipping day doesn't hide a problem.
A detection isn't an email. It's a case with a clock on it.
A fault that lands in an inbox gets triaged, forwarded, and forgotten. When a SolarFleet detection fires it opens a case automatically, attaches the evidence, and starts an SLA timer — so the slow leak becomes a tracked, assignable job instead of a notification someone might read.
Detect
A detection fires on the next polling cycle, scoped to the exact device, string or optimiser.
Open a case
A case opens automatically with the telemetry, expected-vs-actual gap and timestamp attached.
Start the SLA
An SLA clock starts on the case so response and resolution times are measured, not guessed.
Assign & close
Assign an engineer, log the fix on mobile, and the resolution lands in the client's monthly report.
This is the same engine running today on InspireGreen's own ~10-site fleet — the Cardiff solar installer that builds SolarFleet. We dogfood it before we ship it. Why string-level detection matters more than you think →
See your faults before your client does.
Connect a SolarEdge or Solis Cloud account, import one real site, and watch the detection engine run against live data in under an hour. Two sites are free forever — no card, no lock-in.