Closed ryanck123 closed 1 year ago
I'll look into it, but if you could increase log level to DEBUG and attach here the response strings, it would help and allow me to write unit tests.
home-assistant_goodwe_2023-03-28T09-26-24.118Z.log Thank you very much.
Based on some back and forth with GoodWe, it seems the model is still new and likely has a couple of issues. For some reason, I still get PV Master to work. Rolling back firmware isnt an option as I had an issue with the unit tripping on the old firmware if the grid is lost. I'm also going to use this tool later today to test connectivity. https://powerforum.co.za/files/file/60-goodwe_es-live-udp-data-by-cef-ver/.
Will update as soon as I have managed to find something.
Your inverter seems to be "2nd generation" of "ES" inverters and it is quite possible it no longer talks the old "ES" protocol, but the newer "ET" protocol. Could you try to explicitly specify family "ET" when adding integration to HA ? (And attach the logs again ...)
Yes, you are correct that it is the gen2 ES inverter (https://en.goodwe.com/es-g2), but unfortunately, I am not able to connect when specifying "ET" or even "none".
I wasn't aware that there were multiple protocols on these, so I ran through the list of available models and could get "ES" and "EM" to get past the configuration screen. I've attached the logs for the period I was testing the different options. home-assistant_hacs_2023-03-29T07-53-16.710Z.log
It's difficult to debug it from HA. Are you able to checkout the library sources from https://github.com/marcelblijleven/goodwe and run python script tests/inverter_check.py ?
invertercheck-none.txt invertercheck-es.txt
Here are the two output files, 1 running the test set to "None" and 1 set to "ES". Again ES and EM give responses, however, the rest don't. I have asked Goodwe on my firmware to reload it, in case that is the issue, since the firmware version query gives these special characters.
I can only assume that they have made significant changes in the latest firmware, given it worked before and PVMaster still works.
So it seems to talk the "ET" protocol, just they started to encode firmware versions differently. I have committed a fix and protocol auto-detection. Please checkout/pull the latest code and try again ...
See the latest checks run. invertercheck-et.txt invertercheck-es.txt invertercheck-none.txt
Still looks the same, unfortunately. If you can talk me through it, I can run modbus poll or a similar tool to poll the inverter and share those logs too. I tried RTU over UDP/IP on port 8899 and slave address 247 with no success, with similar requests as per this document, but not succeeding. 4349-1GoodweModbusPROTOCOLHybrid-ENV1-3EMseries.pdf
You must have tested the old, not updated code. The decoding now look like this - https://github.com/marcelblijleven/goodwe/blob/6895225c1a7780ff960140bd2690ecf9a2f127bb/goodwe/et.py#L347 and not as in the exception.
Hmm, it's probaly using the released version of library installed in python's pip. Try to run the script directly from tests directory, then the sys.path.insert(0, '../../goodwe') on line 7 should ensure you're executing the local sources.
Ok think I managed to get this right, see attached logs for both. inverter_check_es.txt
That looks good. Now uncomment the lines 42-45 and see if you get the sensor data.
I have checked and can see both the real data and the settings, to confirm a more static value and I'm getting good data.
Great. I have uploaded the changes, so if you (re) install the beta/master version of the integration in HACS, it should be working in HA properly now. When you confirm it, I'll release a new version v0.9.9.10.
I can confirm it works, I noticed the update and implemented it now. Thank you very much for making this work again for me.
Hi
My installer had to upgrade my firmware, and after having the system work correctly for about a week, it stopped. I'm currently on inverter firmware version V5 and ARM version V2 according to GoodWe support and PV Master app. Below is a snapshot of the error in the log:
_
Logger: goodwe.es Source: /usr/local/lib/python3.10/site-packages/goodwe/es.py:199 First occurred: 09:31:04 (6 occurrences) Last logged: 10:37:58
Error decoding firmware version . Traceback (most recent call last): File "/usr/local/lib/python3.10/site-packages/goodwe/es.py", line 193, in read_device_info self.dsp1_version = int(self.firmware[0:2]) ValueError: invalid literal for int() with base 10: '\x00\x02'
_
Subsequent messages are failed to connect after retries, and no valid responses have been received.
The stock integration doesn't work, and I also tried reconfiguring WiFi and in a different HA instance.
Regards