Alphatec: workaround status 8 if disabled (#7222)
The charger does not allow to detect if a car is plugged or not if it is in disabled state.
This commit is contained in:
parent
ceb3e4d994
commit
413f184562
1 changed files with 11 additions and 2 deletions
|
|
@ -31,7 +31,8 @@ import (
|
|||
|
||||
// Alphatec charger implementation
|
||||
type Alphatec struct {
|
||||
conn *modbus.Connection
|
||||
conn *modbus.Connection
|
||||
status api.ChargeStatus
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
@ -72,7 +73,8 @@ func NewAlphatec(uri, device, comset string, baudrate int, proto modbus.Protocol
|
|||
conn.Logger(log.TRACE)
|
||||
|
||||
wb := &Alphatec{
|
||||
conn: conn,
|
||||
conn: conn,
|
||||
status: api.StatusNone,
|
||||
}
|
||||
|
||||
return wb, err
|
||||
|
|
@ -93,10 +95,17 @@ func (wb *Alphatec) Status() (api.ChargeStatus, error) {
|
|||
res = api.StatusB
|
||||
case 3:
|
||||
res = api.StatusC
|
||||
case 8:
|
||||
res = wb.status
|
||||
if wb.status == api.StatusC {
|
||||
res = api.StatusB
|
||||
}
|
||||
default:
|
||||
return api.StatusNone, fmt.Errorf("invalid status: %d", u)
|
||||
}
|
||||
|
||||
wb.status = res
|
||||
|
||||
return res, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue