You monitor solar panel health remotely by comparing a weather-normalized estimate of what the system should produce against what it actually produces, then drilling into per-string or per-panel data and offline alerts when the two diverge. A healthy array drifts down by roughly half a percent a year, which is slow and expected. A real fault shows up as a sudden step down, a string that trails its neighbors, or a gap that persists after you account for cloud and season. The U.S. Department of Energy notes that real output depends on the solar resource, orientation, temperature, soiling, and shading rather than the nameplate rating, so the comparison only means something once the weather is factored out. Catch the gap early and it is a cleaning or a warranty claim. Catch it on the annual true-up and it is months of lost generation you cannot get back.
Key takeaways
- Remote monitoring finds underperformance by comparing weather-normalized expected output against actual output, not by watching a raw production number that always looks lower in winter.
- Normal degradation runs around half a percent a year and shows up as a slow, smooth decline, while a real fault shows up as a sudden step down or one string that trails the rest.
- Per-string and per-panel data is what separates a system-wide weather effect from a single failing component, so module-level or string-level reporting is worth insisting on.
- An offline or communication alert is the one signal to act on fastest, because a system that stopped reporting is often a system that stopped producing and nobody noticed.
- All expected-output figures are modeled estimates tied to weather, orientation, and loss assumptions, so the value of monitoring is the trend and the gap over time, not any single day's number.
- The Loss That Hides in a Monthly Bill
- Estimated Versus Actual: The Core Comparison
- What Remote Monitoring Actually Measures
- Normal Degradation Versus a Real Fault
- Weather-Normalizing So the Comparison Is Fair
- Per-String and Per-Panel Data
- Outage and Offline Alerts
- What to Monitor and the Signal Each Gives
- Setting Up Monitoring That Catches Problems Early
- Monitoring Mistakes That Hide a Failing System
- Acting on a Signal Before It Costs Money
- Where Enact Home and Asset Management Fit
The Loss That Hides in a Monthly Bill
A solar system almost never fails the way a light bulb does. There is no dramatic moment, no dark house, no cue to call anyone. Instead a bypass diode shorts, or one string drops offline, or a rooftop fills with pollen and bird droppings over a dry summer, and the array just makes a little less than it should. The homeowner sees a bill higher than last month and blames the weather, or the air conditioning, or nothing at all. Nine months later the annual true-up arrives and the gap is suddenly a few hundred dollars that were never going to come back.
That is the whole problem with solar health. The money leaks slowly, and the best defense is a comparison the owner can see every week instead of once a year. Remote monitoring turns an invisible loss into an early signal. Done well, it answers one question on a schedule: is this system producing what it should, given the weather it actually got? When the answer turns to no, you want to know in days, not at tax time.
This is not the same task as reading a monitoring app to understand your bill, and it is not the physics of why panels age. It is the detection layer in between. How do you tell, from a distance, that a system has crossed from normal wear into a real fault, and how do you catch it while it is still a cheap fix?
Estimated Versus Actual: The Core Comparison
Every useful health check rests on one comparison. On one side is what the system actually produced, read straight off the inverter or meter. On the other is what it should have produced, modeled from the system's size, orientation, and the weather at that location on that day. Monitoring that only shows you the actual number is a thermometer with no reference point. You can see 42 kilowatt-hours came in today, but you have no idea whether that is good, bad, or a sign something is broken.
The expected figure comes from a performance model. The National Renewable Energy Laboratory's PVWatts calculator estimates production from location, tilt, azimuth, and a loss assumption, and NREL's System Advisor Model layers in weather files, temperature, and soiling. A monitoring platform runs that model continuously, updates it with recent weather, and lays the expected curve over the measured one. The gap between the two lines is the health signal. A gap near zero means the system is doing its job. A gap that opens and stays open is what you are hunting for.
Two cautions keep this honest. The expected number is a modeled estimate, not a promise, so a single day off the line means little when an unmodeled cloud bank rolled through. And the comparison is only fair once you account for weather, the reason the next section exists. The trend is the truth. One day is noise. Three weeks of the actual line sitting a steady 12 percent under the expected line is a conversation.
What Remote Monitoring Actually Measures
Before you can read a signal you should know where it comes from, and the depth of what you see depends on the hardware. At the shallow end, a single meter or a string inverter reports whole-system production every 5 to 15 minutes. That is enough to run the estimated-versus-actual comparison for the array as a whole, which catches big problems but cannot tell you which part failed.
Deeper setups report at the string level, and the deepest at the module level through microinverters or power optimizers. Brands including Enphase, SolarEdge, SMA, Fronius, and Sol-Ark each expose their own stream of production, voltage, and status data, and monitoring layers such as Locus Energy and AlsoEnergy aggregate several brands into one view. The more granular the data, the faster you localize a fault instead of just detecting that one exists.
Alongside production, a good platform watches a few supporting measurements. Inverter status and error codes flag a device that has tripped or derated. Communication heartbeats confirm the system is still reporting at all. Voltage and current per string reveal a dead or underperforming circuit, and temperature readings explain the normal summer dip that would otherwise look like a fault. On a system with storage, battery state of charge matters too, since a battery that stops cycling is its own silent failure. The point is not to stare at all of it, but to have the platform raise a hand only when one of these crosses a line.
Normal Degradation Versus a Real Fault
The single most useful distinction in solar health is between a system that is aging and a system that is broken, because they look nothing alike on a chart once you know what to watch for. Panels lose a small slice of output every year as the cells and materials age. The widely cited figure is roughly half a percent annually after an initial first-year settling, which means a panel still produces around 85 to 90 percent of its original rating after 25 years. That decline is real, but it is slow, smooth, and spread evenly across the whole array. You do not catch it week to week. You see it only when you compare this year's weather-normalized output against a baseline from two or three years ago.
A fault behaves differently in three telling ways. It is sudden, it is often local, and it is large relative to that gentle annual slope. A string that trips offline drops a clean fraction of total production in a single step, visible the moment it happens. A failing bypass diode or a cracked cell pulls one module or string below its neighbors while the rest of the array tracks the model normally. Soiling builds over weeks and recovers in a step the day it rains or gets cleaned, a sawtooth pattern no aging curve produces. The Department of Energy's work on performance notes that output reflects the solar resource, temperature, soiling, and shading rather than the nameplate alone, and each leaves a different fingerprint on the data. Reading the shape of the loss is most of the skill.
The rule of thumb: a slow, uniform, array-wide decline is almost always age and needs nothing but a note in the record. A step change, a single component trailing the pack, or a gap that appears overnight is a fault, and that is what you want an alert for.
Weather-Normalizing So the Comparison Is Fair
Raw production is a terrible health metric because weather swamps everything. A perfectly healthy system makes far less in a cloudy December than in a clear June, and a hot week suppresses output even under full sun because panels lose efficiency as they heat up. If you compare this month's kilowatt-hours against last month's and conclude the system is failing, you will chase ghosts half the year and miss real faults the other half. The weather has to come out of the comparison first.
Weather-normalization is the fix. Instead of asking how many kilowatt-hours the system made, you ask how many it made relative to how many it should have, given the irradiance and temperature it actually received. The shorthand for this ratio is the performance ratio, and it reads as a percentage that stays roughly flat on a healthy system no matter the season. A clear day and an overcast day can both show a performance ratio in its normal band, because the measurement already divides out how much sun was available. When that ratio drops and stays down, the loss is real.
The U.S. Department of Energy explains that a photovoltaic system's real-world performance is shaped by the available solar resource, orientation, temperature, soiling, and shading, rather than by the nameplate rating on its own.
U.S. Department of Energy, Solar Performance and Efficiency
You do not calculate this by hand. A monitoring platform pulls local irradiance and temperature from an on-site sensor or a weather-data service, runs it through the model, and reports the normalized result. What matters is why the normalized line beats the raw one. The raw production chart tells you the weather. The normalized line tells you about the system. The Department of Energy's Solar Energy Technologies Office documents how these performance factors shape real outcomes, and every one of them is a reason the raw number lies and the normalized number does not.
Per-String and Per-Panel Data
System-level monitoring tells you that something is wrong. String-level and panel-level monitoring tells you what and where, and that difference is often the difference between a five-minute diagnosis and a service call that starts with climbing onto a roof to guess. When a whole-system number drops, the cause could be anything from a tripped breaker to soiling to a shade tree that finally grew into the array. When you can see each string separately, the picture resolves fast.
Here is the pattern that makes granular data pay off. Suppose a 10-string array shows a 9 percent gap against its weather-normalized estimate. At the system level that is a flag with no diagnosis. Drop into the string view and the answer is usually obvious. If all ten strings are down a uniform 9 percent, the cause is array-wide: soiling, a weather effect, or a general derate. If nine strings track the model and one sits dead or at half output, the fault is localized to a single circuit, and the crew knows which combiner to open before leaving the shop.
Module-level hardware, meaning microinverters or optimizers, reports each panel. That granularity catches a single cracked or shaded module that a string reading would average away, which is worth having on complex roofs with multiple orientations and partial shade. The tradeoff is cost and more points that can themselves need attention. For many residential roofs string-level visibility is enough. For a shaded, multi-plane, or high-value system, panel-level data earns its keep by turning a vague underperformance into a specific, cheap fix.
Outage and Offline Alerts
Of every signal a monitoring system can send, the offline alert is the one to treat as urgent, and it is also the one most setups handle worst. The logic is uncomfortable. A system that has stopped reporting has usually stopped producing, and because it is dark on the dashboard rather than showing a bad number, it is the easiest failure to overlook for weeks. A string that trails by 15 percent at least shows up as a line on a chart. A system that went fully offline shows up as nothing, which is easy to scroll past.
This is why a credible monitoring setup pushes an alert the moment a system stops communicating, rather than waiting for someone to notice the gap. For a homeowner that is a notification saying the system has not reported since Tuesday. For an installer watching many systems, it is a flag that moves the site to the top of the queue. Enact Home, the homeowner app, sends offline and outage alerts along with its tracking of production and system health, specifically so that a system that quietly dropped off does not sit unnoticed until the next bill. The faster that alert lands, the fewer kilowatt-hours disappear before anyone acts.
Two nuances keep offline alerts useful instead of annoying. A short dropout is common and harmless, since routers reboot and home internet hiccups, so a good alert waits long enough to tell a real outage from a blip. And offline at night is not a fault, because many inverters stop reporting after dark when there is no production to send. The platform should know the difference between expected nighttime quiet and a system that went silent at noon.
What to Monitor and the Signal Each Gives
Every health signal answers a specific question, and knowing what each tells you is how you move from a dashboard full of numbers to a short list worth watching. The table ties each monitored value to what it reveals and how fast it should move you.
| What to monitor | The signal it gives | How fast to act |
|---|---|---|
| Weather-normalized output (performance ratio) | The core health metric. A steady level is healthy. A sustained drop is a real loss, not weather. | Weekly. Look into a multi-week decline. |
| Estimated versus actual production | A persistent gap between modeled and measured output points to underperformance. | Weekly. Investigate a gap holding two to three weeks. |
| Communication or offline status | A system that stopped reporting has often stopped producing, and the loss stays invisible. | Urgent. Act within a day of a daytime alert. |
| Per-string or per-panel output | Localizes a fault. One circuit trailing the rest is a specific, findable problem. | Within days of a system-level gap. |
| Inverter status and error codes | A tripped or derated inverter, the most common single point of production loss. | Prompt. A persistent fault will not self-recover. |
| Sudden step-down in production | A clean, sudden drop is almost always a fault. Aging is slow and smooth. | Prompt. A step change is a fault signature. |
| Soiling pattern (slow drop, step recovery) | A gradual decline that jumps back after rain or cleaning is dirt, not damage. | Seasonal. Schedule a cleaning. |
| Year-over-year normalized baseline | Separates true long-term degradation from a fault. A slow uniform slope is aging. | Annual. Compare against a multi-year baseline. |
Setting Up Monitoring That Catches Problems Early
Monitoring only pays off when it surfaces problems on its own, because almost nobody logs in to study charts every day. The goal is a setup that stays quiet when everything is fine and reaches out when something is not. Use this to pressure-test a new setup or an existing one.
- Confirm the platform compares actual output against a weather-normalized estimate, not just a flat expected number or last month's total.
- Insist on at least string-level visibility, and choose module-level hardware for shaded, multi-plane, or high-value roofs where a single panel can hide a fault.
- Turn on offline and communication alerts, and verify they fire for a daytime outage rather than only showing a blank chart.
- Set the performance-gap threshold loose enough to ignore one cloudy day but tight enough to flag a loss that holds for a couple of weeks.
- Make sure alerts reach a person through a channel they actually check, whether that is a phone notification, an email, or a shared dashboard.
- Establish a baseline in the first full year of operation so later comparisons measure against real healthy output, not a generic model.
- Keep the system datasheets, warranty terms, and commissioning records somewhere accessible, so a flagged fault can turn into a warranty claim without a document hunt.
- Schedule a short periodic review, monthly for a home system, so a slow trend that never trips an alert still gets a human glance.
- Verify the platform reads your specific inverter and battery brands, since a monitoring layer that cannot see the hardware cannot report on it.
Monitoring Mistakes That Hide a Failing System
Most monitoring failures are not missing data. They are the wrong setup or the wrong read, and each one lets a real loss slide by in plain sight. These are the pitfalls worth guarding against.
Watching raw production instead of normalized output. Raw kilowatt-hours swing so hard with weather that a real fault vanishes into the noise and a cloudy week triggers a false panic. Without normalization the number is close to meaningless as a health check.
Treating an offline system as low priority. A blank chart is the most dangerous state, because a system that stopped reporting often stopped producing, and it is the easiest failure to scroll past for weeks. Offline should be the fastest alert, not the one you get to later.
Mistaking normal degradation for a fault. A slow, uniform, array-wide decline of around half a percent a year is expected aging and needs nothing. Owners who read that as a failure waste a service call. The fault signature is a step change or one component trailing the rest, not a gentle slope.
Relying only on system-level data. A whole-system number tells you something is wrong but never what or where, so every flag becomes a guessing game. Without string or panel granularity you localize faults by climbing on the roof instead of reading a screen.
Setting thresholds too tight. Alerts that fire on every passing cloud train the owner to ignore all of them, and alarm fatigue is how a real fault gets dismissed with the noise. A threshold has to tolerate normal variation to stay credible.
Never establishing a baseline. Comparing output against a generic model instead of the system's own healthy first-year performance blurs the line between a modeling error and a real decline, making long-term degradation impossible to measure honestly.
Acting on a Signal Before It Costs Money
Detection is only half the value. The other half is a clear response, because a flagged fault that sits in a queue costs as much as one nobody noticed. The response depends on which signal fired, and a short playbook keeps a flag from becoming a debate.
A daytime offline alert comes first. Check whether the inverter has simply lost its internet connection, which a look at the home router or the inverter's display often resolves, before assuming a production failure. If the system is truly down, escalate same-day, because every daylight hour it sits dark is generation gone. An inverter error code is next: some clear after a transient grid event, and a persistent one means a service call. A single string or panel trailing its neighbors is rarely an emergency but should not wait a season, since it is lost energy every sunny day and often a straightforward warranty repair once localized.
A slow, weather-normalized decline across the whole array most often means soiling, and the fix is a cleaning. When a cleaning does not restore output and the array is still down evenly, compare against the multi-year baseline to separate true degradation from a modeling gap. Throughout, keep the production record, because when a fault turns out to be a defective component, that documented history is what supports a warranty claim. Consumer guidance including Consumer Reports stresses that warranty coverage and documented performance protect the investment, and a monitoring record is exactly that documentation.
Where Enact Home and Asset Management Fit
Everything above is easier when the comparison, the alerts, and the records live in one place instead of scattered across an inverter portal, a weather site, and a folder of PDFs. For a homeowner, the Enact Home app tracks production, savings, and system health, compares estimated against actual generation so the gap is visible without any manual math, and pushes offline and outage alerts so a system that quietly dropped off is not missed until the bill. It also delivers monthly reports, keeps free cloud storage for solar and storage documents, and gives access to an energy expert when a signal needs a second opinion. That is the whole detection loop in one view: expected versus actual, an alert when they diverge, and the paperwork on hand when a fault turns into a claim.
For installers and asset managers watching many systems, Enact's Asset Management platform carries the same logic across a portfolio, spanning design, install, and ongoing monitoring for residential and commercial systems and reading production data from a wide range of manufacturer hardware. The U.S. Department of Energy's homeowner guide to going solar frames monitoring and maintenance as part of owning the asset, not an afterthought. The system you paid for is only worth what it produces, and remote monitoring is how you make sure the number you were promised is the number you keep getting, caught early enough that the gap is a cleaning instead of a lost year.
Frequently asked questions
How do I monitor my solar panels remotely?
Use a monitoring platform that compares your system's actual production against a weather-normalized estimate of what it should produce, and sends an alert when the two diverge. Most inverters report production data to an app, and a good platform layers in local weather so the comparison is fair, plus per-string data and offline alerts. The Enact Home app does this for homeowners by tracking production, system health, and estimated-versus-actual generation in one view.
How do I know if my solar panels are underperforming?
Watch the weather-normalized output, not the raw kilowatt-hours, and look for a gap against the expected figure that holds for more than a week or two. Raw production always looks lower in winter and on cloudy days, so it hides real faults. A performance model like NREL's PVWatts estimates what the system should make, and a persistent shortfall below that, once weather is accounted for, is the sign of underperformance worth investigating.
What is a normal solar panel degradation rate?
Around half a percent per year after an initial first-year settling, which leaves most panels producing roughly 85 to 90 percent of their original rating after 25 years. That decline is slow, smooth, and spread evenly across the whole array, so it is not something you catch week to week. The U.S. Department of Energy notes that real output depends on the solar resource, temperature, soiling, and shading as well (DOE), which is why a sudden step down signals a fault rather than aging.
How can I tell normal degradation from a real fault?
Normal aging is a slow, uniform, array-wide slope, while a fault is sudden, often affects one string or panel, and is large relative to that gentle slope. A clean step down in production, one circuit trailing its neighbors, or a sawtooth soiling pattern are all fault signatures, not aging. Per-string data makes the difference obvious, and modeling in NREL's System Advisor Model shows how different loss factors leave different marks on the output.
Why does my solar app show an offline or communication alert?
It means the system stopped sending data, which is the most urgent signal because a system that stopped reporting has often stopped producing. A short dropout can be a home internet hiccup or an inverter that goes quiet after dark, both harmless, but a daytime outage that persists is lost generation you want to catch within a day. Enact Home sends offline and outage alerts for exactly this reason, so a dark system does not go unnoticed. See Enact for how the homeowner app surfaces system health.
Do I need per-panel monitoring or is system-level enough?
System-level monitoring catches that a problem exists, but per-string or per-panel data tells you what and where, which turns a guessing game into a specific fix. For a simple, unshaded roof, string-level visibility is usually enough. For shaded, multi-orientation, or high-value systems, module-level hardware like microinverters or optimizers earns its keep. Consumer guidance such as Consumer Reports emphasizes documenting performance, and granular data is what makes that record actionable.
Sources
See your real numbers
Enact builds proposals from your actual roof and utility data — so the savings you see are the savings you get. Get a free, no-pressure design.
Get a Free Solar Proposal



