From 11ec0163db3d6f72f02bcbffb1cc301623acb623 Mon Sep 17 00:00:00 2001 From: Seth Terashima Date: Wed, 8 May 2024 15:54:01 -0700 Subject: [PATCH 1/2] Linter fix: Error should be lowercase --- pkg/proxy/proxy.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proxy/proxy.go b/pkg/proxy/proxy.go index 19254290..28a88855 100644 --- a/pkg/proxy/proxy.go +++ b/pkg/proxy/proxy.go @@ -296,7 +296,7 @@ func (p *Proxy) loadVehicleAndCommandFromRequest(ctx context.Context, acct *acco log.Debug("Executing %s on %s", command, vin) if req.Method != http.MethodPost { writeJSONError(w, http.StatusMethodNotAllowed, nil) - return nil, nil, fmt.Errorf("Wrong http method") + return nil, nil, fmt.Errorf("wrong http method") } commandToExecuteFunc, err := extractCommandAction(ctx, req, command) From 5ac2ba7082782ea98ab7fdb64e1808d1512f1085 Mon Sep 17 00:00:00 2001 From: Seth Terashima Date: Wed, 8 May 2024 15:54:24 -0700 Subject: [PATCH 2/2] tesla-http-proxy: Fix remote_auto_steering_wheel_heat_climate_request --- pkg/proxy/command.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkg/proxy/command.go b/pkg/proxy/command.go index 9c24e493..19e209ef 100644 --- a/pkg/proxy/command.go +++ b/pkg/proxy/command.go @@ -72,11 +72,13 @@ func ExtractCommandAction(ctx context.Context, command string, params RequestPar return func(v *vehicle.Vehicle) error { return v.SetSeatHeater(ctx, setting) }, nil case "remote_auto_seat_climate_request": - level, seat, err := params.settingForAutoSeatPosition() + seat, enabled, err := params.settingForAutoSeatPosition() if err != nil { return nil, err } - return func(v *vehicle.Vehicle) error { return v.SetSeatCooler(ctx, level, seat) }, nil + return func(v *vehicle.Vehicle) error { + return v.AutoSeatAndClimate(ctx, []vehicle.SeatPosition{seat}, enabled) + }, nil case "remote_steering_wheel_heater_request": on, err := params.getBool("on", true) if err != nil { @@ -471,11 +473,15 @@ func (p RequestParameters) settingForCoolerSeatPosition() (vehicle.Level, vehicl return vehicle.Level(level - 1), seat, nil } -// Note: The API uses 0-3 -func (p RequestParameters) settingForAutoSeatPosition() (vehicle.Level, vehicle.SeatPosition, error) { +func (p RequestParameters) settingForAutoSeatPosition() (vehicle.SeatPosition, bool, error) { position, err := p.getNumber("auto_seat_position", true) if err != nil { - return 0, 0, err + return 0, false, err + } + + enabled, err := p.getBool("auto_climate_on", true) + if err != nil { + return 0, false, err } var seat vehicle.SeatPosition @@ -488,12 +494,7 @@ func (p RequestParameters) settingForAutoSeatPosition() (vehicle.Level, vehicle. seat = vehicle.SeatUnknown } - level, err := p.getNumber("seat_position", true) - if err != nil { - return 0, 0, err - } - - return vehicle.Level(level - 1), seat, nil + return seat, enabled, nil } func missingParamError(key string) error {