From 5ed9131e1fb572f97fd4c097d894e92f63f2a3b2 Mon Sep 17 00:00:00 2001 From: Adrian Kumpf Date: Thu, 3 Dec 2020 22:29:59 +0100 Subject: [PATCH] Determine if the car is plugged in (cold weather) Addresses #1060 --- lib/teslamate/vehicles/vehicle/summary.ex | 12 +++++++----- mix.exs | 2 +- .../controllers/car_controller_test.exs | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/teslamate/vehicles/vehicle/summary.ex b/lib/teslamate/vehicles/vehicle/summary.ex index 250b504f..1f81368d 100644 --- a/lib/teslamate/vehicles/vehicle/summary.ex +++ b/lib/teslamate/vehicles/vehicle/summary.ex @@ -127,13 +127,15 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do defp plugged_in(%Vehicle{vehicle_state: nil}), do: nil defp plugged_in(%Vehicle{charge_state: %Charge{charge_port_door_open: :unknown}}), do: :unknown - defp plugged_in(%Vehicle{ - charge_state: %Charge{charge_port_latch: "Engaged", charge_port_door_open: true} - }) do - true + defp plugged_in(%Vehicle{charge_state: %Charge{charge_port_cold_weather_mode: false} = c}) do + c.charge_port_latch == "Engaged" and c.charge_port_door_open end - defp plugged_in(_vehicle), do: false + defp plugged_in(%Vehicle{charge_state: %Charge{charge_port_cold_weather_mode: true} = c}) do + c.charging_state != "Disconnected" + end + + defp plugged_in(_vehicle), do: nil defp window_open(%Vehicle{vehicle_state: vehicle_state}) do case vehicle_state do diff --git a/mix.exs b/mix.exs index 5574dc23..b7561d4a 100644 --- a/mix.exs +++ b/mix.exs @@ -73,7 +73,7 @@ defmodule TeslaMate.MixProject do ] end - defp releases() do + defp releases do [ teslamate: [ include_executables_for: [:unix], diff --git a/test/teslamate_web/controllers/car_controller_test.exs b/test/teslamate_web/controllers/car_controller_test.exs index 1f9bf189..39e635b0 100644 --- a/test/teslamate_web/controllers/car_controller_test.exs +++ b/test/teslamate_web/controllers/car_controller_test.exs @@ -208,6 +208,7 @@ defmodule TeslaMateWeb.CarControllerTest do charge_energy_added: "4.32", charge_port_latch: "Engaged", charge_port_door_open: true, + charge_port_cold_weather_mode: false, scheduled_charging_start_time: 1_565_620_707, charge_limit_soc: 85, time_to_full_charge: 1.83