Hello All, although I have been lurking here on other boards for a while, this is my first post...
I installed a sol-ark 12K with 10kw of "cheap" li-ion batterys (the BMS's dont't talk) and 6KW of panels on my garage earlier this summer. It is wired to a sub-panel 200 feet from my meter, but I ran a CAT6 down so I can zero it. We have pretty much cut our bill in half.
The real reason for the post is real time monitoring. I have a long history with RS232, TCP, UDP connections and programming, although it is dated with VB5 and a smattering of JS. After being surprised by the overhead required of using a PI to strip data off the sol-ark, I started playing around.
I found earlier posts discussing modpoll.exe and basic modbus protocol, and the sol-ark register spreadsheet. Using the dongle db9 port, I was able to get the sol-ark to give me current data. So I captured the rs-232 communications with a tap, and shortly had VB5 pulling data.
For the moment, all I want are registers 172 (grid watts), 178 (load watts), 186, 187 (PV watts), 190 (Battery watts).
I plugged a WA232e TCP-rs232 converter into the dongle port, and connect to it with winsock in VB5, so I can work from the comfort of my kitchen.
I am able to pull data at 3-4 hz, and the router and sol-ark seem un-affected by it.
My usage chart is attached. Black is grid watts, green is PV output which is also charging the red battery. Red below the line is charging, red above is discharge. Actual values scroll across the bottom.
The usage increase is from the clothes washer, dryer and water heater, all electric being turned on. Little spikes are sump pump and well pump, etc. The chart spans about 45 minutes.
I now see that my panels only appear to be putting out about 3kw instead of 6, but that is for a later post.
I have plans to use a timer to slow the polling down to 2 or 3 seconds, and then archive the data. It would also be nice to port it to JS, so I can run it in a browser.
The program is crude, but if more skilled people want to play with and improve it, I am willing to share after I get a little more done on it.