DADAPOWER: add voltages (#29923)

This commit is contained in:
Artem Makhutov 2026-05-16 20:13:17 +02:00 • committed by GitHub
parent 57630514e5
commit 92072aac40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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