package implement // Code generated by github.com/evcc-io/evcc/api/implement/caps.go. DO NOT EDIT. import ( "time" "github.com/evcc-io/evcc/api" ) func Battery(battery0 func() (float64, error)) api.Battery { if battery0 == nil { return nil } return &iBattery{battery0} } type iBattery struct { battery0 func() (float64, error) } func (i *iBattery) Soc() (float64, error) { return i.battery0() } func BatteryCapacity(batteryCapacity0 func() float64) api.BatteryCapacity { if batteryCapacity0 == nil { return nil } return &iBatteryCapacity{batteryCapacity0} } type iBatteryCapacity struct { batteryCapacity0 func() float64 } func (i *iBatteryCapacity) Capacity() float64 { return i.batteryCapacity0() } func BatteryController(batteryController0 func(api.BatteryMode) error) api.BatteryController { if batteryController0 == nil { return nil } return &iBatteryController{batteryController0} } type iBatteryController struct { batteryController0 func(api.BatteryMode) error } func (i *iBatteryController) SetBatteryMode(p0 api.BatteryMode) error { return i.batteryController0(p0) } func BatteryPowerLimiter(batteryPowerLimiter0 func() (float64, float64)) api.BatteryPowerLimiter { if batteryPowerLimiter0 == nil { return nil } return &iBatteryPowerLimiter{batteryPowerLimiter0} } type iBatteryPowerLimiter struct { batteryPowerLimiter0 func() (float64, float64) } func (i *iBatteryPowerLimiter) GetPowerLimits() (float64, float64) { return i.batteryPowerLimiter0() } func BatterySocLimiter(batterySocLimiter0 func() (float64, float64)) api.BatterySocLimiter { if batterySocLimiter0 == nil { return nil } return &iBatterySocLimiter{batterySocLimiter0} } type iBatterySocLimiter struct { batterySocLimiter0 func() (float64, float64) } func (i *iBatterySocLimiter) GetSocLimits() (float64, float64) { return i.batterySocLimiter0() } func ChargeController(chargeController0 func(bool) error) api.ChargeController { if chargeController0 == nil { return nil } return &iChargeController{chargeController0} } type iChargeController struct { chargeController0 func(bool) error } func (i *iChargeController) ChargeEnable(p0 bool) error { return i.chargeController0(p0) } func ChargeRater(chargeRater0 func() (float64, error)) api.ChargeRater { if chargeRater0 == nil { return nil } return &iChargeRater{chargeRater0} } type iChargeRater struct { chargeRater0 func() (float64, error) } func (i *iChargeRater) ChargedEnergy() (float64, error) { return i.chargeRater0() } func ChargerEx(chargerEx0 func(float64) error) api.ChargerEx { if chargerEx0 == nil { return nil } return &iChargerEx{chargerEx0} } type iChargerEx struct { chargerEx0 func(float64) error } func (i *iChargerEx) MaxCurrentMillis(p0 float64) error { return i.chargerEx0(p0) } func ChargeState(chargeState0 func() (api.ChargeStatus, error)) api.ChargeState { if chargeState0 == nil { return nil } return &iChargeState{chargeState0} } type iChargeState struct { chargeState0 func() (api.ChargeStatus, error) } func (i *iChargeState) Status() (api.ChargeStatus, error) { return i.chargeState0() } func CurrentController(currentController0 func(int64) error) api.CurrentController { if currentController0 == nil { return nil } return &iCurrentController{currentController0} } type iCurrentController struct { currentController0 func(int64) error } func (i *iCurrentController) MaxCurrent(p0 int64) error { return i.currentController0(p0) } func CurrentGetter(currentGetter0 func() (float64, error)) api.CurrentGetter { if currentGetter0 == nil { return nil } return &iCurrentGetter{currentGetter0} } type iCurrentGetter struct { currentGetter0 func() (float64, error) } func (i *iCurrentGetter) GetMaxCurrent() (float64, error) { return i.currentGetter0() } func CurrentLimiter(currentLimiter0 func() (float64, float64, error)) api.CurrentLimiter { if currentLimiter0 == nil { return nil } return &iCurrentLimiter{currentLimiter0} } type iCurrentLimiter struct { currentLimiter0 func() (float64, float64, error) } func (i *iCurrentLimiter) GetMinMaxCurrent() (float64, float64, error) { return i.currentLimiter0() } func Curtailer(curtailer0 func() (int, error), curtailer1 func(int) error) api.Curtailer { if curtailer0 == nil || curtailer1 == nil { return nil } return &iCurtailer{curtailer0, curtailer1} } type iCurtailer struct { curtailer0 func() (int, error) curtailer1 func(int) error } func (i *iCurtailer) CurtailedPercent() (int, error) { return i.curtailer0() } func (i *iCurtailer) SetCurtailPercent(p0 int) error { return i.curtailer1(p0) } func Dimmer(dimmer0 func(bool) error, dimmer1 func() (bool, error)) api.Dimmer { if dimmer0 == nil || dimmer1 == nil { return nil } return &iDimmer{dimmer0, dimmer1} } type iDimmer struct { dimmer0 func(bool) error dimmer1 func() (bool, error) } func (i *iDimmer) Dim(p0 bool) error { return i.dimmer0(p0) } func (i *iDimmer) Dimmed() (bool, error) { return i.dimmer1() } func Identifier(identifier0 func() (string, error)) api.Identifier { if identifier0 == nil { return nil } return &iIdentifier{identifier0} } type iIdentifier struct { identifier0 func() (string, error) } func (i *iIdentifier) Identify() (string, error) { return i.identifier0() } func MaxACPowerGetter(maxACPowerGetter0 func() float64) api.MaxACPowerGetter { if maxACPowerGetter0 == nil { return nil } return &iMaxACPowerGetter{maxACPowerGetter0} } type iMaxACPowerGetter struct { maxACPowerGetter0 func() float64 } func (i *iMaxACPowerGetter) MaxACPower() float64 { return i.maxACPowerGetter0() } func Meter(meter0 func() (float64, error)) api.Meter { if meter0 == nil { return nil } return &iMeter{meter0} } type iMeter struct { meter0 func() (float64, error) } func (i *iMeter) CurrentPower() (float64, error) { return i.meter0() } func MeterEnergy(meterEnergy0 func() (float64, error)) api.MeterEnergy { if meterEnergy0 == nil { return nil } return &iMeterEnergy{meterEnergy0} } type iMeterEnergy struct { meterEnergy0 func() (float64, error) } 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 } return &iPhaseCurrents{phaseCurrents0} } type iPhaseCurrents struct { phaseCurrents0 func() (float64, float64, float64, error) } func (i *iPhaseCurrents) Currents() (float64, float64, float64, error) { return i.phaseCurrents0() } func PhaseGetter(phaseGetter0 func() (int, error)) api.PhaseGetter { if phaseGetter0 == nil { return nil } return &iPhaseGetter{phaseGetter0} } type iPhaseGetter struct { phaseGetter0 func() (int, error) } func (i *iPhaseGetter) GetPhases() (int, error) { return i.phaseGetter0() } func PhasePowers(phasePowers0 func() (float64, float64, float64, error)) api.PhasePowers { if phasePowers0 == nil { return nil } return &iPhasePowers{phasePowers0} } type iPhasePowers struct { phasePowers0 func() (float64, float64, float64, error) } func (i *iPhasePowers) Powers() (float64, float64, float64, error) { return i.phasePowers0() } func PhaseSwitcher(phaseSwitcher0 func(int) error) api.PhaseSwitcher { if phaseSwitcher0 == nil { return nil } return &iPhaseSwitcher{phaseSwitcher0} } type iPhaseSwitcher struct { phaseSwitcher0 func(int) error } func (i *iPhaseSwitcher) Phases1p3p(p0 int) error { return i.phaseSwitcher0(p0) } func PhaseVoltages(phaseVoltages0 func() (float64, float64, float64, error)) api.PhaseVoltages { if phaseVoltages0 == nil { return nil } return &iPhaseVoltages{phaseVoltages0} } type iPhaseVoltages struct { phaseVoltages0 func() (float64, float64, float64, error) } func (i *iPhaseVoltages) Voltages() (float64, float64, float64, error) { return i.phaseVoltages0() } func Resurrector(resurrector0 func() error) api.Resurrector { if resurrector0 == nil { return nil } return &iResurrector{resurrector0} } type iResurrector struct { resurrector0 func() error } func (i *iResurrector) WakeUp() error { return i.resurrector0() } func SocLimiter(socLimiter0 func() (int64, error)) api.SocLimiter { if socLimiter0 == nil { return nil } return &iSocLimiter{socLimiter0} } type iSocLimiter struct { socLimiter0 func() (int64, error) } func (i *iSocLimiter) GetLimitSoc() (int64, error) { return i.socLimiter0() } func StatusReasoner(statusReasoner0 func() (api.Reason, error)) api.StatusReasoner { if statusReasoner0 == nil { return nil } return &iStatusReasoner{statusReasoner0} } type iStatusReasoner struct { statusReasoner0 func() (api.Reason, error) } func (i *iStatusReasoner) StatusReason() (api.Reason, error) { return i.statusReasoner0() } func VehicleClimater(vehicleClimater0 func() (bool, error)) api.VehicleClimater { if vehicleClimater0 == nil { return nil } return &iVehicleClimater{vehicleClimater0} } type iVehicleClimater struct { vehicleClimater0 func() (bool, error) } func (i *iVehicleClimater) Climater() (bool, error) { return i.vehicleClimater0() } func VehicleFinishTimer(vehicleFinishTimer0 func() (time.Time, error)) api.VehicleFinishTimer { if vehicleFinishTimer0 == nil { return nil } return &iVehicleFinishTimer{vehicleFinishTimer0} } type iVehicleFinishTimer struct { vehicleFinishTimer0 func() (time.Time, error) } func (i *iVehicleFinishTimer) FinishTime() (time.Time, error) { return i.vehicleFinishTimer0() } func VehicleOdometer(vehicleOdometer0 func() (float64, error)) api.VehicleOdometer { if vehicleOdometer0 == nil { return nil } return &iVehicleOdometer{vehicleOdometer0} } type iVehicleOdometer struct { vehicleOdometer0 func() (float64, error) } func (i *iVehicleOdometer) Odometer() (float64, error) { return i.vehicleOdometer0() } func VehiclePosition(vehiclePosition0 func() (float64, float64, error)) api.VehiclePosition { if vehiclePosition0 == nil { return nil } return &iVehiclePosition{vehiclePosition0} } type iVehiclePosition struct { vehiclePosition0 func() (float64, float64, error) } func (i *iVehiclePosition) Position() (float64, float64, error) { return i.vehiclePosition0() } func VehicleRange(vehicleRange0 func() (int64, error)) api.VehicleRange { if vehicleRange0 == nil { return nil } return &iVehicleRange{vehicleRange0} } type iVehicleRange struct { vehicleRange0 func() (int64, error) } func (i *iVehicleRange) Range() (int64, error) { return i.vehicleRange0() }