kellerza / sunsynk

Deye/Sunsynk Inverter Python library and Home Assistant OS Addon
https://kellerza.github.io/sunsynk/
MIT License
229 stars 95 forks source link

USR-W630 IncompleteReadError #282

Closed swildig closed 6 months ago

swildig commented 6 months ago

Issue related to

Sunsynk / mbusd Home Assistant Add-On

Describe the issue/bug

I'm having trouble connecting to a sunsynk 8.8kw ECCO via a USR-W630. It doesn't even log the serial number from the inverter and every read errors with an "IncompleteReadError".

The inverter shows an ID of "01" so I've tried setting the "MODBUS_ID" to both 1 and "01" but neither seem to have any effect. I've also set READ_SENSOR_BATCH_SIZE to 8 as I've seen mentioned but that doesn't seem to help.

I've tried all 4 "Data Transfor Mode"s on the W630 and both inverter drivers in the addon.

I'm at a bit of a loss for what else to try, any help would be appreciated.

Your environment

Logs

17:55:14 INFO    Loading configuration: /data/options.json
17:55:14 INFO    sunsynk library version: 0.6.4
17:55:14 INFO    Schedules:
+-----------+-----+------+--------+-----------+----------+------------+
|    Key    | src | Read | Report | Change by | Change % | Change any |
+-----------+-----+------+--------+-----------+----------+------------+
| date_time |     |  60  |   60   |           |          |    True    |
|     rw    |     |  5   |  300   |           |          |    True    |
|     w     |  *  |  5   |   60   |     80    |          |            |
|    kwh    |     | 300  |  300   |           |          |            |
|  any_unit |     |  15  |  300   |           |          |            |
|  no_unit  |     |  15  |  300   |           |          |    True    |
+-----------+-----+------+--------+-----------+----------+------------+
17:55:14 INFO    Using Single phase sensor definitions.
17:55:14 INFO    Added hidden sensors as other sensors depend on it: Rated power, Serial
17:55:14 INFO    Connecting to tcp://192.168.100.216:8899
17:55:14 INFO    Reading startup sensors Prog4 Time, Prog3 Time, Prog5 Time, Prog6 Time, Rated power, Prog2 Time, Prog1 Time, Battery Low Capacity, Serial
17:55:18 ERROR   IncompleteReadError reading 5 registers from 3: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 2 registers from 16: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 1 registers from 219: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 6 registers from 250: 0 bytes read on a total of 9 expected bytes
17:55:22 ERROR   IncompleteReadError reading 5 registers from 3: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 2 registers from 16: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 1 registers from 219: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 6 registers from 250: 0 bytes read on a total of 9 expected bytes
17:55:26 ERROR   IncompleteReadError reading 5 registers from 3: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 2 registers from 16: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 1 registers from 219: 0 bytes read on a total of 9 expected bytes; IncompleteReadError reading 6 registers from 250: 0 bytes read on a total of 9 expected bytes
17:55:26 WARNING Retrying individual sensors: ['prog4_time', 'prog3_time', 'prog5_time', 'prog6_time', 'rated_power', 'prog2_time', 'prog1_time', 'battery_low_capacity', 'serial']
17:55:27 ERROR   IncompleteReadError reading 1 registers from 253: 0 bytes read on a total of 9 expected bytes Prog4 Time
17:55:28 ERROR   IncompleteReadError reading 1 registers from 252: 0 bytes read on a total of 9 expected bytes Prog3 Time
17:55:29 ERROR   IncompleteReadError reading 1 registers from 254: 0 bytes read on a total of 9 expected bytes Prog5 Time
17:55:30 ERROR   IncompleteReadError reading 1 registers from 255: 0 bytes read on a total of 9 expected bytes Prog6 Time
17:55:31 ERROR   IncompleteReadError reading 2 registers from 16: 0 bytes read on a total of 9 expected bytes Rated power
17:55:32 ERROR   IncompleteReadError reading 1 registers from 251: 0 bytes read on a total of 9 expected bytes Prog2 Time
17:55:34 ERROR   IncompleteReadError reading 1 registers from 250: 0 bytes read on a total of 9 expected bytes Prog1 Time
17:55:35 ERROR   IncompleteReadError reading 1 registers from 219: 0 bytes read on a total of 9 expected bytes Battery Low Capacity
17:55:36 ERROR   IncompleteReadError reading 5 registers from 3: 0 bytes read on a total of 9 expected bytes Serial
17:55:36 CRITICAL Could not read sensors: ['Prog4 Time', 'Prog3 Time', 'Prog5 Time', 'Prog6 Time', 'Rated power', 'Prog2 Time', 'Prog1 Time', 'Battery Low Capacity', 'Serial']
17:55:36 INFO    ############################################################
17:55:36 INFO    No response on the Modbus interface tcp://192.168.100.216:8899, see https://kellerza.github.io/sunsynk/guide/fault-finding
17:55:36 INFO    ############################################################
17:55:36 CRITICAL This Add-On will terminate in 30 seconds, use the Supervisor Watchdog to restart automatically.
swildig commented 6 months ago

Just an update for anybody else reading this, after buying a simple USB RS485 adapter and running mbusd on a PI, I'm still unable to connect to an 8.8kW ECCO inverter over the RS485 port. Ran through the troubleshooting steps again now that I've ruled the gateway out and it turns out there's no voltage on the A/B pins from the inverter - last time I measured I neglected to unplug from the W630 which was pulling the voltage up.

For now using the RS232 port seems to be working okay.