Hallo zusammen,
Ich habe einen Sungrow-Wechselrichter SG10RT und nutze Home Assistant sowie EVCC als Addon, um die Daten per Modbus auszulesen. In Home assistant lese ich die Wechselrichter Daten mit der MKaiser Modbus Integration aus. Damit sich beide nicht in die Quere kommen, verwende ich ha-modbusproxy (installiert auf meinem Home-Assistant-Host als Addon).
Mein Sungrow-Wechselrichter liegt auf 192.168.178.53:502. In meiner Proxy-Konfiguration habe ich folgendes eingestellt:
upstreamhost: 192.168.178.53
upstreamport: 502
listenport: 502
connection_time: 0.1
timeout: 10
loglevel: INFO
Home Assistant und EVCC sollen beide nur auf den Proxy zugreifen (z. B. 192.168.178.6:502), damit es nicht zu parallelen Verbindungen auf den Wechselrichter kommt.
EVCC.yaml
meters:
- type: template
template: sungrow-hybrid
id: 1
host: 192.168.178.6
port: 502
usage: grid
modbus: tcpip
timeout: 10s
name: grid1
Home assistant Sungrow Integration:
modbus:
- name: SungrowSHx
type: tcp
host: 192.168.178.6
port: 502
delay: 5
timeout: 10
sensors:
- name: Sungrow inverter serial
unique_id: sg_inverter_serial
device_address: 1
address: 4989 # reg 4990
input_type: input
data_type: string
count: 10
scan_interval: 600
Trotzdem erhalte ich immer wieder folgende Fehlermeldungen:
- Im Home Assistant-Log (pymodbus):
pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] Unable to decode request
- Im EVCC-Log:
ERROR read failed: read tcp 192.168.178.6:xxxxx->192.168.178.6:502: i/o timeout
- Und im Proxy-Log taucht manchmal ein IndexError: index out of range auf, wenn er versucht, das Modbus-Paket zu verarbeiten.
Hat jemand eine Idee, woran es noch liegen könnte? Oder welche Debug-Optionen ich noch nutzen könnte, um das Problem besser einzugrenzen (z. B. in EVCC, Home Assistant oder dem Proxy)? Bin für jeden Hinweis dankbar!
Meine Umgebung:
- Home Assistant ( IP 192.168.178.6)
- ha-modbusproxy (auf demselben Host)
- Sungrow-Wechselrichter auf 192.168.178.53:502
- EVCC auf demselben Rechner (verbindet sich an 192.168.178.6:502)
Danke für eure Hilfe! Ich freue mich über jeden Tipp, wie ich den „Unable to decode request“ und die Timeouts in den Griff bekomme.