From 92072aac40d034c8a8ff9cd3274472df8fce84f9 Mon Sep 17 00:00:00 2001 From: Artem Makhutov Date: Sat, 16 May 2026 20:13:17 +0200 Subject: [PATCH] DADAPOWER: add voltages (#29923) --- charger/dadapower.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/charger/dadapower.go b/charger/dadapower.go index e4d3a00bf..29b274832 100644 --- a/charger/dadapower.go +++ b/charger/dadapower.go @@ -37,6 +37,7 @@ const ( dadapowerRegChargingAllowed = 1000 dadapowerRegChargeCurrentLimit = 1001 dadapowerRegActivePhases = 1002 + dadapowerRegVolts = 1003 dadapowerRegCurrents = 1006 dadapowerRegActiveEnergy = 1009 dadapowerRegChargingPortState = 1015 @@ -242,6 +243,21 @@ func (wb *Dadapower) Currents() (float64, float64, float64, error) { return res[0], res[1], res[2], nil } +// Voltages implements the api.PhaseVoltages interface +func (wb *Dadapower) Voltages() (float64, float64, float64, error) { + b, err := wb.conn.ReadInputRegisters(dadapowerRegVolts+wb.regOffset, 3) + if err != nil { + return 0, 0, 0, err + } + + var res [3]float64 + for i := range res { + res[i] = float64(binary.BigEndian.Uint16(b[2*i:])) / 100 + } + + return res[0], res[1], res[2], nil +} + var _ api.PhaseSwitcher = (*Dadapower)(nil) // Phases1p3p implements the api.PhaseSwitcher interface