From 111e1cc2e7f86885cd433d0a7316462c9d34238d Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 23 Jan 2022 15:08:34 +0100 Subject: [PATCH] Simplify charge meter configuration (#2386) --- cmd/demo.yaml | 3 +-- core/loadpoint.go | 15 +++++++++++++-- evcc.dist.yaml | 3 +-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/cmd/demo.yaml b/cmd/demo.yaml index e82634253..8cee36c32 100644 --- a/cmd/demo.yaml +++ b/cmd/demo.yaml @@ -115,6 +115,5 @@ site: loadpoints: - title: Carport charger: demo - meters: - charge: charge + meter: charge vehicle: demo diff --git a/core/loadpoint.go b/core/loadpoint.go index e6d4f1fd7..b3ec04302 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -100,8 +100,9 @@ type LoadPoint struct { ChargerRef string `mapstructure:"charger"` // Charger reference VehicleRef string `mapstructure:"vehicle"` // Vehicle reference VehiclesRef []string `mapstructure:"vehicles"` // Vehicles reference + MeterRef string `mapstructure:"meter"` // Charge meter reference Meters struct { - ChargeMeterRef string `mapstructure:"charge"` // Charge meter reference + ChargeMeterRef string `mapstructure:"charge"` // deprecated } SoC SoCConfig OnDisconnect_ interface{} `mapstructure:"onDisconnect"` @@ -198,8 +199,18 @@ func NewLoadPointFromConfig(log *util.Logger, cp configProvider, other map[strin // store defaults lp.collectDefaults() + if lp.MeterRef != "" { + lp.chargeMeter = cp.Meter(lp.MeterRef) + } + + // deprecated if lp.Meters.ChargeMeterRef != "" { - lp.chargeMeter = cp.Meter(lp.Meters.ChargeMeterRef) + lp.log.WARN.Println("meters: charge: is deprecated. Use meter: instead") + if lp.chargeMeter == nil { + lp.chargeMeter = cp.Meter(lp.Meters.ChargeMeterRef) + } else { + lp.log.ERROR.Println("must not have meter: and meters: charge: both") + } } // multiple vehicles diff --git a/evcc.dist.yaml b/evcc.dist.yaml index 8c8927f30..72ced6020 100644 --- a/evcc.dist.yaml +++ b/evcc.dist.yaml @@ -70,8 +70,7 @@ site: loadpoints: - title: Garage # display name for UI charger: wallbe # charger - meters: - charge: charge # charge meter + meter: charge # charge meter vehicle: audi # vehicles: # use if multiple vehicles allowed to charge on this loadpoint # - ID.3