From 1a83a64f8051c86afaa98b590192572fa9d5ebb5 Mon Sep 17 00:00:00 2001 From: Alex Savin Date: Wed, 4 Jun 2025 17:01:21 -0400 Subject: [PATCH] Added windows reporting --- workers/mysubaru.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/workers/mysubaru.go b/workers/mysubaru.go index fae881e..e18d76b 100644 --- a/workers/mysubaru.go +++ b/workers/mysubaru.go @@ -381,6 +381,19 @@ 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+`/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 + `"}` + windows := `{` + wq := len(v.Windows) + wc := 1 + for n, w := range v.Windows { + windows = `"` + n + `":"` + w.Status + `"` + if wc != wq { + windows = windows + `,` + } + wc++ + } + windows = windows + `}` + state[`mysubarumq/`+v.Vin+`/windows/state`] = windows + tires := `{` tq := len(v.Tires) tc := 1