Add MeterReturnEnergy (#29805)
This commit is contained in:
parent
869ac1d6eb
commit
7b5df178ce
20 changed files with 196 additions and 57 deletions
|
|
@ -9,7 +9,7 @@ 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,MeterEnergy,MeterReturnEnergy,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff
|
||||
|
||||
// Meter provides total active power in W
|
||||
type Meter interface {
|
||||
|
|
@ -21,6 +21,11 @@ type MeterEnergy interface {
|
|||
TotalEnergy() (float64, error)
|
||||
}
|
||||
|
||||
// MeterReturnEnergy provides total returned energy in kWh
|
||||
type MeterReturnEnergy interface {
|
||||
ReturnEnergy() (float64, error)
|
||||
}
|
||||
|
||||
// PhaseCurrents provides per-phase current A
|
||||
type PhaseCurrents interface {
|
||||
Currents() (float64, float64, float64, error)
|
||||
|
|
|
|||
|
|
@ -273,6 +273,21 @@ func (i *iMeterEnergy) TotalEnergy() (float64, error) {
|
|||
return i.meterEnergy0()
|
||||
}
|
||||
|
||||
func MeterReturnEnergy(meterReturnEnergy0 func() (float64, error)) api.MeterReturnEnergy {
|
||||
if meterReturnEnergy0 == nil {
|
||||
return nil
|
||||
}
|
||||
return &iMeterReturnEnergy{meterReturnEnergy0}
|
||||
}
|
||||
|
||||
type iMeterReturnEnergy struct {
|
||||
meterReturnEnergy0 func() (float64, error)
|
||||
}
|
||||
|
||||
func (i *iMeterReturnEnergy) ReturnEnergy() (float64, error) {
|
||||
return i.meterReturnEnergy0()
|
||||
}
|
||||
|
||||
func PhaseCurrents(phaseCurrents0 func() (float64, float64, float64, error)) api.PhaseCurrents {
|
||||
if phaseCurrents0 == nil {
|
||||
return nil
|
||||
|
|
|
|||
43
api/mock.go
43
api/mock.go
|
|
@ -1,9 +1,9 @@
|
|||
// Code generated by MockGen. DO NOT EDIT.
|
||||
// Source: github.com/evcc-io/evcc/api (interfaces: Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,FeatureDescriber,Identifier,Meter,MeterEnergy,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff)
|
||||
// Source: github.com/evcc-io/evcc/api (interfaces: Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,FeatureDescriber,Identifier,Meter,MeterEnergy,MeterReturnEnergy,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff)
|
||||
//
|
||||
// Generated by this command:
|
||||
//
|
||||
// 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
|
||||
// mockgen -package api -destination mock.go github.com/evcc-io/evcc/api Charger,ChargeState,CurrentLimiter,CurrentGetter,PhaseSwitcher,PhaseGetter,FeatureDescriber,Identifier,Meter,MeterEnergy,MeterReturnEnergy,PhaseCurrents,Vehicle,ConnectionTimer,ChargeRater,Battery,BatteryController,BatterySocLimiter,Circuit,Dimmer,Tariff
|
||||
//
|
||||
|
||||
// Package api is a generated GoMock package.
|
||||
|
|
@ -448,6 +448,45 @@ func (mr *MockMeterEnergyMockRecorder) TotalEnergy() *gomock.Call {
|
|||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TotalEnergy", reflect.TypeOf((*MockMeterEnergy)(nil).TotalEnergy))
|
||||
}
|
||||
|
||||
// MockMeterReturnEnergy is a mock of MeterReturnEnergy interface.
|
||||
type MockMeterReturnEnergy struct {
|
||||
ctrl *gomock.Controller
|
||||
recorder *MockMeterReturnEnergyMockRecorder
|
||||
isgomock struct{}
|
||||
}
|
||||
|
||||
// MockMeterReturnEnergyMockRecorder is the mock recorder for MockMeterReturnEnergy.
|
||||
type MockMeterReturnEnergyMockRecorder struct {
|
||||
mock *MockMeterReturnEnergy
|
||||
}
|
||||
|
||||
// NewMockMeterReturnEnergy creates a new mock instance.
|
||||
func NewMockMeterReturnEnergy(ctrl *gomock.Controller) *MockMeterReturnEnergy {
|
||||
mock := &MockMeterReturnEnergy{ctrl: ctrl}
|
||||
mock.recorder = &MockMeterReturnEnergyMockRecorder{mock}
|
||||
return mock
|
||||
}
|
||||
|
||||
// EXPECT returns an object that allows the caller to indicate expected use.
|
||||
func (m *MockMeterReturnEnergy) EXPECT() *MockMeterReturnEnergyMockRecorder {
|
||||
return m.recorder
|
||||
}
|
||||
|
||||
// ReturnEnergy mocks base method.
|
||||
func (m *MockMeterReturnEnergy) ReturnEnergy() (float64, error) {
|
||||
m.ctrl.T.Helper()
|
||||
ret := m.ctrl.Call(m, "ReturnEnergy")
|
||||
ret0, _ := ret[0].(float64)
|
||||
ret1, _ := ret[1].(error)
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
// ReturnEnergy indicates an expected call of ReturnEnergy.
|
||||
func (mr *MockMeterReturnEnergyMockRecorder) ReturnEnergy() *gomock.Call {
|
||||
mr.mock.ctrl.T.Helper()
|
||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReturnEnergy", reflect.TypeOf((*MockMeterReturnEnergy)(nil).ReturnEnergy))
|
||||
}
|
||||
|
||||
// MockPhaseCurrents is a mock of PhaseCurrents interface.
|
||||
type MockPhaseCurrents struct {
|
||||
ctrl *gomock.Controller
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue