OpenWB 2.0: fix enabled state handling (#11543)
This commit is contained in:
parent
38cbd3e80c
commit
a55ce941c7
1 changed files with 10 additions and 11 deletions
|
|
@ -11,9 +11,10 @@ import (
|
|||
|
||||
// OpenWB20 charger implementation
|
||||
type OpenWB20 struct {
|
||||
conn *modbus.Connection
|
||||
curr uint16
|
||||
base uint16
|
||||
conn *modbus.Connection
|
||||
enabled bool
|
||||
curr uint16
|
||||
base uint16
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
@ -106,12 +107,7 @@ func (wb *OpenWB20) Status() (api.ChargeStatus, error) {
|
|||
|
||||
// Enabled implements the api.Charger interface
|
||||
func (wb *OpenWB20) Enabled() (bool, error) {
|
||||
b, err := wb.conn.ReadInputRegisters(wb.base+openwbRegActualAmps, 1)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
return binary.BigEndian.Uint16(b) == 1, nil
|
||||
return verifyEnabled(wb, wb.enabled)
|
||||
}
|
||||
|
||||
func (wb *OpenWB20) setCurrent(u uint16) error {
|
||||
|
|
@ -125,8 +121,11 @@ func (wb *OpenWB20) Enable(enable bool) error {
|
|||
if enable {
|
||||
u = wb.curr
|
||||
}
|
||||
|
||||
return wb.setCurrent(u)
|
||||
err := wb.setCurrent(u)
|
||||
if err == nil {
|
||||
wb.enabled = enable
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// MaxCurrent implements the api.Charger interface
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue