From 5da770048345a44c0629e4ed6a7e565caee9f1a5 Mon Sep 17 00:00:00 2001 From: premultiply <4681172+premultiply@users.noreply.github.com> Date: Wed, 1 Oct 2025 20:46:24 +0200 Subject: [PATCH] Smartevse: disable during phase switch (#24018) --- charger/smartevse.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/charger/smartevse.go b/charger/smartevse.go index fa9ac4d34..71edf7f92 100644 --- a/charger/smartevse.go +++ b/charger/smartevse.go @@ -241,12 +241,11 @@ func (wb *smartEVSE) Phases1p3p(phases int) error { settings |= 1 // set bit 0 (smartEVSEConfPhases) } - if _, err := wb.conn.WriteSingleRegister(smartEVSERegSettings, settings); err != nil { + return whenDisabled(wb, func() error { + // Switch phases + _, err := wb.conn.WriteSingleRegister(smartEVSERegSettings, settings) return err - } - - // we need to stop charging quickly for the setting to take effect - return wb.Enable(false) + }) } var _ api.Diagnosis = (*smartEVSE)(nil)