chore: simplify
This commit is contained in:
parent
51ef2e7ac8
commit
cf5e2bac0f
4 changed files with 21 additions and 23 deletions
|
|
@ -75,9 +75,8 @@ func NewCfosPowerBrain(ctx context.Context, uri string, id uint8) (api.Charger,
|
|||
|
||||
// decorate meter
|
||||
var (
|
||||
power func() (float64, error)
|
||||
energy func() (float64, error)
|
||||
currents func() (float64, float64, float64, error)
|
||||
power, energy func() (float64, error)
|
||||
currents func() (float64, float64, float64, error)
|
||||
)
|
||||
if b, err := wb.conn.ReadHoldingRegisters(cfosRegMeter, 1); err == nil && binary.BigEndian.Uint16(b) != 0 {
|
||||
power = wb.currentPower
|
||||
|
|
|
|||
|
|
@ -71,26 +71,24 @@ func NewEVSEWifiFromConfig(other map[string]interface{}) (api.Charger, error) {
|
|||
wb.hires = true
|
||||
}
|
||||
|
||||
// decorate Charger with Meter
|
||||
var currentPower func() (float64, error)
|
||||
// decorate meter
|
||||
var (
|
||||
power, energy func() (float64, error)
|
||||
currents, voltages func() (float64, float64, float64, error)
|
||||
)
|
||||
|
||||
if cc.Meter.Power {
|
||||
currentPower = wb.currentPower
|
||||
power = wb.currentPower
|
||||
}
|
||||
|
||||
// decorate Charger with MeterEnergy
|
||||
var totalEnergy func() (float64, error)
|
||||
if cc.Meter.Energy {
|
||||
totalEnergy = wb.totalEnergy
|
||||
energy = wb.totalEnergy
|
||||
}
|
||||
|
||||
// decorate Charger with PhaseCurrents
|
||||
var currents func() (float64, float64, float64, error)
|
||||
if cc.Meter.Currents {
|
||||
currents = wb.currents
|
||||
}
|
||||
|
||||
// decorate Charger with PhaseVoltages
|
||||
var voltages func() (float64, float64, float64, error)
|
||||
if cc.Meter.Voltages {
|
||||
voltages = wb.voltages
|
||||
}
|
||||
|
|
@ -108,7 +106,7 @@ func NewEVSEWifiFromConfig(other map[string]interface{}) (api.Charger, error) {
|
|||
identify = wb.identify
|
||||
}
|
||||
|
||||
return decorateEVSE(wb, currentPower, totalEnergy, currents, voltages, maxCurrentMillis, identify), nil
|
||||
return decorateEVSE(wb, power, energy, currents, voltages, maxCurrentMillis, identify), nil
|
||||
}
|
||||
|
||||
// NewEVSEWifi creates EVSEWifi charger
|
||||
|
|
|
|||
|
|
@ -68,17 +68,20 @@ func NewWallbeFromConfig(ctx context.Context, other map[string]interface{}) (api
|
|||
wb.factor = 1
|
||||
}
|
||||
|
||||
var currentPower func() (float64, error)
|
||||
// decorate meter
|
||||
var (
|
||||
power, energy func() (float64, error)
|
||||
currents func() (float64, float64, float64, error)
|
||||
)
|
||||
|
||||
if cc.Meter.Power {
|
||||
currentPower = wb.currentPower
|
||||
power = wb.currentPower
|
||||
}
|
||||
|
||||
var totalEnergy func() (float64, error)
|
||||
if cc.Meter.Energy {
|
||||
totalEnergy = wb.totalEnergy
|
||||
energy = wb.totalEnergy
|
||||
}
|
||||
|
||||
var currents func() (float64, float64, float64, error)
|
||||
if cc.Meter.Currents {
|
||||
currents = wb.currents
|
||||
}
|
||||
|
|
@ -88,7 +91,7 @@ func NewWallbeFromConfig(ctx context.Context, other map[string]interface{}) (api
|
|||
maxCurrentMillis = wb.maxCurrentMillis
|
||||
}
|
||||
|
||||
return decorateWallbe(wb, currentPower, totalEnergy, currents, maxCurrentMillis), nil
|
||||
return decorateWallbe(wb, power, energy, currents, maxCurrentMillis), nil
|
||||
}
|
||||
|
||||
// NewWallbe creates a Wallbe charger
|
||||
|
|
|
|||
|
|
@ -101,9 +101,7 @@ type Meter struct {
|
|||
// Decorate attaches additional capabilities to the base meter
|
||||
func (m *Meter) Decorate(
|
||||
totalEnergy func() (float64, error),
|
||||
currents func() (float64, float64, float64, error),
|
||||
voltages func() (float64, float64, float64, error),
|
||||
powers func() (float64, float64, float64, error),
|
||||
currents, voltages, powers func() (float64, float64, float64, error),
|
||||
batterySoc func() (float64, error),
|
||||
batteryCapacity func() float64,
|
||||
maxACPower func() float64,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue