From fc7c9240bab8527780fcfe198fc8f9d35a857ab5 Mon Sep 17 00:00:00 2001 From: andig Date: Thu, 13 Jun 2024 13:02:25 +0200 Subject: [PATCH] Etrel: add api.CurrentGetter (#14316) --- charger/etrel.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/charger/etrel.go b/charger/etrel.go index 0e5e807bc..cc230bbe8 100644 --- a/charger/etrel.go +++ b/charger/etrel.go @@ -190,6 +190,18 @@ func (wb *Etrel) MaxCurrentMillis(current float64) error { return err } +var _ api.CurrentGetter = (*Etrel)(nil) + +// GetMaxCurrent implements the api.CurrentGetter interface +func (wb *Etrel) GetMaxCurrent() (float64, error) { + b, err := wb.conn.ReadHoldingRegisters(wb.base+etrelRegMaxCurrent, 2) + if err != nil { + return 0, err + } + + return float64(math.Float32frombits(binary.BigEndian.Uint32(b))), nil +} + var _ api.Meter = (*Etrel)(nil) // CurrentPower implements the api.Meter interface