From 9d2bb88651c48362ae1bc9ee824f2ac8996220f4 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 4 Jul 2021 12:12:33 +0200 Subject: [PATCH] Add explicit api checks --- charger/wallbe.go | 2 ++ meter/sma.go | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/charger/wallbe.go b/charger/wallbe.go index d50371b3f..bf6562827 100644 --- a/charger/wallbe.go +++ b/charger/wallbe.go @@ -236,6 +236,8 @@ func (wb *Wallbe) currents() (float64, float64, float64, error) { return currents[0], currents[1], currents[2], nil } +var _ api.Diagnosis = (*Wallbe)(nil) + // Diagnose implements the Diagnosis interface func (wb *Wallbe) Diagnose() { if b, err := wb.conn.ReadInputRegisters(wbRegFirmware, 6); err == nil { diff --git a/meter/sma.go b/meter/sma.go index 7b4151811..aa6885512 100644 --- a/meter/sma.go +++ b/meter/sma.go @@ -226,12 +226,16 @@ func (sm *SMA) CurrentPower() (float64, error) { return sm.scale * (sm.asFloat(values[sunny.ActivePowerPlus]) - sm.asFloat(values[sunny.ActivePowerMinus])), err } +var _ api.MeterEnergy = (*SMA)(nil) + // TotalEnergy implements the api.MeterEnergy interface func (sm *SMA) TotalEnergy() (float64, error) { values, err := sm.hasValue() return sm.asFloat(values[sunny.ActiveEnergyPlus]) / 3600000, err } +var _ api.MeterCurrent = (*SMA)(nil) + // Currents implements the api.MeterCurrent interface func (sm *SMA) Currents() (float64, float64, float64, error) { values, err := sm.hasValue() @@ -251,6 +255,8 @@ func (sm *SMA) soc() (float64, error) { return sm.asFloat(values[sunny.BatteryCharge]), err } +var _ api.Diagnosis = (*SMA)(nil) + // Diagnose implements the api.Diagnosis interface func (sm *SMA) Diagnose() { w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, ' ', 0)