I've been down a couple of dead-ends trying to develop a work-around for a solar battery project. One option explored was to reflash the ATMEGA325PV within the system. This post refers -
I'm back to exploring a MITM hack of the RS232 data stream and would be appreciative of any assistance.
To recap: The project consists of a Fronius Solar Battery that I have expanded beyond the manufacturers supported configuration. The most the Fronius supports is 8 battery modules behind the Battery Management System.
I have expanded that to two banks of 8 modules. The system switches alternately between the banks as they become full or empty. This works fine except that the inverter performs an unnecessary calibration charging cycle when it sees new battery serial numbers.
I wish to intercept the serial numbers in the RS232 stream (likely using a Raspberry Pi) and mask the serial numbers of the new battery modules that have been switched in.
What I have now is the data stream in an ASCII format (using a program called Termite). I can see repeating characters that would be expected from 8 modules that are all of a very similar state. But the data is effectively unintelligible gibberish.
I also have the JSON output from the inverter that reflects the incoming data.
So to summarise, I have the outbound serial data (in an unknown protocol), but I also have the values being sent by the serial data in a human readable JSON format.
I need to be able to recognise the serial numbers in the raw serial data before they get to the inverter.
Has anyone experience in making sense of a serial data stream with an unknown protocol?