-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Ginlong firmware #2
Comments
I have firmware version 4.01.51Y4.0.02W1.0.57(2017-07-261-D) |
Meanwhile, I have made some progress. I found the value below; vpv1 = float(int(hexdata[66:70],16))/10 |
@pcmvanveen My inverter has the same firmware version as yours (2017-12-211-D) After a quick look I can confirm these values are correct for me too (not entirely sure about pac as well) I found these additional values: kwhyesterday = float(int(hexdata[134:138],16))/100 Edit Removed kwhlastmonth, since I'm uncertain after some more testing |
I can confirm kwhtoday is working. |
I managed to get most of it. Note: unk? are values I haven't been able to tie up to something. |
using Modbus protocol function 4, from address 2999 to 3079, these are what I have identified so far on Solis 5K-4G (H4.01.51Y4.0.02W1.0.57(2017-12-211-D)): system clock still trying to find the EPM values... |
Maybe my protocol analysis from Omnik can help. |
The ginlongmonitoring site doesn't have EPM either so i'm not hopeful the data is in there, however it would be awesome if you could find it, as having the EPM data is the only way to work out any excess energy that can be used at any time. |
Any of you know where to find firmwares for the sticks? Would be easier if we could install the same firmware. The web panel got the option so it has to exist somewhere? |
how do you actually look for these values? mine DataStick has a way different firmware (MW_08_0501_1.58) hence hexdata is 198 long and looks like : cant get any usefull data out of it.. |
I have an inverter with the same firmware. However, the message I'm getting is much shorter:
The instructions above don't seem to help to extract anything meaningful out of this message. Does anybody have an idea on how to deserialize this byte string? Edit: actually the protocol analysis from @XtheOne did help! I'm now able to parse the messages. |
the 198 byte long message is not the one you are looking for. it's the data logger registration message: 14 - 21 Data logger serial There's also some other data which is kind of changing. probably signal strength and so on. If you wireshark the connection between the data logger and ginlong portal, then you might notice a much bigger message (length of hexdata 492 bytes) which appears every 5 minutes. that's the one you want. i'm currently able to extract serial number, firmware versions and inverter model: |
For firmware MW_08_0501_1.58: Sometimes the data is slightly off, but overall it seems to work quite good. I've redirected the requests from the controller to the ginlong portal to my own server using static dns entries. data1.solarmanpv.com => yourserverip |
this is awesome, i will try that, thanks ! |
Hi @codeworkx , I did similar to you, redirected port 10000 requests from my data logger to my private server. I am getting the 198 byte auth message but never get the bigger 400+ byte data message. Is there a response to the auth message I should send back to have it start sending the data messages? This firmwares server b option just never seems to work so hijacking appears the only way. |
@joegoldman please use latest version from here: |
Oh yess, i was looking at the protocol file over there didn't realise there was a whole revised listener. I appreciate your work! The Solis/Ginlong guys for my area had no idea what I was on about when trying to ask about spec etc! |
If you want to use the Server B option go to the following URL on your Inverter http:\your_solis_IP\config_hide.html |
does that mean can leave data1.solarmanpv.com and use the second entry for home server i.e. send to solarmanpv + local server? Thanks |
Yes that’s the theory – unfortunately what has happened now is that they have updated the protocll to V5 on the Igate/SolarMan WIFI sticks.
Based on lots of internet research it appears that the WIFI stick initially sends out a packet and then waits for a correct response packet before it will send any data –no one appears to have found out what the magic wakeup and send me data packet contains yet – it is only a matter of time though.
I am trying some magic with my linux firewall to essentially duplicate everything that is sent and received by the Inverter and to then decode that and try to find out the magic packet sequence etc
Craig
From: dauheeIRL <[email protected]>
Sent: Wednesday, September 30, 2020 1:09 AM
To: dpoulson/ginlong-mqtt <[email protected]>
Cc: Craig Curtin <[email protected]>; Comment <[email protected]>
Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
If you want to use the Server B option go to the following URL on your Inverter
http:\your_solis_IP\config_hide.html
does that mean can leave data1.solarmanpv.com and use the second entry for home server i.e. send to solarmanpv + local server?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#2 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AM6OSTZKJMPMYOWLROXXOCLSIHZ67ANCNFSM4ERGQEXA>.
|
V5 Stuff is here:
https://github.com/codeworkx/ginlong-mqtt/blob/solis4gmini/ginlong-listen.py
craigcurtin-dev <[email protected]> schrieb am So., 4. Okt. 2020,
04:29:
… Yes that’s the theory – unfortunately what has happened now is that they
have updated the protocll to V5 on the Igate/SolarMan WIFI sticks.
Based on lots of internet research it appears that the WIFI stick
initially sends out a packet and then waits for a correct response packet
before it will send any data –no one appears to have found out what the
magic wakeup and send me data packet contains yet – it is only a matter of
time though.
I am trying some magic with my linux firewall to essentially duplicate
everything that is sent and received by the Inverter and to then decode
that and try to find out the magic packet sequence etc
Craig
From: dauheeIRL ***@***.***>
Sent: Wednesday, September 30, 2020 1:09 AM
To: dpoulson/ginlong-mqtt ***@***.***>
Cc: Craig Curtin ***@***.***>; Comment <
***@***.***>
Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
If you want to use the Server B option go to the following URL on your
Inverter
http:\your_solis_IP\config_hide.html
does that mean can leave data1.solarmanpv.com and use the second entry
for home server i.e. send to solarmanpv + local server?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
#2 (comment)>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/AM6OSTZKJMPMYOWLROXXOCLSIHZ67ANCNFSM4ERGQEXA>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADJL2VIKRS2Q7VSZNL7FZLSI7MYJANCNFSM4ERGQEXA>
.
|
Daniel,
Thanks for that – does that do the magic packet response to get the inverter to actually send the data ?
I will set it up now and test it out
Craig
From: Daniel Hillenbrand <[email protected]>
Sent: Sunday, October 4, 2020 5:44 PM
To: dpoulson/ginlong-mqtt <[email protected]>
Cc: Craig Curtin <[email protected]>; Comment <[email protected]>
Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
V5 Stuff is here:
https://github.com/codeworkx/ginlong-mqtt/blob/solis4gmini/ginlong-listen.py
craigcurtin-dev <[email protected]<mailto:[email protected]>> schrieb am So., 4. Okt. 2020,
04:29:
Yes that’s the theory – unfortunately what has happened now is that they
have updated the protocll to V5 on the Igate/SolarMan WIFI sticks.
Based on lots of internet research it appears that the WIFI stick
initially sends out a packet and then waits for a correct response packet
before it will send any data –no one appears to have found out what the
magic wakeup and send me data packet contains yet – it is only a matter of
time though.
I am trying some magic with my linux firewall to essentially duplicate
everything that is sent and received by the Inverter and to then decode
that and try to find out the magic packet sequence etc
Craig
From: dauheeIRL ***@***.******@***.***>>
Sent: Wednesday, September 30, 2020 1:09 AM
To: dpoulson/ginlong-mqtt ***@***.******@***.***>>
Cc: Craig Curtin ***@***.******@***.***>>; Comment <
***@***.******@***.***>>
Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
If you want to use the Server B option go to the following URL on your
Inverter
http:\your_solis_IP\config_hide.html
does that mean can leave data1.solarmanpv.com and use the second entry
for home server i.e. send to solarmanpv + local server?
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
#2 (comment)>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/AM6OSTZKJMPMYOWLROXXOCLSIHZ67ANCNFSM4ERGQEXA>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADJL2VIKRS2Q7VSZNL7FZLSI7MYJANCNFSM4ERGQEXA>
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#2 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AM6OSTYR7HOQCKBX73UN4ADSJAKUZANCNFSM4ERGQEXA>.
|
For me it does the trick.
But the interpretation of the payload is not 100% accurate. Some values
seem to be slightly off sometimes.
Am So., 4. Okt. 2020 um 09:09 Uhr schrieb craigcurtin-dev <
[email protected]>:
… Daniel,
Thanks for that – does that do the magic packet response to get the
inverter to actually send the data ?
I will set it up now and test it out
Craig
From: Daniel Hillenbrand ***@***.***>
Sent: Sunday, October 4, 2020 5:44 PM
To: dpoulson/ginlong-mqtt ***@***.***>
Cc: Craig Curtin ***@***.***>; Comment <
***@***.***>
Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
V5 Stuff is here:
https://github.com/codeworkx/ginlong-mqtt/blob/solis4gmini/ginlong-listen.py
craigcurtin-dev ***@***.******@***.***>>
schrieb am So., 4. Okt. 2020,
04:29:
> Yes that’s the theory – unfortunately what has happened now is that they
> have updated the protocll to V5 on the Igate/SolarMan WIFI sticks.
>
> Based on lots of internet research it appears that the WIFI stick
> initially sends out a packet and then waits for a correct response
packet
> before it will send any data –no one appears to have found out what the
> magic wakeup and send me data packet contains yet – it is only a matter
of
> time though.
>
> I am trying some magic with my linux firewall to essentially duplicate
> everything that is sent and received by the Inverter and to then decode
> that and try to find out the magic packet sequence etc
>
> Craig
>
> From: dauheeIRL ***@***.***<mailto:
***@***.***>>
> Sent: Wednesday, September 30, 2020 1:09 AM
> To: dpoulson/ginlong-mqtt ***@***.***<mailto:
***@***.***>>
> Cc: Craig Curtin ***@***.******@***.***>>;
Comment <
> ***@***.******@***.***>>
> Subject: Re: [dpoulson/ginlong-mqtt] New Ginlong firmware (#2)
>
>
> If you want to use the Server B option go to the following URL on your
> Inverter
>
> http:\your_solis_IP\config_hide.html
>
> does that mean can leave data1.solarmanpv.com and use the second entry
> for home server i.e. send to solarmanpv + local server?
>
> Thanks
>
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub<
> #2 (comment)>,
> or unsubscribe<
>
https://github.com/notifications/unsubscribe-auth/AM6OSTZKJMPMYOWLROXXOCLSIHZ67ANCNFSM4ERGQEXA>.
>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <
#2 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/AADJL2VIKRS2Q7VSZNL7FZLSI7MYJANCNFSM4ERGQEXA>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
#2 (comment)>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/AM6OSTYR7HOQCKBX73UN4ADSJAKUZANCNFSM4ERGQEXA>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADJL2RIWVZOUW2HGCGGSQ3SJANTBANCNFSM4ERGQEXA>
.
|
Trying this out with a fairly recent Solis Hybrid Inverter and stick: Version: Seeing
|
@jasonmadigan try this one: https://github.com/codeworkx/ginlong-mqtt |
@codeworkx will give it a try, thank you! |
@dpoulson This was really helpful thanks. I've written a service to adapt the v1.82 protocol if it's useful to anyone. I also have a blog entry on reverse engineering the protocol. |
I have a Ginlong firmware version H4.01.51Y4.0.02W1.0.57(2017-12-211-D). I found out that the data string len is now 276. Also the format is changed. I already changed the decoding of the serial to get some information str(30:30)
Please a hint to detect the right positions of the values.
The text was updated successfully, but these errors were encountered: