burra/byd_battery

Cannot fetch data from battery via Modbus TCP

Opened this issue · 0 comments

Hello @burra,

Thank you very much for sharing your research! I am on a very similar setup like you: I have a Fronius Symo Gen24 (FW: 1.28.7-1) wired to a BYD HVS (BMU 3.22, BMS 3.27) via Modbus RTU.
Using the built-in Modbus TCP gateway of the inverter, I can successfully fetch data from the bus, i.e. from the inverter itself (device ID 1) or my Fronius Smart Meter (device ID 200).

However, using device ID 15, I am unable to read holding registers from the battery. E.g. my packet to read register 300 (which I gather from this repo should contain some value) is denied with error response code 0x0B, which is described in the Fronius docs as GATEWAY TARGET DEVICE FAILED TO RESPOND.

I am sure that "for normal operation" both devices communicate just fine (e.g. the Fronius web interface knows / displays correct SoC etc.), but it looks like my battery doesn't like to respond to my outside requests through the Modbus TCP inverter gateway.

Did you ever experience a similar problem? Is there maybe an enabling register that I have to set first, or a particular sequence of registers I have to read/write first before the battery starts talking to me?
I just hope they didn't limit communication options with the more recent firmware versions since your original findings.

Any help is much appreciated!