Skip to content

Unable to read modbus registers after updating to version >= 1.0 #689

Description

@PostICT

Issue related to

modbus over tcp Home Assistant Add-On

Describe the issue/bug

A clear and concise description of what the bug is.

Expected behavior A clear and concise description of what you expected to happen.

V5_SEQ_NO_MISMATCH and V5_MISMATCH:
Resulting in:
12:26:01] INFO ############################################################
[12:26:01] INFO No response on the Modbus interface solarman-tcp://192.ip.ip.69:8899: TimeoutError, see https://kellerza.github.io/sunsynk/guide/fault-finding
[12:26:01] INFO ############################################################

factory reset of the Eth Dongle is not solving the issue.

Your environment

  • Home Assistant version: 2026.8.x
  • Addon:
    • Name: sunsynk-multi
    • Version: > 1.0.0
  • Inverter:
    • Make: Deye
    • Model: 6k-SG04LP3-EU
    • Firmware: MAIN 2005-1151-1807 HMI: 1001-C04D
  • Adaptor details: Deye Eth dongle

Your configuration

Paste your add-on YAML between the two lines below (replace the placeholder line). Keep the
first line (three backticks and yaml) and the last line (three backticks only) so GitHub formats
it as a code block.

INVERTERS:
  - SERIAL_NR: '2validSerial8'
    HA_PREFIX: SS-dev
    MODBUS_ID: 1
    DONGLE_SERIAL_NUMBER: '2valid serial8'
    PORT: solarman-tcp://192.validIP.69:8899
SENSOR_DEFINITIONS: three-phase
SENSORS:
  - energy_management
  - power_flow_card
  - pv2_power
SENSORS_FIRST_INVERTER:
  - settings
MANUFACTURER: Deye
READ_ALLOW_GAP: 2
READ_SENSORS_BATCH_SIZE: 20
READ_MESSAGE_SPACING: 0.05
READ_ATTEMPTS: 5
TIMEOUT: 10
STALE_INVERTER_AFTER_SECONDS: 120
STALE_INVERTER_SKIP_SECONDS: 600
SCHEDULES:
  - KEY: W
    READ_EVERY: 5
    REPORT_EVERY: 60
    CHANGE_ANY: false
    CHANGE_BY: 80
    CHANGE_PERCENT: 0
NUMBER_ENTITY_MODE: auto
PROG_TIME_INTERVAL: '15'
DEBUG: 1
MQTT_HOST: core-mosquitto
MQTT_PORT: 1883
MQTT_USERNAME: hass
MQTT_PASSWORD: valid_passw

Logs

Same idea for logs: paste between the fences (replace the placeholder). Use the most recent lines
that show the error.

12:25:57] INFO: Starting the Sunsynk add-on
[12:25:58] INFO    Loading config: /data/options.json
[12:25:58] INFO    sunsynk library - commit 246721b - last stable version 1.2.0
[12:25:58] DEBUG   Sunsynk: Sunsynk(unit=SolarmanUnit(port='solarman-tcp://192.ip.ip.69:8899', dongle_serial_number=serialmasked, server_id=1, timeout=3), state=InverterState(values={}, registers={}, onchange=None, history=defaultdict(<class 'list'>, {}), historynn=defaultdict(<class 'list'>, {})), port='solarman-tcp://192.ip.ip.69:8899', baudrate=9600, timeout=3, read_attempts=3, read_sensors_batch_size=20, allow_gap=2, timeouts=0) - inv:InverterOptions(port='solarman-tcp://192.1ip.ip.69:8899', driver='', modbus_id=1, ha_prefix='ss_dev', serial_nr='masked', dongle_serial_number=masked)
[12:25:58] INFO    Schedules:
+-----------+-----+------+--------+-----------+----------+------------+
|    Key    | src | Read | Report | Change by | Change % | Change any |
+-----------+-----+------+--------+-----------+----------+------------+
| date_time |     |  60  |   60   |           |          |    True    |
|     rw    |     |  5   |  300   |           |          |    True    |
|    enum   |     |  5   |  300   |           |          |    True    |
|     w     |  *  |  5   |   60   |    80.0   |          |            |
|    kwh    |     | 300  |  300   |           |          |            |
|  any_unit |     |  15  |  300   |           |          |            |
|  no_unit  |     |  15  |  300   |           |          |    True    |
+-----------+-----+------+--------+-----------+----------+------------+
[12:25:58] INFO    Importing sensor definitions three-phase (view the source online: https://github.com/kellerza/sunsynk/tree/main/src/sunsynk/definitions/three_phase_lv.py )
[12:25:58] DEBUG   Schedule w used for Rated power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for PV2 power (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Total Battery Charge (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Total Battery Discharge (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Total Grid Export (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Total Grid Import (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Total PV Energy (reason: Unit)
[12:25:58] DEBUG   Schedule w used for AUX power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Battery current (reason: Any unit)
[12:25:58] DEBUG   Schedule w used for Battery power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Battery SOC (reason: Any unit)
[12:25:58] DEBUG   Schedule any_unit used for Battery voltage (reason: Any unit)
[12:25:58] DEBUG   Schedule kwh used for Day Battery Charge (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Day Battery discharge (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Day Grid Export (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Day Grid Import (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Day Load Energy (reason: Unit)
[12:25:58] DEBUG   Schedule kwh used for Day PV Energy (reason: Unit)
[12:25:58] DEBUG   Schedule no_unit used for Grid Connected (reason: No unit)
[12:25:58] DEBUG   Schedule w used for Grid CT power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Grid frequency (reason: Any unit)
[12:25:58] DEBUG   Schedule w used for Grid L1 power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Grid L2 power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Grid L3 power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Grid power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Grid current (reason: Any unit)
[12:25:58] DEBUG   Schedule w used for Inverter power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Load frequency (reason: Any unit)
[12:25:58] DEBUG   Schedule w used for Load power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Load L1 power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Load L2 power (reason: Unit)
[12:25:58] DEBUG   Schedule w used for Load L3 power (reason: Unit)
[12:25:58] DEBUG   Schedule any_unit used for Load L1 voltage (reason: Any unit)
[12:25:58] DEBUG   Schedule any_unit used for Load L2 voltage (reason: Any unit)
[12:25:58] DEBUG   Schedule any_unit used for Load L3 voltage (reason: Any unit)
[12:25:58] DEBUG   Schedule no_unit used for Overall state (reason: No unit)
[12:25:58] DEBUG   Schedule rw used for Priority Load (reason: RWSensor)
[12:25:58] DEBUG   Schedule w used for PV power (reason: Unit)
[12:25:58] DEBUG   Schedule rw used for Use Timer (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Export Limit power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Grid Charge enabled (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Load Limit (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog1 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog1 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog1 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog1 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog2 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog2 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog2 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog2 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog3 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog3 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog3 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog3 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog4 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog4 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog4 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog4 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog5 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog5 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog5 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog5 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog6 Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog6 charge (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog6 power (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Prog6 Time (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Solar Export (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Battery Low Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Battery Restart Capacity (reason: RWSensor)
[12:25:58] DEBUG   Schedule rw used for Battery Shutdown Capacity (reason: RWSensor)
[12:25:58] INFO    Added hidden sensors as other sensors depend on it: Rated power, Battery Low Capacity, Battery Restart Capacity, Battery Shutdown Capacity
[12:25:58] INFO    Connecting to solarman-tcp://192.ip.ip.69:8899
[12:25:58] DEBUG   <asyncio.TransportSocket fd=6, family=2, type=1, proto=6, laddr=('172.ip.ip.5', 55858), raddr=('192.ip.ip.69', 8899)> connected to 192.ip.ip.69:8899: (<_SelectorSocketTransport fd=6 read=polling write=<idle, bufsize=0>>, <asyncio.streams.StreamReaderProtocol object at 0x7f2c0ca596a0>)
[12:25:58] INFO    Reading inverter identity (registers 0-7)
[12:25:58] DEBUG   [2106314218] SENT: a5 17 00 10 45 24 00 ea cd 8b 7d 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 00 00 00 08 44 0c ad 15
[12:25:59] DEBUG   [2106314218] V5_SEQ_NO_MISMATCH: a5 17 00 10 45 03 00 ea 02
[12:26:01] DEBUG   [2106314218] V5_MISMATCH: 7a ea 00 00 00 f9 01 03 f6 04 c4 14 ab 00 2f 00 00 ff bb ff 62 02 62 00 00 00 00 00 00 00 00 00 07 09 1e 09 2e 08 f5 00 00 00 00 00 00 00 7c ff 32 ff f4 ff a2 00 00 13 8c 00 45 00 98 00 26 00 86 00 85 00 2b 00 03 00 02 00 00 00 05 00 00 00 00 00 03 00 02 00 00 00 05 00 00 09 26 09 32 09 05 ff c4 00 fa 00 00 ff 91 02 70 00 1e 02 1f 02 1f 13 8c 00 00 00 0d 01 a2 00 12 01 c1 09 1f 09 2b 08 fe 00 00 00 00 00 00 ff 94 02 72 00 1e 02 24 02 24 13 8c ff ff 00 00 00 00 00 00 00 00 01 1d 01 21 00 9a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 95 01 90 00 00 00 00 09 4d 00 11 09 45 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00
[12:26:01] INFO    ############################################################
[12:26:01] INFO    No response on the Modbus interface solarman-tcp://192.ip.ip.69:8899: TimeoutError, see https://kellerza.github.io/sunsynk/guide/fault-finding
[12:26:01] INFO    ############################################################
[12:26:01] CRITICAL This Add-On will terminate in 30 seconds, use the Supervisor Watchdog to restart automatically.
[12:26:01] DEBUG   Close <_UnixSelectorEventLoop running=False closed=False debug=True>
[10:26:01] WARNING: Addon resource not ready 2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    solarmanRelated to solarman

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions