Easee: improve enabled status detection (#948)

This commit is contained in:
Michael Geers 2021-05-01 12:20:48 +02:00 • committed by GitHub
parent 71784be729
commit bf246f37ef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 5 deletions

View file

@ -152,13 +152,13 @@ func (c *Easee) Status() (api.ChargeStatus, error) {
}
switch res.ChargerOpMode {
case 1:
case easee.ModeDisconnected:
return api.StatusA, nil
case 2, 4, 6:
case easee.ModeAwaitingStart, easee.ModeCompleted, easee.ModeReadyToCharge:
return api.StatusB, nil
case 3:
case easee.ModeCharging:
return api.StatusC, nil
case 5:
case easee.ModeError:
return api.StatusF, nil
default:
return api.StatusNone, fmt.Errorf("unknown opmode: %d", res.ChargerOpMode)
@ -168,7 +168,7 @@ func (c *Easee) Status() (api.ChargeStatus, error) {
// Enabled implements the api.Charger interface
func (c *Easee) Enabled() (bool, error) {
res, err := c.state()
return res.DynamicCircuitCurrentP1 > 0, err
return res.ChargerOpMode == easee.ModeCharging || res.ChargerOpMode == easee.ModeReadyToCharge, err
}
// Enable implements the api.Charger interface

View file

@ -18,6 +18,17 @@ type Token struct {
Valid time.Time // helper to store validity timestamp
}
// charge mode definition
const (
ModeOffline int = 0
ModeDisconnected int = 1
ModeAwaitingStart int = 2
ModeCharging int = 3
ModeCompleted int = 4
ModeError int = 5
ModeReadyToCharge int = 6
)
// Identity manages the /api/accounts/token and /api/accounts/refresh_token response
type Identity struct {
*request.Helper