Loadpoint: always publish charge voltages (#21641)

This commit is contained in:
Ingo 2025-06-04 19:53:54 +02:00 • committed by GitHub
parent 637d9f3976
commit b8563f2d4a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1559,10 +1559,6 @@ func (lp *Loadpoint) phasesFromChargeCurrents() {
// updateChargeVoltages uses PhaseVoltages interface to count phases with nominal grid voltage
func (lp *Loadpoint) updateChargeVoltages() {
if lp.hasPhaseSwitching() {
return // we don't need the voltages
}
phaseMeter, ok := lp.chargeMeter.(api.PhaseVoltages)
if !ok {
return // don't guess
@ -1570,7 +1566,10 @@ func (lp *Loadpoint) updateChargeVoltages() {
u1, u2, u3, err := phaseMeter.Voltages()
if err != nil {
lp.log.ERROR.Printf("charge voltages: %v", err)
// phaseSwitching devices may announce voltages but doesn't deliver
if !errors.Is(err, api.ErrNotAvailable) {
lp.log.ERROR.Printf("charge voltages: %v", err)
}
return
}
@ -1578,6 +1577,10 @@ func (lp *Loadpoint) updateChargeVoltages() {
lp.log.DEBUG.Printf("charge voltages: %.3gV", chargeVoltages)
lp.publish(keys.ChargeVoltages, chargeVoltages)
if lp.hasPhaseSwitching() {
return // we don't need the voltages, but publish
}
a1, a2, a3 := u1 >= minActiveVoltage, u2 >= minActiveVoltage, u3 >= minActiveVoltage
// Quine-McCluskey for (¬L1∧L2∧¬L3) ∨ (L1∧L2∧¬L3) ∨ (¬L1∧¬L2∧L3) ∨ (L1∧¬L2∧L3) ∨ (¬L1∧L2∧L3) -> ¬L1 ∧ L3 ∨ L2 ∧ ¬L3 ∨ ¬L2 ∧ L3