More changes
All checks were successful
Golan Testing / testing (1.24.x, ubuntu-latest) (push) Successful in 23s

This commit is contained in:
2025-05-31 21:15:04 -04:00
parent d66d529fa9
commit 2542993b9f
3 changed files with 31 additions and 15 deletions

View File

@ -275,16 +275,26 @@ func (c *Client) SelectVehicle(vin string) VehicleData {
"_": timestamp()}
reqURL := MOBILE_API_VERSION + apiURLs["API_SELECT_VEHICLE"]
resp := c.execute(reqURL, GET, params, "", false)
c.logger.Debug("http request output", "request", "SelectVehicle", "body", resp)
var vData VehicleData
respParsed, err := gabs.ParseJSON([]byte(resp))
var r Response
err := json.Unmarshal(resp, &r)
if err != nil {
panic(err)
c.logger.Error("error while parsing json", "request", "SelectVehicle", "error", err.Error())
}
c.logger.Debug("http request output", "request", "SelectVehicle", "body", respParsed)
vdString := respParsed.Path("data").String()
json.Unmarshal([]byte(vdString), &vData)
if r.Success {
var vd VehicleData
err = json.Unmarshal(r.Data, &vd)
if err != nil {
c.logger.Error("error while parsing json", "request", "GetClimatePresets", "error", err.Error())
}
c.logger.Debug("http request output", "request", "GetVehicleStatus", "body", resp)
return vd
} else {
return VehicleData{}
}
// resp := c.execute(reqURL, GET, params, "", false)
// logger.Debugf("SELECT VEHICLE OUTPUT >> %v\n", string([]byte(resp)))
@ -309,7 +319,6 @@ func (c *Client) SelectVehicle(vin string) VehicleData {
// # Something else is probably wrong with the backend server context - try resetting
// self.reset_session()
// raise SubaruException("Failed to switch vehicle %s - resetting session." % js_resp.get("errorCode"))
return vData
}
// GetVehicles .
@ -321,8 +330,9 @@ func (c *Client) GetVehicles() []*Vehicle {
"_": timestamp()}
reqURL := MOBILE_API_VERSION + apiURLs["API_SELECT_VEHICLE"]
resp := c.execute(reqURL, GET, params, "", false)
c.logger.Debug("http request output", "request", "GetVehicles", "body", resp)
respParsed, err := gabs.ParseJSON([]byte(resp))
respParsed, err := gabs.ParseJSON(resp)
if err != nil {
c.logger.Error("error while parsing json", "request", "GetVehicles", "error", err.Error())
}
@ -333,9 +343,6 @@ func (c *Client) GetVehicles() []*Vehicle {
json.Unmarshal([]byte(vdString), &vData)
// fmt.Printf("VEHICLE STRING: %+v\n\n", vdString)
// fmt.Printf("VEHICLE DATA: %+v\n\n", vData)
vehicle := &Vehicle{
Vin: vin,
CarName: vData.VehicleName,

View File

@ -285,6 +285,10 @@ type ErrorResponse struct {
// startConfiguration: [ START_CLIMATE_CONTROL_ONLY_ALLOW_KEY_IN_IGNITION | START_ENGINE_ALLOW_KEY_IN_IGNITION ]
// runTimeMinutes: [ 10 ]
type VehicleHealth struct {
VehicleHealthItems []VehicleHealthItem `json:"vehicleHealthItems"`
LastUpdatedDate int64 `json:"lastUpdatedDate"`
}
type VehicleHealthItem struct {
B2cCode string `json:"b2cCode"`
FeatureCode string `json:"featureCode"`

View File

@ -8,8 +8,6 @@ import (
"strconv"
"strings"
"time"
"github.com/Jeffail/gabs/v2"
)
var parts = map[string]map[string][]string{
@ -961,12 +959,19 @@ func (v *Vehicle) GetVehicleHealth() {
}
if r.Success {
_, err := gabs.ParseJSON(resp)
var vh VehicleHealth
err = json.Unmarshal(r.Data, &vh)
if err != nil {
v.client.logger.Error("error while parsing json", "request", "GetVehicleHealth", "error", err.Error())
}
// TODO:
v.client.logger.Debug("http request output", "request", "GetVehicleHealth", "body", resp)
// TODO: Loop over all the Vehicle Health Items
} else {
v.client.logger.Error("active STARLINK Security Plus subscription required")
}
}
// // GetClimateSettings .