From 193a60d1f143a66cf46af9eae2a383c1ce25d632 Mon Sep 17 00:00:00 2001 From: Alex Savin Date: Fri, 30 May 2025 12:39:23 -0400 Subject: [PATCH] More changes --- vehicle.go | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/vehicle.go b/vehicle.go index 041397e..328ba9f 100644 --- a/vehicle.go +++ b/vehicle.go @@ -486,26 +486,19 @@ func (v *Vehicle) GetClimatePresets() { v.client.logger.Debug("subaru climate presets http output", "body", resp) tmp := struct { - Success bool `json:"success"` - ErrorCode string `json:"errorCode"` - DataName string `json:"dataName"` - Data json.RawMessage `json:"data"` + Success bool `json:"success"` + ErrorCode string `json:"errorCode"` + DataName string `json:"dataName"` + Data []ClimateProfile `json:"data"` }{} err := json.Unmarshal(resp, &tmp) if err != nil { v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error()) } - v.client.logger.Debug("subaru climate presets parsed http output", "body", string(tmp.Data)) + v.client.logger.Debug("subaru climate presets parsed http output", "body", tmp) - var cProfiles []ClimateProfile - err = json.Unmarshal([]byte(tmp.Data), &cProfiles) - if err != nil { - v.client.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error()) - } - v.client.logger.Debug("subaru climate presets parsed http output", "body", cProfiles) - - if len(cProfiles) > 0 { - for _, cp := range cProfiles { + if len(tmp.Data) > 0 { + for _, cp := range tmp.Data { if v.isEV() && cp.VehicleType == "phev" { if _, ok := v.ClimateProfiles[cp.PresetType+cp.Name]; ok { v.ClimateProfiles[cp.PresetType+cp.Name] = cp