evcc-io/core/meter.go
2020-03-06 08:24:05 +01:00

23 lines
515 B
Go

package core
import (
"github.com/andig/evcc/api"
"github.com/andig/evcc/provider"
)
// Meter is an api.Meter implementation with configurable getters and setters.
type Meter struct {
currentPowerG provider.FloatGetter
}
// NewMeter creates a new charger
func NewMeter(currentPowerG provider.FloatGetter) api.Meter {
return &Meter{
currentPowerG: currentPowerG,
}
}
// CurrentPower implements the Meter.CurrentPower interface
func (m *Meter) CurrentPower() (float64, error) {
return m.currentPowerG()
}