Solarman LSE-3 writes to Deye inverter but returns an invalid FC16 response #33017
Replies: 2 comments
|
Thanks for the detailed trace. This matches the write path in Looking at the byte trace:
A conformant Modbus FC16 response echoes unit + function + start address (2 bytes) + quantity (2 bytes), i.e. MBAP length This looks like a firmware-level protocol violation in the LSE-3, not a bug in evcc's Modbus handling. Relaxing evcc's response validation to tolerate truncated FC16 responses would be a design change to the shared Modbus client used by all devices, with a real risk of masking genuine errors for other users/devices — not something to change without further discussion, and not a small self-contained fix. Given this, I'm not applying the
🤖 Generated with Claude Code |
|
This needs be fixed on the device side. |
Uh oh!
There was an error while loading. Please reload this page.
Describe the bug
EVCC tries to issue write commands via my Solarman LSE-3.
FC16 request:
00 01 00 00 00 09 01 10 00 7F 00 01 02 00 19
LSE-03 response:
00 01 00 00 00 03 01 10 00
Expected FC16 response would be:
00 01 00 00 00 06 01 10 00 7F 00 01
But the register value is written and this can be verified via mbpoll and local Deye UI.
Evcc treats this as an error, and that is correct.
LSE-3 firmware is ME_0E_5406_4.0E
All reads work fine.
I have already contacted Deye support.
Is this a known issue? Could a workaround be made?
Steps to reproduce
Configuration details
Log details
What type of operating system or environment does evcc run on?
other
External automation
Nightly build
Version
evcc version 0.313.3 (ec8c5ec)
All reactions