From 142ce3620a0809eb3e3405d031ee7c7202f1fefd Mon Sep 17 00:00:00 2001 From: premultiply <4681172+premultiply@users.noreply.github.com> Date: Tue, 14 May 2024 10:54:38 +0000 Subject: [PATCH] solax-charger: fix enable --- charger/solax.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/charger/solax.go b/charger/solax.go index 2e3cfbd32..118b553f0 100644 --- a/charger/solax.go +++ b/charger/solax.go @@ -48,6 +48,12 @@ const ( solaxRegActivePower = 0x000B // uint16 1W solaxRegTotalEnergy = 0x0010 // uint32s 0.1kWh solaxRegState = 0x001D // uint16 + + solaxCmdStop = 3 + solaxCmdStart = 4 + + solaxModeStop = 0 + solaxModeFast = 1 ) func init() { @@ -140,18 +146,17 @@ func (wb *Solax) Enabled() (bool, error) { return false, err } - return binary.BigEndian.Uint16(b) != 0, nil + return binary.BigEndian.Uint16(b) != solaxModeStop, nil } // Enable implements the api.Charger interface func (wb *Solax) Enable(enable bool) error { - var mode uint16 = 0 // "STOP" + var cmd uint16 = solaxCmdStop if enable { - mode = 1 // "FAST" + cmd = solaxCmdStart } - _, err := wb.conn.WriteSingleRegister(solaxRegDeviceMode, mode) - + _, err := wb.conn.WriteSingleRegister(solaxRegCommandControl, cmd) return err }