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:
premultiply 2023-04-06 14:19:55 +02:00 • committed by GitHub
parent ceb3e4d994
commit 413f184562
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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
}