api: split MeterEnergy into MeterImport and MeterExport (#29788)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
andig 2026-05-09 16:20:18 +02:00 • committed by GitHub
parent 37e5659936
commit 7a5b1e7560
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
128 changed files with 570 additions and 435 deletions

View file

@ -9,16 +9,21 @@ import (
"golang.org/x/oauth2"
)
//go:generate go tool mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,FeatureDescriber,Identifier,Meter,MeterEnergy,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff
//go:generate go tool mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,FeatureDescriber,Identifier,Meter,MeterImport,MeterExport,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff
// Meter provides total active power in W
type Meter interface {
CurrentPower() (float64, error)
}
// MeterEnergy provides total energy in kWh
type MeterEnergy interface {
TotalEnergy() (float64, error)
// MeterImport provides total import in kWh
type MeterImport interface {
ImportEnergy() (float64, error)
}
// MeterExport provides total export in kWh
type MeterExport interface {
ExportEnergy() (float64, error)
}
// PhaseCurrents provides per-phase current A