cdpuk / givenergy-local

Home Assistant integration for local access to GivEnergy inverter and battery systems
MIT License
47 stars 14 forks source link

Export and Discharge modes are ineffective. without self.set_shallow_charge() being configurable. #43

Closed reidjr closed 1 year ago

reidjr commented 1 year ago

Export and Discharge modes are ineffective.

in givenergy-modbus

set_mode_storage defaults to set_shallow_charge(100) # r110=100

and set_shallow_charge()

is not exposed through givenergy-local.

I think this means that you never discharge in Timed export /discharge as the battery min SoC is 100%. That is the behaviour I see on my inverter. However I am puzzled nobody has noticed this .... Am I missing something ?

Interestingly - I don't believe the (excellent) documentation of givenergy modbus reflects what I observe for Timed Discharge and Timed Export on my Gen2 inverter.

Battery is below shallow_charge. Timed Export, will trickle charge at PV and/or AC (294w on my system) , until minimum charge is met. No Excess PV is above 294w is used for charging, and charging stops at shallow_charge minimum is met. Timed Discharge and Eco charge with excess PV and /or AC , at rates up to max charge power rate until battery is full. If there is insufficient PV, then a minimum charge of (294w) is supplemented by AC until shallow_charge minimum is met.

Battery is at/above shallow_charge. Outside timed window: Timed Export Holds. All excess PV is exported. Timed Discharge discharges to meet house excess house demand, and charges with excess PV at rates up to max charge power rate. Excess above house + battery charge is exported.

Inside timed window. Timed Export and Timed Demand modes discharge at max discharge until time expires or shallow_charge limit is reached.

I think there is a misunderstanding that Timed Discharge should limit its discharge during the timed period, that is not the case, at least in my Hybrid 5.0 Gen2.

cdpuk commented 1 year ago

As per the comment on #45 - are you using an EPS? The app documentation suggests battery_soc_reserve is only effective when an EPS is connected.

reidjr commented 1 year ago

No EPS. I will comment more fully on #45

Edit: Just realised this is ambiguous. I have nothing physically connected to the EPS terminals. Is there any software/dip switches that would change the behaviour, by mistakenly saying " I do have EPS".

However I can see that one use case for setting a reserve would actually be the reverse to the assumption that the reserve only kicks in with EPS. I would want to stop ECO using the last say 10%, (not the default empty the battery to 4%), but when EPS cuts in, the EPS would need to be able to use it, whatever the setting, down to the 4% battery minimum. So the reserve applies in all cases APART from when EPS is active. But that is just opinion, as I cant test it :-)

cdpuk commented 1 year ago

The EPS thing still puzzles me. You're probably right about some sort of flag to indicate the presence of an EPS, but it's not obvious. All the EPS stats are populated for my inverter when looking at the raw register values. I'll close this as I think we've sorted everything else now but for future reference here's what the GE app user guide current says about this image

reidjr commented 1 year ago

It's only a guess, but I think it's a bad explanation in the app. The battery reserve is set, and determines where the battery stops discharging, either when in eco mode, on demand, or under forced export/discharge. My guess is that under mains failure, the reserved value is overriden, and the battery  will meet demand down to 4%.  It's the only thing that makes sense, as there is no point in a reserve that is not allocated when needed for the eps.

Sent via BT Email App

From: cdpuk @.***>

Sent: 15 May 2023 21:40:19 BST

To: cdpuk/givenergy-local @.***>

Cc: reidjr @.>, Author @.>

Subject: Re: [cdpuk/givenergy-local] Export and Discharge modes are ineffective. without self.set_shallow_charge() being configurable. (Issue #43)

The EPS thing still puzzles me. You're probably right about some sort of flag to indicate the presence of an EPS, but it's not obvious. All the EPS stats are populated for my inverter when looking at the raw register values. I'll close this as I think we've sorted everything else now but for future reference here's what the GE app user guide current says about this image https://user-images.githubusercontent.com/24318424/238467970-38484297-1af9-4ab5-be20-ec4d89624726.png

— Reply to this email directly, view it on GitHub https://github.com/cdpuk/givenergy-local/issues/43#issuecomment-1548543214 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABYBT7AFI72JLRHT2KMWMETXGKIDHANCNFSM6AAAAAAWPQNX2Q . You are receiving this because you authored the thread.Message ID: @.***>