wildmountainfarms / solarthing

Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
https://solarthing.readthedocs.io
MIT License
130 stars 28 forks source link

Zamp Solar RJ12 #68

Closed edulmartins closed 2 years ago

edulmartins commented 2 years ago

Hi. Sorry in advance if this is not the best way to ask for help opening an issue here.

I arrive here coming from this post.

My RV has a Zamp Solar ZS-30A that uses a RJ11/RJ12 port for communication with a Remote Digital Display ZS-RT1 that I'd like to gather and store information from it and further integrate somehow in my home automation system.

I'd like to ask you solar controller in general uses the same communication protocol standard where the messages and codes are standardized or the worst case scenario that I'll to guess the information based on log from the serial communication.

I appreciate any help that can point me in a direction.

Thanks.

retrodaredevil commented 2 years ago

The Zamp Solar ZS-30A does not use the same protocol as Renogy devices use, so it is not currently supported by SolarThing.

After looking at it a bit, my guess is that Zamp has its own unique protocol, or uses something similar to the MT-5 protocol (not MT50, that is different). Your best bet to find existing software to monitor this device is to figure out if the Zamp Solar ZS-30A is a rebrand of another charge controller that has existing open source software out there to monitor it. A good chunk of the time when someone brings up some obscure charge controller, it's usually a rebranding of a better known charge controller with existing software to monitor it (that might not be the case here, but it could be).

If you end up developing software yourself for this charge controller, I wish you luck. The first part is to figure out what the data lines are for the RJ12 port on your controller. Once you know RX, TX, and GND on your port, you can connect those to your serial adapter. Now, I don't know if you need a RS485 adapter or a RS232 adapter for your controller, so you should figure that out too. At this point, you should be able to open up the serial port using your language of choice and read and write to it. Very rarely, the port's TX (that you connect to your own RX), will just start spitting out data for you to do stuff with. However, most of the time, newer charge controllers will use the modbus protocol which allows you to request specific information from the charge controller. If that is the case, you will need both RX and TX working.

Many charge controllers that are rebranded use the exact same protocol, but for the most part there is no common protocol for solar charge controllers to use. Many charge controllers will use the Modbus protocol, but almost all of the time the registers of a given charge controller will vary from one to another, making it impossible to use the same code to gather data from charge controllers of different brands.

I hope this information helps you out, it looks like you have a more obscure charge controller that isn't very well known. Feel free to pick my brain more.

edulmartins commented 2 years ago

Thank you much for your answer!