RV Tech · Solar

The failure that hides from every alarm

A burned SAE connector on the roof that never blew a fuse, and the health sensor built so it cannot happen quietly again.

A high-resistance joint in a solar string is genuinely nasty. The string self-limits to almost no output while still generating heat, so no fuse opens and no controller alarm fires. You just quietly lose a third of your array and never find out.

We found one the hard way: a burned SAE connector on the roof, charred through while still mated to its cap, one contact destroyed with green corrosion.

The likely initiator was mechanical — a branch catching the cable and pulling the connector partly out. Not far enough to disconnect anything, just far enough to reduce the contact area. That is the worst version of the fault: a fully open string stops contributing power and is therefore easy to spot, while a partly seated one keeps carrying current through a smaller contact patch, concentrates heat at that contact, and lets water into a connector with no published ingress rating. Heat and corrosion then feed each other until the housing melts.

To be clear, an open string is easier to detect, not harmless — a disconnected panel in daylight is still an energised DC source.

It is a fire risk, not a yield problem — and worth a look after any drive under low branches.

Close-up of the failed SAE solar connector, its housing melted back from the terminals with visible corrosion on the contacts
The connector itself. The housing has melted back and away from the terminals, and there is corrosion on the contacts — the pale crust on the metal. This is where a partly-seated connector ends up: less contact area, more heat, water getting in, and eventually the plastic gives up. It never blew a fuse and never raised an alarm. The only symptom was a third of the array quietly going missing.

So Home Assistant now tracks solar output health: the trailing 7-day peak output as a percentage of the trailing 30-day peak. Peaks rather than averages, because one clear hour in a week restores a peak — weather matters far less than it would to an average, though a genuinely cloudy fortnight can still pull it down. It also refuses to report at all when the rig is stored or shaded, rather than screaming that the array is dead.

What a failure looks like depends on which string goes. Ours are not equal — 400 W, 200 W and 320 W — so losing one leaves roughly 57%, 78% or 65% of nameplate respectively. String C, the one that actually failed, sits in the mid-60s. Treat this as a fault detector, not a power estimator: all three strings share one controller and do not have identical operating voltages, so they cannot all sit at their own maximum power point at once.

De-energise the array at the DC-rated string disconnects, or cover the panels, before servicing anything on the roof. Never separate PV connectors under load.

Home Assistant array health card showing output at 90.8 percent of the 30-day peak, with 7-day and 30-day peaks and a count of producing days
The sensor doing its job. This week's best hour hit 541 W against a 596 W best over the month — 90.8%, which is a healthy array. Losing one string of three would drop it to roughly 67%, and that gap is wide enough to be unambiguous. "Producing days" is the safety catch: below three, the sensor reports nothing at all rather than dividing by a month of shade and declaring the roof dead. And before anyone does the arithmetic — 596 W against 920 W of nameplate is not a general efficiency figure. The roof is flat, the strings run at different operating voltages through one controller, and the SmartSolar 100/50 is itself capped at 50 A out, which at charging voltage is roughly 700 W before anything else is considered. The array is deliberately over-panelled. That is why the useful metric is change against this rig's own history, not percentage of nameplate.