Gut feel is that I doubt that behaviour would vary just on protocol, but interesting to see.- Battery power reported on the display is in fact what the BMS reports! So both inverters report total battery power, not their own battery power. Same for battery modbus registers, which become a bit useless. I wonder if that would change with a "user defined" battery?
There are definitely some inconsistencies when you have two Solis "working" together. The other day, I turned off the AC Grid to one of mine (so it was just powering backup circuit from battery). But with the other inverter still producing, the one with the AC grid turned off triggered its internal relays every minute or so - but with the other inverter off all was fine. All I can think is that it was reacting to having a signal from the Acrel meter making it think there was some AC connection and tried to reconnect - weird.- Then, since both inverters can use the full battery, I set it to turn the second inverter off at night, which saves its idle power. Ironically, even when off, it keeps responding to modbus and CAN, which means... it still reports total battery power even when off!
I have 4 US50000 so the BMS says 320A! The limit is set by the inverter's max battery current (100A each). So 10kW total. I'll never use that much, but when there's a lot of sun, it's going to charge pretty fast...What is the max power that your batteries can now discharge across the two inverters?
Well... it just happens, nothing special, except higher losses from double conversion. At the moment I've tweaked the fake meter readings to balance them so they both charge or discharge at the same rate. The idea is RI² losses are minimized if both inverter battery currents are equal.What happens if one inverter is charging battery and the other pulling from battery? (which I guess could happen if one has much more PV input than the other due to string positioning)?
Well, it's cosmetic, so... mehGut feel is that I doubt that behaviour would vary just on protocol, but interesting to see.
There are definitely some inconsistencies when you have two Solis "working" together. The other day, I turned off the AC Grid to one of mine (so it was just powering backup circuit from battery). But with the other inverter still producing, the one with the AC grid turned off triggered its internal relays every minute or so - but with the other inverter off all was fine. All I can think is that it was reacting to having a signal from the Acrel meter making it think there was some AC connection and tried to reconnect - weird.
I have 4 US50000 so the BMS says 320A! The limit is set by the inverter's max battery current (100A each). So 10kW total. I'll never use that much, but when there's a lot of sun, it's going to charge pretty fast...
The battery current in the info display (page 3 IIRC) just comes from the BMS value - I know that because I got a negative bit wrong when converting from a 16 to 32 bit integer and ended up with the Solis telling me it was charging at something like 980A, rather than discharging at 20A.Funny thing is, the arrow showing the direction of power to/from the battery on the display is from the inverter's internals, so each inverter gets its own arrow... but the watts displayed on top are from the BMS, so they both display the same!
"Battery current" in the information display (deep in the menus) gives the correct info, but I don't know where it is in the modbus map...
In day time. I shut off AC Grid to my EH1P to stop PV flow to work on the PV input, backup was enabled (and working). The RHI was on and exporting. As soon as the RHI was turned off, the EH1P stopped its strange behaviour - will investigate more next time we're working on the system.Strange. Did you do it during the day or night? Was the backup output enabled?
Indeed! Well today the weather is absolutely terrible, so I couldn't test that, we'll have to wait...yes, it's frustrating when I see my battery charging at 5kW and the inverters exporting at 5kW at the same time
![]()
Oh yes, but I'm talking about the other battery current! Advanced information -> running message -> top right of screen. This one must be measured by the inverter, because it is the correct value per inverter and still updates with the BMS current packet removed.The battery current in the info display (page 3 IIRC) just comes from the BMS value
Sure! But it's not per inverter... So for balancing them I use (PV power - Grid port power - Backup port power) which is an approximation of battery power...So, if you need the true battery current can you not log that from your BMS/CANBus code?
That's weird... anyway if you disconnect it from the grid it'll still use PV to power the backup output, so that wouldn't make it safe to disconnect PV since it's still under load...In day time. I shut off AC Grid to my EH1P to stop PV flow to work on the PV input, backup was enabled (and working). The RHI was on and exporting. As soon as the RHI was turned off, the EH1P stopped its strange behaviour - will investigate more next time we're working on the system.
my backup "load" is a single STC-1000anyway if you disconnect it from the grid it'll still use PV to power the backup output, so that wouldn't make it safe to disconnect PV since it's still under load
Oy! that's just showing off now.Alright, the sun showed up. It is charging at 100A per inverter, 10kW total, maxed out![]()
Presumably you've scanned all the Modbus registers to find this value?Oh yes, but I'm talking about the other battery current! Advanced information -> running message -> top right of screen. This one must be measured by the inverter, because it is the correct value per inverter and still updates with the BMS current packet removed.
Great - I'm going to try reading that register over the weekend and see how it compares to my BMS readings.Yes, I found it, it's 33217. I had a hunch it would be around other registers related to battery, so set it to log them, and found it. So I updated the register definitions in github, now "battery_current" is 33217, and the previous "battery_current" is renamed to "battery_current_bms".
It is in absolute value, and the sign is in the same register as the others, battery_current_direction. This new register reacts much faster, it is real time, which is more convenient for diverting power.
S32 | -1W | Grid Port Power | float | + to grid, - From grid |
U16 | Inverter status | bitfield | See Appendix 2 |
"Tant pis"...and now the second inverter is limiting due to temperature because I haven't wired the external fans yet! lol
Solis EH1P: 4 33035 energy_generated_today 10.0 kWh
Solis EH1P: 4 33036 energy_generated_yesterday 16.5 kWh
Solis EH1P: 4 33049 mppt1_voltage 402.4 V
Solis EH1P: 4 33050 mppt1_current 2.6 A
Solis EH1P: 4 33051 mppt2_voltage 274.4 V
Solis EH1P: 4 33052 mppt2_current 4.0 A
Solis EH1P: 4 33057 pv_power 2143.0 W
Solis EH1P: 4 33073 phase_a_voltage 241.7 V
Solis EH1P: 4 33093 temperature 41.4 °C
Solis EH1P: 4 33133 battery_voltage 54.6 V
Solis EH1P: 4 33134 battery_current 27.7 A
Solis EH1P: 4 33135 battery_current_direction 0
Solis EH1P: 4 33151 grid_port_power -565.0 W
Solis EH1P: 4 33217 reserved_33217 0
33217 | U16 | Reserved | int | always zero |
I read that as "+ to grid" as in the the grid supply to the house, but I found it's actually "+ to grid port" i.e. I got a +ve value when the Solis is charging and -ve when it's exporting.
b) Where is Appendix 2? I'm sure I've seen the status bitfields described somewhere, but I can't remember where that was.
U16 Inverter status bitfield See Appendix 2
Lastest modbus doc shows, keep in mind older units may or may not implement all registers
View attachment 246656
Did you say the new firmware queries the Acrel meter 10x per second? Not sure I want to update to that as my meter data is sent over ethernet via a couple of Waveshare RS485 to Ethernet converters. Though oscillation fixes sounds worthwhile.When I wrote "Always zero", I had the previous firmware (3D0037). Now both inverters have the latest version installed (4A004C) so this register must have been added in the new firmware.
Good idea.After getting a headache I decided all the power measurements for everything should be negative=exporting, positive=consuming, so I don't need to remember the sign for each... if thing_power>0 it means power is going into the thing...
I don't have it, so yes please.Appendix 2 is in the PDF "Without Control Hybrid EN 2020.9.15_RS485_MODBUS(ESINV-33000ID) Hybrid Inverter" which I'm sure you already have, otherwise I'll send it.
LOL.It's not a bitfield, it is a cornucopia of codes of cryptic signification, so I did not copy it. Besides, the register is useless, as it reports only one thing: if there's an error, it reports the error, and that takes priority over reporting whether the inverter is operating or not. So there is no way to know if it's working or not. It's much simpler to read the other status and bitfields registers: if there are several errors, you get all of them.
Obviously, sometimes when "operating status" says "Fault leads to turning OFF", it is still on and operating, even if "Normal Operation" is not set. hmm... oh well.
It's important to know if one or both inverters are operating, because if there are two, they must receive main meter power divided by 2, otherwise they will both do their job and respond with the full requested power, and oscillate (due to too open much loop gain). Sending power divided by 2 all the time is safe, it just makes response a bit slower (not enough open loop gain). So right now, if an inverter is on and not offgrid, the code assumes it is participating and tweaks the meter reading to half.
As a side note, I tried putting one inverter offgrid (aka flipping the breaker): it works fine, it just behaves as a battery charger. That's not very useful. I mean the only case where it could be useful would be if one inverter exports enough to power the house, putting the other offgrid saves 60W idle losses. But if the house needs more power, then the inverter that's still ongrid will provide it from the battery... which means it will do a roundtrip to 48V between the inverters, which has higher losses. I'm not gonna bother with that.
How quickly will they switch on? Having one off overnight would be good to save the idle losses, but you'd need both inverters on if you need more than 5kW of power.What I'm doing is: turn off the 6kW inverter at night and let the 5kW one run the house, which saves the idle power of one inverter. During the day they're both turned on. That's simple and effective.
I don't have any, sorry - I just used your csv list!When I asked for the modbus register list, they sent me the 2020 version, I guess you have a more recent one with the updates.
I just checked: 14.3 times/s or every 70ms.Did you say the new firmware queries the Acrel meter 10x per second? Not sure I want to update to that as my meter data is sent over ethernet via a couple of Waveshare RS485 to Ethernet converters. Though oscillation fixes sounds worthwhile.
It takes about a minute, so not super reactive.How quickly will they switch on? Having one off overnight would be good to save the idle losses, but you'd need both inverters on if you need more than 5kW of power.
I was asking Solar GuppyI don't have any, sorry - I just used your csv list!
LOL.. I might be old, but not yet dementingI was asking Solar Guppy![]()
FYI... I checked today and my EH1P doesn't show any battery current under "running message" screen.Oh yes, but I'm talking about the other battery current! Advanced information -> running message -> top right of screen. This one must be measured by the inverter, because it is the correct value per inverter and still updates with the BMS current packet removed.