planetmarshall / web-algodynamic

algodynamic website
Apache License 2.0
0 stars 0 forks source link

Inconsistent Inverter Behaviour #12

Closed NibblyPig closed 2 years ago

NibblyPig commented 3 years ago

Hello,

I've used your work to create an application in C# to harvest the data. I've successfully been able to get the 99 byte request from the inverter, generate a fake response and send it back, then get the 246 byte message back and parse out all the juicy details.

However it's so incredibly flaky and inconsistent, and I wondered if you had similar issues.

I have identical firmware version to yourself. For troubleshooting, I simply proxy the remote server and do nothing myself.

Sometimes, the inverter will connect but it won't send any data, and neither will the remote server.

Sometimes, it will connect, and send 41 byte packets (I don't know how to handle these), which when forwarded to the remote server result in the standard 23 byte heartbeat response, but the client will ignore them and after three 41 byte packets will then do nothing.

Sometimes it connects, sends the 99 byte, the remote server responds, it gives the 246 byte message, the server responds with a 23 byte heartbeat, this occurs three times then the client once again just gives up.

With no code modifications on two occasions it did continue more than three times to send data out, after sending it something like 20 times (with a hearbeat message back each time) it stopped and no more data was sent/received.

With these kinds of problems, it is impossible to get a smooth working solution. Both client and server remain connected when they stop transmitting, not sure why. I wondered if you had any ideas about this that could perhaps help me figure out a solution.

Many thanks.

planetmarshall commented 3 years ago

Hi there -

Sorry I can't help with the reliability issue. For what it's worth, my service has been running reliably for over a month now on a Raspberry PI - I tend to ignore all messages apart from the 246 byte message and the heartbeat.

Probably the most reliable solution is to use your own hardware instead of the wifi stick, but that's not really my area of expertise. I believe you'll need an RJ45->USB adapter and a way to decode the Modbus protocol. Have a look at the OpenHAB forums for some other users trying the same solution - https://community.openhab.org/t/ginlong-solis-solar-inverter-monitoring/35386/63

Good luck!