-
-
Notifications
You must be signed in to change notification settings - Fork 71
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
Sungrow SG10RT - "unable to decode request" #58
Comments
See issue [https://github.com//issues/53] It will pull the holding registers (time/date etc) but not the input registers. I had this inverter working, but unsure if a firmware update or the wifi/lan change killed it for me. |
Hi, please see #66, I have created a new library SungrowModbusWebClient to pull the modbus via HTTP requests. It's dirty but I have been running it now for a week. |
@bohdan-s thanks for your efforts! I just gave it a shot with my SG10RT and getting this error:
|
Maybe because the SungrowModbusWebClient doesn't support sg10rt?
|
Sorry didn't realise you wrote the SungrowModbusWebClient library :) |
Happy to file a PR to add the model for the SG10RT, however no idea where to get the |
@gservat that was quick, Added SG10RT to model list, Let me know how it goes. |
Thanks @bohdan-s you mean 0.2.4 yeah? Excited to see it works!! One thing though. I noticed that in the
I'd like to look at the output provided by my SG10RT as I'm not sure if it's a register mapping problem or if the inverter is simply not providing that info. Any ideas? I tried the following:
... but not sure what each of those hex pairs mean. |
curl http://192.168.0.102/device/getParam\?dev_id\=1\&dev_type\=21\&dev_code\=9267\&type\=3\¶m_addr\=5000\¶m_num\=10\¶m_type\=0\&token\=&lang=en_us&time123456=1638762788 That query is reading Holding Registers, 07 E5 = 2021 which is register 5000 of the holding register. you want the Read-only so param_type=0 (not 1 as above). Have a look at the SG7.0RT config, I have mapped out almost all the registers, you can comment/uncomment and test and see if you get the right data. The 7.0/10 are almost the same for registers. The below code will loop through 5000-5200 and output the register and the Decimal value. Swap the [xxx] values.
|
@gservat, Also do you see power export on the iSolarCloud app? |
@bohdan-s yep I definitely see how much power we sell back to the grid via iSolarCloud. We got a smart meter installed with the system. Thanks heaps for your feedback btw. I'll try what you suggested and see how I go. |
With that code you provided, I've got lots of interesting values for each register but I just don't know what each register means :-) Any ideas how to figure that out? |
Oh.. you suggested looking at the SG7RT config 👍 |
Sorry, took a while to upload, here is the official document i based the SG7.0RT file on: https://github.com/bohdan-s/Sungrow-Inverter/blob/main/Modbus%20Information/Communication%20Protocol%20of%20PV%20Grid-Connected%20String%20Inverters_V1.1.37_EN.pdf |
Super userful. Thanks @bohdan-s! Just wondering: in pvoutput.org, live data looks like this for me: I think most fields look OK except for "power used". Is this field displaying whatever solariot sends as "power consumption"? That would be |
Come to think of it I don't think that "energy used" column is very accurate either. |
I thought I would just update, I have forked (and rewritten) Solariot here: https://github.com/bohdan-s/SunGather |
Just got a Sungrow SG10RT installed and my
config.py
looks like this:Confirmed that port 502 is open on the
inverter_ip
. Log:I saw another issue that mentioned using
pymodbus
version 2.4.0. I'm already on that version as perrequirements.txt
Any ideas?
The text was updated successfully, but these errors were encountered: