Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Special cases #3

Open
AllMightySauron opened this issue May 3, 2022 · 0 comments
Open

Special cases #3

AllMightySauron opened this issue May 3, 2022 · 0 comments

Comments

@AllMightySauron
Copy link
Owner

I have checked my notes of my SolXView App:

due to the fact that the solar ACpower values turn negative at inverter that charge batteries, it is not really reliable.
Also there is a special case if Batt is empty.
My approach was the following:

// Doku:
In general we have to take for total HouseConsumption instead of "Act Solar Output power" the "Invacpower Minus the feedInPower" values. Difference between Solar out and Inverter Out ( ACPower) is the energy that is lost at the inverter itslf ( e.g. heat) ( This way the loss of the Inverters is also taken into account and indication is same like at the Solax App. There is just one additionally case to cover if the Batt is empty

RMK: The following is related to already summmarised figures of all inverter:

// for all following calculations make Bat power always positive
if BatPowerTemp <= 0 {
BatPowerTemp = BatPowerTemp * -1
}

// if Bat Power < 11 und Bat Percent is 10 or below (= battery empty
( RMK: Solax keeps 10 percent as minimum charge to protect battery))
basically we have no batt output - so use grid power plus solar power

        if ((BatPowerTemp <= 10 ) && (self.Invsoc <= 11 ) ){
            // make grid power always positive 
            
            var InvfeedinpowerTemp = self.Invfeedinpower
            if InvfeedinpowerTemp <= 0 {
                InvfeedinpowerTemp = InvfeedinpowerTemp * -1
            }
            
            // now calculate total consumption =  grid power plus total solar output
            
            var HouseConsumptionTemp = InvfeedinpowerTemp + self.ActSolarOutput
            
            if HouseConsumptionTemp  <= 0 {
                HouseConsumptionTemp  = HouseConsumptionTemp  * -1
            }

// else (RMK batt is not empty)

        // make grid power always positive 
            
            var InvfeedinpowerTemp = self.Invfeedinpower
            if InvfeedinpowerTemp <= 0 {
                InvfeedinpowerTemp = InvfeedinpowerTemp * -1
            }
            
            var HouseConsumptionTemp = self.Invacpower - self.Invfeedinpower
            if HouseConsumptionTemp <= 0 {
                HouseConsumptionTemp  = HouseConsumptionTemp  * -1
            }

I hope this helps you. It took a while until I figured this out, so hopefully it saves you some time ;-)

Originally posted by @JanHios in #2 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant