Problems with GW15k-ET-20
Has anyone had problems with this inverter, too?
I added the identifier to the code:
MPPT3_MODELS = ('MSU', 'MST', 'PSC', 'MSC', '25KET', '29K9ET', '25KMT', '15KEU')
But it shows that the inverter is neither supported nor recognisable.
I tested several other things:
UDP Test Port 8899 (Device Frame): {'ok': False, 'host': '192.168.178.54', 'port': 8899, 'error': 'timeout'}
UDP Broadcast Test Port 48899: {'ok': False, 'port': 48899, 'error': 'timeout'},
Async Test (8899): {'ok': False, 'port': 8899, 'error': 'timeout'}.
Async Test (8899): {'ok': False, 'host': '192.168.178.54', 'port': 8899, 'error': 'timeout' INFO: ConnectionRefused = Port closed or UDP service disabled.
When I force direct communication over port 502, I receive the data: Registers 35100–35119: 35100 6410 35101 267 35102 6928 35103 5874 35104 102 35105 0 35106 5991 35107 4873 35108 102 35109 0 35110 4960 35111 0 35112 0 35113 0 35114 0 35115 65535 35116 65535 35117 65535 35118 65535 35119 514
Does anyone know what the problem is or how to fix it?
Feedback from GoodWe Support:
The reason that detection via UDP is not possible is that UDP detection is no longer supported with the new WiFi/LAN 2.0 Cyber Security. All dongles without a Cyber Security chip support UDP detection.
@EnvironCMO is there a solution for this? Like buying GoodWe WiFi/Lan Kit 2.0?
@TheLordBaski you can use TCP directly instead of UDP.
I tried this:
# Connect using the protocol
inverter = await goodwe.connect(
ip_address,
comm_addr=0xf7,
family="ET",
port=port,
)
but still can't connect to it.
Try:
inverter = await goodwe.connect(inverter_ip, port=502, timeout=5, force_tcp=True)
Increasing timeout doesn't work, I no force_tcp argument in the connect. But internally, I check, it's using TCP when the port is 502.
Also tried goodwe.search_inverters() but getting
Traceback (most recent call last):
File "C:\Users\jakub\test.py", line 88, in <module>
main()
File "C:\Users\jakub\test.py", line 84, in main
asyncio.run(detect_inverter(args.ip, args.family))
File "C:\Users\jakub\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\jakub\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
return future.result()
File "C:\Users\jakub\test.py", line 28, in detect_inverter
inverters = await goodwe.search_inverters()
File "C:\Users\jakub\AppData\Local\Programs\Python\Python310\lib\site-packages\goodwe\__init__.py", line 127, in search_inverters
result = await command.execute(UdpInverterProtocol("255.255.255.255", 48899, 1, 0))
File "C:\Users\jakub\AppData\Local\Programs\Python\Python310\lib\site-packages\goodwe\protocol.py", line 457, in execute
result = response_future.result()
goodwe.exceptions.MaxRetriesException