From 29cab7546a56c8414ea8d19389cada077f14fef5 Mon Sep 17 00:00:00 2001 From: denis-gaebler <265865137+denis-gaebler@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:19:17 +0100 Subject: [PATCH] Versicharge: add mA regulation (#28173) --- charger/versicharge.go | 15 ++++++++++++--- templates/definition/charger/versicharge.yaml | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/charger/versicharge.go b/charger/versicharge.go index 7eef4da12..36d3cb68f 100644 --- a/charger/versicharge.go +++ b/charger/versicharge.go @@ -127,13 +127,22 @@ func (wb *Versicharge) Enable(enable bool) error { // MaxCurrent implements the api.Charger interface func (wb *Versicharge) MaxCurrent(current int64) error { + return wb.MaxCurrentMillis(float64(current)) +} + +var _ api.ChargerEx = (*Versicharge)(nil) + +// MaxCurrentMillis implements the api.ChargerEx interface +func (wb *Versicharge) MaxCurrentMillis(current float64) error { if current < 6 { - return fmt.Errorf("invalid current %d", current) + return fmt.Errorf("invalid current %.1f", current) } - _, err := wb.conn.WriteSingleRegister(versiRegMaxCurrent, uint16(current)) + curr := uint16(current * 100) + + _, err := wb.conn.WriteSingleRegister(versiRegMaxCurrent, curr) if err == nil { - wb.current = uint16(current) + wb.current = curr } return err diff --git a/templates/definition/charger/versicharge.yaml b/templates/definition/charger/versicharge.yaml index 838dcfe7e..c62ba3c05 100644 --- a/templates/definition/charger/versicharge.yaml +++ b/templates/definition/charger/versicharge.yaml @@ -3,6 +3,7 @@ products: - brand: Siemens description: generic: Versicharge GEN3 +capabilities: ["mA"] requirements: evcc: ["sponsorship"] description: