Solar Charge Controller Charge Status

Grafana 5.4.3

Open to input to configure a SingleStat or some other color/text display to show the charging status of a PWM solar charge controller.

Currently running a Renogy Wanderer connected to a SnekTek wireless RS-232 module sending charge controller measurements to InfluxDB via MQTT. There is no issue with the data.

My current dashboard is displaying raw values for pV voltage/wattage/ampere, load volt/watt/amp, and battery volt/charge current. I have a SingleStat display that changes color based on battery charge current, and the text changes based on range-to-text.

This configuration only allows displaying three charge situations; charge, discharge, and null.

I would like to be able to display the following states; Bulk, Absorption, Float. The issue with this is bulk and absorption are opposite phases of the charging profile. Charging current ranges from 0A - 0.5A while in bulk, and 0.5A - 0.3A during absorption. Top it off with float ranging from 0.03A - 0.14A, right in the middle of the bulk range.

There is a State of Charge display that is working by using SingleStat and a range-to-text lookup table for 0-100% in 5% increments, and it is working great.

That sounds like a tricky one. Am I right that the issue is basically that there’s no straightforward mapping between charging current and state? I.e. to determine the state you’d need to look at the evolution of the current over time, rather than simply the current at a point in time? Not sure there’s a simple formula there…

I’m not familiar with the Renogy kit, but is there maybe a way to read out the state itself over RS-232? (rather than trying to infer it from the current)

1 Like

Yes, you are correct, there is no straightforward way to derive the charge state. No matter how I try, there is overlap between voltage or current range for all three proposed charge states.

Not having much luck trying to get the modbus documentation to see if there is a register that directly provides that information, and the SnekTek module is closed-source anyway so I couldn’t just fork the source and mod it. Have reached out to the dev to see if this is something they would be interested or able to implement.

Thanks for the input though.