Optimizer: enable by default (#28213)
This commit is contained in:
parent
f24b670312
commit
b93061bc86
13 changed files with 151 additions and 6 deletions
|
|
@ -28,6 +28,7 @@ const (
|
|||
SetupRequired = "setupRequired" // initial setup is required (lp = 0), fresh installation
|
||||
Plant = "plant"
|
||||
Telemetry = "telemetry"
|
||||
Optimizer = "optimizer"
|
||||
DemoMode = "demoMode"
|
||||
AuthDisabled = "authDisabled"
|
||||
AuthProviders = "authProviders"
|
||||
|
|
|
|||
|
|
@ -767,13 +767,19 @@ func (site *Site) updateMeters() error {
|
|||
return err
|
||||
}
|
||||
|
||||
if sponsor.IsAuthorized() {
|
||||
if sponsor.IsAuthorized() && optimizerEnabled() {
|
||||
go site.optimizerUpdateAsync()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func optimizerEnabled() bool {
|
||||
exp, _ := settings.Bool(keys.Experimental)
|
||||
opt, _ := settings.Bool(keys.Optimizer)
|
||||
return exp && opt
|
||||
}
|
||||
|
||||
func (site *Site) updateHomeConsumption(homePower float64) {
|
||||
site.householdEnergy.AddPower(homePower)
|
||||
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ func (r optimizerResult) MarshalBytes() ([]byte, error) {
|
|||
type batteryType string
|
||||
|
||||
const (
|
||||
OPTIMIZER_URI = "https://optimizer.evcc.io"
|
||||
|
||||
batteryTypeLoadpoint batteryType = "loadpoint"
|
||||
batteryTypeVehicle batteryType = "vehicle"
|
||||
batteryTypeBattery batteryType = "battery"
|
||||
|
|
@ -127,11 +129,6 @@ func (site *Site) optimizerUpdateAsync() {
|
|||
}
|
||||
|
||||
func (site *Site) optimizerUpdate(battery []types.Measurement) error {
|
||||
uri := os.Getenv("OPTIMIZER_URI")
|
||||
if uri == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
solarTariff := site.GetTariff(api.TariffUsageSolar)
|
||||
solar := currentRates(solarTariff)
|
||||
|
||||
|
|
@ -237,6 +234,7 @@ func (site *Site) optimizerUpdate(battery []types.Measurement) error {
|
|||
httpClient := request.NewClient(site.log)
|
||||
httpClient.Timeout = 30 * time.Second
|
||||
|
||||
uri := lo.CoalesceOrEmpty(os.Getenv("OPTIMIZER_URI"), OPTIMIZER_URI)
|
||||
apiClient, err := optimizer.NewClientWithResponses(uri, optimizer.WithHTTPClient(httpClient))
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue