deye-inverter-mqtt
deye-inverter-mqtt copied to clipboard
Support multiple batteries if possible
Currently only one batterie is supported, i.e. you only get the overall values if you have multiple batteries.
For example:
Battery 1 SOC is 20% Battery 2 SOC is 40%
The value shown for battery SOC will be 30%.
In the Solman app it's possible to view the actual values for every single battery.
I don't know if the values per battery are even exposed through modbus, so it might not be possible to actually get the values. If testers are needed to try stuff out, I'd be happy to help!
Thanks for all the work so far!
What is your inverter model?
Sorry, completely forgot to mention this. It's a Deye SUN 10K-SG04LP3 with two Deye SE-G5.1 Pro batteries.
Try out metric group deye_sg01hp3_battery instead of deye_sg04lp3_battery. SG01HP3 and SG04LP3 have similar register layout.
Unfortunately, that doesn't seem to have worked. The values that were shown as overall values for both batteries under "battery" are now shown under "battery/1" (and power and voltage are wrong by a factor of 10), values for "battery/2" are all 0.
Since you can chain something like 32 batteries they might not have implemented single batteries in modbus - I don't have any official documentation, so I can't look it up myself.
I found this, maybe it will work. Try to read the registers using the command documented here https://github.com/kbialek/deye-inverter-mqtt?tab=readme-ov-file#reading-and-writing-raw-register-values
So I should do "r 600" to get the value for Module Voltage? I do get values, but none of the registers I tried make sense, the values do not match with anything expected. But it's good to know that I can try some stuff out this way, I'll try to do some trial and error if I find the time.
So I should do "r 600" to get the value for Module Voltage?
Yes, exactly
In the doc I have, the 1st battery pack address is 600, the 2nd pack address is 614, the 3rd starts at 628, and so on, up until pack 15 starting at 800. Good luck!
I found the same registers in my documentation, it is a bit confusing though. I actually do get values for a lot of registers above 600, but they either are 0 (which they shouldn't be, according to the docs), or have values that do not make sense. For example the value for 609 (Max Cell V) is 5000, which might actually be true, but the value for 610 (Min Cell V) is 505, which can not be correct.
Also I would expect the values to repeat/be about the same for the second battery pack, but they do not match at all.
Perhaps your batteries are mapped as packs other than 1 and 2? How is the solarman app showing the metrics?
I already tried the values for pack 15, but basically everything has a value of 0 there.
I'm currently inclined to think that either they do not have the packs exposed through modbus, or it is just not supported for my battery configuration (even though I am using Deye batteries).
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.