We have a holiday house with a complete off-the-grid solar charging system, which consists of 6 solar panels and a 24V / 525Ah battery bank. The Outback MX solar charger we use has a special port that you can connect an Outback MATE to, which itself has an RS232 port for logging data.
However this logging data is a pretty basic ASCII packet, and I was frustrated that I couldn't access the more advanced information shown on the LCD! So I started this project in an attempt to access the raw data myself.
The result is pyMATE - an open-source python library that can speak the native protocol that Outback devices use, and it opens up many more possibilities than the RS232 port alone could provide.
All it needs is a UART port and some opto-isolator hardware to convert it to the correct voltages.
Currently I am able to:
- Get a status packets for the MX solar charger, FX inverter, and FLEXnet DC monitor
- Get log entries stored on the MX (Up to 255 days worth)
- Read & write MX/FX/DC registers, parameters, and controls (allows you to change system behaviour!)
Full protocol implementation details is available in the python library.
Leave a comment if you found this library useful!
Hi Jared, this is a cool project congrats. I'd love to try it in my system, its a Flex60, Flex80 and FX. I'd love to track the parameters of the three of them and develop an enhanced Mate app with some cool info. Particularly for me tracking when batt is floating and there is surplus sun is very helpful as I can turn on some amenities in the house like the pool pump :)
I have some CS background but not electronics or programable boards, though would be great to contribute any way I can; I'm thinking on connecting each of the above and connect them via wifi to send their output to a mysql database, what would be your recommendation for hardware, having each connected to an ESP8266 or the three of them to a Raspberry ? I also see you are trying to port to arduino, if I can help, at least testing I'd be very happy to do it.