Fixed tires and windows; Added doors
All checks were successful
Build and Push Docker Image / testing (1.24.x, ubuntu-latest) (push) Successful in 25s
Build and Push Docker Image / build-and-push (push) Successful in 9m49s

This commit is contained in:
2025-06-05 15:18:51 -04:00
parent 861666e5e9
commit ae463d6ba3

View File

@ -375,11 +375,24 @@ func (s *MySubaruClient) mySubaruStatusToMQTTMessage(v *mysubaru.Vehicle) []*bus
state[`mysubarumq/`+v.Vin+`/state`] = `{` + tank + `"odometer_km":` + strconv.Itoa(v.Odometer.Kilometers) + `,"odometer_mi":` + strconv.Itoa(v.Odometer.Miles) + `,"dist_to_empty_km":` + strconv.Itoa(v.DistanceToEmpty.Kilometers) + `,"dist_to_empty_mi":` + strconv.Itoa(v.DistanceToEmpty.Miles) + `,"consumption_us":` + fmt.Sprintf("%.2f", v.FuelConsumptionAvg.MPG) + `,"consumption_eu":` + fmt.Sprintf("%.2f", v.FuelConsumptionAvg.LP100Km) + `,"engine_state":"` + v.EngineState + `"}` state[`mysubarumq/`+v.Vin+`/state`] = `{` + tank + `"odometer_km":` + strconv.Itoa(v.Odometer.Kilometers) + `,"odometer_mi":` + strconv.Itoa(v.Odometer.Miles) + `,"dist_to_empty_km":` + strconv.Itoa(v.DistanceToEmpty.Kilometers) + `,"dist_to_empty_mi":` + strconv.Itoa(v.DistanceToEmpty.Miles) + `,"consumption_us":` + fmt.Sprintf("%.2f", v.FuelConsumptionAvg.MPG) + `,"consumption_eu":` + fmt.Sprintf("%.2f", v.FuelConsumptionAvg.LP100Km) + `,"engine_state":"` + v.EngineState + `"}`
state[`mysubarumq/`+v.Vin+`/attr`] = `{"source_type":"gps","latitude":` + fmt.Sprintf("%.6f", v.GeoLocation.Latitude) + `,"longitude":` + fmt.Sprintf("%.6f", v.GeoLocation.Longitude) + `,"course":` + strconv.Itoa(v.GeoLocation.Heading) + `,"speed":` + fmt.Sprintf("%.2f", v.GeoLocation.Speed) + `,"friendly_name":"` + v.CarNickname + `"}` state[`mysubarumq/`+v.Vin+`/attr`] = `{"source_type":"gps","latitude":` + fmt.Sprintf("%.6f", v.GeoLocation.Latitude) + `,"longitude":` + fmt.Sprintf("%.6f", v.GeoLocation.Longitude) + `,"course":` + strconv.Itoa(v.GeoLocation.Heading) + `,"speed":` + fmt.Sprintf("%.2f", v.GeoLocation.Speed) + `,"friendly_name":"` + v.CarNickname + `"}`
doors := `{`
dq := len(v.Doors)
dc := 1
for n, d := range v.Doors {
doors = doors + `"` + n + `":"` + d.Status + `"`
if dc != dq {
doors = doors + `,`
}
dc++
}
doors = doors + `}`
state[`mysubarumq/`+v.Vin+`/doors/state`] = doors
windows := `{` windows := `{`
wq := len(v.Windows) wq := len(v.Windows)
wc := 1 wc := 1
for n, w := range v.Windows { for n, w := range v.Windows {
windows = `"` + n + `":"` + w.Status + `"` windows = windows + `"` + n + `":"` + w.Status + `"`
if wc != wq { if wc != wq {
windows = windows + `,` windows = windows + `,`
} }
@ -392,7 +405,7 @@ func (s *MySubaruClient) mySubaruStatusToMQTTMessage(v *mysubaru.Vehicle) []*bus
tq := len(v.Tires) tq := len(v.Tires)
tc := 1 tc := 1
for n, t := range v.Tires { for n, t := range v.Tires {
tires = `"` + n + `":` + strconv.Itoa(t.Pressure) tires = tires + `"` + n + `":` + strconv.Itoa(t.Pressure)
if tc != tq { if tc != tq {
tires = tires + `,` tires = tires + `,`
} }