Compare commits

..

2 Commits

Author SHA1 Message Date
a42ed54f38 Added trouble detection
All checks were successful
Golan Testing / testing (1.24.x, ubuntu-latest) (push) Successful in 23s
2025-06-05 16:56:29 -04:00
c27e5adfe0 Fixed tire pressure reporting 2025-06-05 16:54:35 -04:00

View File

@ -700,7 +700,10 @@ func (v *Vehicle) GetVehicleHealth() {
// v.client.logger.Debug("vehicle health item", "id", i, "item", vhi)
if vhi.IsTrouble {
if _, ok := troubles[vhi.FeatureCode]; ok {
// TODO: Added a troble to the trouble list
t := Trouble{
Description: troubles[vhi.FeatureCode],
}
v.Troubles[vhi.FeatureCode] = t
v.client.logger.Debug("found troubled vehicle health item", "id", i, "item", vhi.FeatureCode, "description", troubles[vhi.FeatureCode])
}
}
@ -831,10 +834,11 @@ func (v *Vehicle) parseParts(name string, value any) {
}
case "Tire", "tire":
if t, ok := v.Tires[pn]; ok {
if grps[4] == "Psi" {
t.PressurePsi = value.(int)
} else {
t.Pressure = int(value.(float64))
switch v := value.(type) {
case int:
t.PressurePsi = v
case float64:
t.PressurePsi = int(v)
}
t.Updated = time.Now()
v.Tires[pn] = t
@ -844,10 +848,11 @@ func (v *Vehicle) parseParts(name string, value any) {
SubPosition: grps[3],
Updated: time.Now(),
}
if grps[4] == "Psi" {
t.PressurePsi = value.(int)
} else {
t.Pressure = int(value.(float64))
switch v := value.(type) {
case int:
t.PressurePsi = v
case float64:
t.PressurePsi = int(v)
}
v.Tires[pn] = t
}