-
Notifications
You must be signed in to change notification settings - Fork 29
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
Add Version 5 protocol support #3
Comments
Development done in branch: "Experimental_Frame_Version_5_support" |
Tried 00-ff for the first bit, some works for 70%.. |
frame_hdr = byte(headCode) + short(dataFieldLength) + short(contrlCode) + short(serialNumber) |
As there is still no more help from Omnik or SolarMan about the V5 frame data needed to trigger the logger we are a bit stuck at the moment. |
Added a PR, thanks for this script 👍 |
The reply is only 99 bytes, have to check the docs what frame type this is. |
FYI, the main_fwver and slave_fwver both still fail in InverterMsg with this logger. Most likely because 101 and 121 don't exist due to 99 bytes. |
Yes, cannot get data past EOF. Still need to fix this. |
Still NO help from Omnik or Solarman dev... |
Hello, I need also the V5 support. Regards |
Still........ Nothing from Omnik. :-( |
I'm really interested in this. Have a data logger stick from Ginlong where they obviously are using frame format V5 as the inverter is logging new sets of data like total energy yesterday, this month and last month. Think I have debugged where to find the main firmware version and yesterdays data, but my energy reading does not match what my app claims to be the current production level. |
I would really need some trace data. |
Solis Three phase communication protocal.pdf |
The Wi-Fi data logger communicates to the inverter trough RS485, the protocol is MODBUS. |
I might get an ethernet logger myself later this year. |
Not sure if you're still working on this, but I tried your experimental branch in attempt to get my inverter working with your script, and I actually do get a response now. I didn't get that on the master branch. This is the error I'm getting: I have an Omnik 3K TL3, and the Wi-Fi data logger has firmware version H4.01.51MW.2.01W1.0.64(2018-01-251-D). |
nielsvn92, I am glad to know someone with the same wifi firmware version ( H4.01.51MW.2.01W1.0.64(2018-01-251-D) ) got ANY answer at last. It must be a kind of error-frame as I see |
After experimenting with our omnik/wifi we get the same error result. I think we have a problem with calling packet frame. |
The problem is that I do not have a new WiFi module or able to get a firmware update from Omnik. |
ERR=-1 probably shows that the V5 magic frame is not correct. |
We did not use scanloggers.py. LiveStats.py with setting in the config file: |
iGEN is the company which creates the logger. they upgraded the V4 protocol to V5 last year. |
What we are able to do is setting the internal server of port 8899 to
So no data. If you want, I could move my logger to another subnet and grant you access to the inverter WiFi module via a VPN @XtheOne? Or would physical access be required? Is there anything else we can try for you? |
I have already tried setting the internal server of port 8899 to client mode before. Linux or Node-Red have got connected but no data coming in - exactly as with your trial... |
This is the output of the
As you can see the inverter sends the same message 3 times with an interval of about 10 seconds. After these messages it remains silent. I have captured some of the data between the inverter and the cloud service (using the intercept script). I'm wondering if the suffix is always the same. This is a part of the
|
Does the output completely stop for at least 30 minutes? In my case, a fresh 228 byte message arrives every 5-10 minutes; so if it takes longer than 15 minutes, something seems indeed wrong. I must admit I am not sure about that 41 byte message and the 14 byte messages. The 14 byte messages I see as well, and I also see sometimes 60 byte messages; but I ignore all these, and that seems to work fine. One other improvement I did was to disable acknowledgements on that config_hide.html page - that got rid of a resends, as it seems the response that the solis-service provides is not a proper acknowledgement. I now see a fresh 228 byte message about every 5-10 minutes. I also added following at the end of
|
@jessiesolar Thanks for your help! I have disabled the acknowledgements and now it's working. |
Been playing with this and it is what I would call a gigantic pain in the bottom. Even proxying the chinese server with my ginlong wifi stick, it doesn't behave properly. Sometimes it connects and sends no data. Sometimes it ignores the heartbeat acknowledgement messages. And it almost always stops on 3 messages. Occasionally it sends other-sized packets like 41 bytes or 60 bytes. As a result even though my code works and if I wanted I can emulate the server responses correctly, the thing is so unreliable and stops working so often that it can't feasibly be used to log any data. What I would give for a simple json API... if anyone has any ideas on why it's so temperamental, would be appreciated. As a side note my config_hide page doesn't seem to have any option for disabling acknowledgements as mentioned above. |
@NibblyPig Did you try to disable acknowledgements? I had the same issue (stopping after 3 messages) and disabling acknowledgements fixed my problem. |
@silvanverschuur Unfortunately I don't seem to have an option for that. Perhaps because I'm using the wifi stick rather than the LAN stick? Or it could be my firmware, however I couldn't find any information about upgrading/downgrading. Here is a screenshot of my config hide page Inverter Firmware version (main)003E I'm sending the acknowledgements directly from the server, or I can emulate them myself as I figured out from someone else's page how to recreate them. But it sometimes stops responding despite sending them. Resetting the stick fixes it for a short while, like 20 messages or so will send between acks but then it stops again. |
Anyone got this to work consistently with a wifi logger, serial number starting with 072? model EN2-8M and MW_08_512_0501_1.82 |
I might have a bit of information about the V5 protocol... --- To get data from the logger --- Then sent the following DATA (16 bytes) to trigger the logger. I've read all the msgs in the post. I see that most of this information was already decoded.
This is the java function used in the APK to communicate with the inverter...
And this is the right order of the fields... |
If someone is interested https://github.com/jlopez77/DeyeInverter I've written a version to read Deye Inverters with serial 17XXXXX |
This is really great, Updated the config file and removed the comment from the print-command and it work perfectly first time. Thank you very much, you saved me a whole lotta trouble. |
Sounds good!
El mié., 25 ago. 2021 15:06, gordonforbes ***@***.***>
escribió:
… If someone is interested
https://github.com/jlopez77/DeyeInverter
I've written a version to read Deye Inverters with serial 17XXXXX
This is really great, Updated the config file and removed the comment from
the print-command and it work perfectly first time. Thank you very much,
you saved me a whole lotta trouble.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACQIBIXBZJPFOHWH3O6Y4KTT6TTFFANCNFSM4D5IESIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
@jlopez77 Michal |
Sadly I dont have one of this to check. Probably my script is not querying the right addresses also, It cannot decode the answers. |
Michal |
In fact, what we send to the inverter is tha addresses we want to query
about. If the addresses are not the ones in the MODBUS, the answers are
plain garbage.
El sáb, 18 sept 2021 a las 14:58, MichaluxPL ***@***.***>)
escribió:
… If someone is interested
https://github.com/jlopez77/DeyeInverter
I've written a version to read Deye Inverters with serial 17XXXXX
@jlopez77 <https://github.com/jlopez77>
Do You have any information what should I change in Your solution to get
data from Sofar Solar Inverter ? Currently, using Your solution, I can see
it comunicates with interver through logger, but logger sends only short
packets without the required data.
Michal
Sadly I dont have one of this to check. Probably my script is not querying
the right addresses also, It cannot decode the answers.
It's not about querying wrong adresses. The response simply it too short
to contain the actuall data. So probably it requires a different query data
to be sent.
Michal
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACQIBIRHLLDUWSNHMYYX4NTUCSEHLANCNFSM4D5IESIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Could You please tell me which part of the request data is the address we ask for ? Michal |
Actually, I've managed to figure it out on my own :) Now I have a working solution for Sofar KTL-X intverter family. |
Michal, could you share your findings? Have you managed to connect to Sofar inverter via WiFi kit? |
I'll make a project on github shortly to share the solution. |
That's Great! I didn't have a computer with me this weekend so I couldn't
point you to the correct lines, but I see that you managed to solve it by
yourself.
Please share with the community so I can star your project!
El dom, 19 sept 2021 a las 13:20, MichaluxPL ***@***.***>)
escribió:
… Actually, I've managed to figure it out on my own :) Now I have a working
solution for Sofar KTL-X intverter family.
Thanks jlopez77 for a great work !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACQIBIRDI72S6S5YF5Z5EULUCXBPDANCNFSM4D5IESIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
OK, so the new project (based on @jlopez77 fantastic work) is here: https://github.com/MichaluxPL/Sofar_LSW3 |
FYI I've written a Python module to interact with Solarman v5 data loggers. The library exposes a Modbus type interface and encapsulates the Modbus RTU frames in the V5 protocol. https://github.com/jmccrohan/pysolarmanv5/ Might be of use to someone here. |
Thx to the community For Bosswerk(Deye) MI600 this works for me: def parse_inverter_message(message): BR |
Could you please go a little bit more into detail how you got it working? |
jlopez77, I am not sure I understand how the below sequence: --- To get data from the logger --- Then sent the following DATA (16 bytes) to trigger the logger. is compatible with SolarmanV5 protocol? BTW: Your code https://github.com/jlopez77/DeyeInverter is compatible with SolarmanV5. Which one is right ? |
For Bosswerk(Deye) MI600 SN=22* FW=V0.2.0.1 V0.1.1.4 V1.2.1.2 |
Do you confirm?
BTW: Bosswerk(Deye) MI600 SN=22* FW=V0.2.0.1 V0.1.1.4 V1.2.1.2 BR |
@iv765 It worked out perfectly, thank you very much! I |
Cloudless (App does not work) |
Can some one help decode the bytes
This would be a great help also help me understand the decoding |
Implement support for V5 protocol as used in new embedded ethernet loggers.
Needs documentation from Omnik and or iGEN / Solarman.
This is requested.
Also a firmware update file is requested.
The text was updated successfully, but these errors were encountered: