solariot: Sungrow SG10RT - "unable to decode request"

Just got a Sungrow SG10RT installed and my config.py looks like this:

inverter_ip = "192.168.1.120"
inverter_port = 502
slave = 0x01
model = "sungrow-sg10rt"
timeout = 3
scan_interval = 10
json_file = "telemetry.json"

Confirmed that port 502 is open on the inverter_ip. Log:

INFO:root:Loaded config sungrow-sg10rt
INFO:root:Creating SungrowModbusTcpClient
INFO:root:Connecting
INFO:root:Connected
INFO:root:No MQTT configuration detected
INFO:root:No InfluxDB configuration detected
INFO:root:No PVOutput configuration detected
DEBUG:pymodbus.transaction:Current transaction state - IDLE
DEBUG:pymodbus.transaction:Running transaction 1
DEBUG:pymodbus.transaction:SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x1 0x4 0x13 0x88 0x0 0x64
DEBUG:pymodbus.client.sync:New Transaction state 'SENDING'
DEBUG:pymodbus.transaction:Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
DEBUG:pymodbus.transaction:Transaction failed. ([Errno 54] Connection reset by peer)
DEBUG:pymodbus.framer.socket_framer:Processing:
DEBUG:pymodbus.transaction:Getting transaction 1
DEBUG:pymodbus.transaction:Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
WARNING:root:Modbus connection failed
WARNING:root:Failed to scrape inverter, sleeping until next scan

I saw another issue that mentioned using pymodbus version 2.4.0. I’m already on that version as per requirements.txt

Any ideas?

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Comments: 17 (7 by maintainers)

Most upvoted comments

I thought I would just update, I have forked (and rewritten) Solariot here: https://github.com/bohdan-s/SunGather The main difference is there is no more model files, it uses a shared registers file and detects your model to return the correct registers. It also resolves the PVOutput data issues above.