chore: use charge status mapper (#9305)

This commit is contained in:
andig 2023-08-10 19:16:49 +02:00 • committed by GitHub
parent c63bb70f06
commit 682ab053ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 25 deletions

View file

@ -42,6 +42,8 @@ const (
StatusF ChargeStatus = "F" // Fzg. angeschlossen: ja Laden aktiv: nein Fehler EVSE oder Abstecken simulieren (CP-Wake-up, -12V)
)
var StatusEasA = map[ChargeStatus]ChargeStatus{StatusE: StatusA}
// ChargeStatusString converts a string to ChargeStatus
func ChargeStatusString(s string) (ChargeStatus, error) {
status := strings.ToUpper(strings.TrimSpace(strings.Trim(s, "\x00")))

View file

@ -19,7 +19,6 @@ package charger
import (
"encoding/binary"
"fmt"
"math"
"sync"
"time"
@ -127,18 +126,7 @@ func (wb *Alfen) Status() (api.ChargeStatus, error) {
return api.StatusNone, err
}
switch r := rune(b[0]); r {
case 'A', 'B', 'D', 'E', 'F':
return api.ChargeStatusStringWithMapping(string(r), map[api.ChargeStatus]api.ChargeStatus{api.StatusE: api.StatusA})
case 'C':
// C1 is "connected"
if rune(b[1]) == '1' {
return api.StatusB, nil
}
return api.StatusC, nil
default:
return api.StatusNone, fmt.Errorf("invalid status: %0x", b[:1])
}
return api.ChargeStatusStringWithMapping(string(b), api.StatusEasA)
}
// Enabled implements the api.Charger interface

View file

@ -96,18 +96,7 @@ func (wb *Innogy) Status() (api.ChargeStatus, error) {
return api.StatusNone, err
}
switch r := rune(b[0]); r {
case 'A', 'B', 'D', 'E', 'F':
return api.ChargeStatusStringWithMapping(string(r), map[api.ChargeStatus]api.ChargeStatus{api.StatusE: api.StatusA})
case 'C':
// C1 is "connected"
if rune(b[1]) == '1' {
return api.StatusB, nil
}
return api.StatusC, nil
default:
return api.StatusNone, fmt.Errorf("invalid status: %0x", b[:1])
}
return api.ChargeStatusStringWithMapping(string(b), api.StatusEasA)
}
// Enabled implements the api.Charger interface