From 683352eb64e49b4214b60eb2f8eb5e48baf01e2f Mon Sep 17 00:00:00 2001 From: Christian Traber Date: Fri, 3 Jan 2020 12:33:30 +0100 Subject: [PATCH] added usable_battery_level and projected range to summary view --- .gitignore | 6 ++++- lib/teslamate/vehicles/vehicle/summary.ex | 3 ++- .../templates/car/summary.html.leex | 26 ++++++++++++++++++- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index fceee9a2..e1df6955 100644 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,8 @@ conf/wizzy.json # Make sure IDE files don't get committed to the repo .idea/ -.eclipse/ \ No newline at end of file +.eclipse/ + +# other stuff created by my build env?! +.elixir_ls/ +assets/package-lock.json \ No newline at end of file diff --git a/lib/teslamate/vehicles/vehicle/summary.ex b/lib/teslamate/vehicles/vehicle/summary.ex index 1aa57d47..fdc19f55 100644 --- a/lib/teslamate/vehicles/vehicle/summary.ex +++ b/lib/teslamate/vehicles/vehicle/summary.ex @@ -5,7 +5,7 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do alias TeslaApi.Vehicle defstruct ~w( - car display_name state since healthy latitude longitude heading battery_level + car display_name state since healthy latitude longitude heading battery_level usable_battery_level ideal_battery_range_km est_battery_range_km rated_battery_range_km charge_energy_added speed outside_temp inside_temp is_climate_on is_preconditioning locked sentry_mode plugged_in scheduled_charging_start_time charge_limit_soc charger_power windows_open @@ -47,6 +47,7 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do # Charge State plugged_in: plugged_in(vehicle), battery_level: charge(vehicle, :battery_level), + usable_battery_level: charge(vehicle, :usable_battery_level), charge_energy_added: charge(vehicle, :charge_energy_added), charge_limit_soc: charge(vehicle, :charge_limit_soc), charge_port_door_open: charge(vehicle, :charge_port_door_open), diff --git a/lib/teslamate_web/templates/car/summary.html.leex b/lib/teslamate_web/templates/car/summary.html.leex index 182bf7d8..a774e921 100644 --- a/lib/teslamate_web/templates/car/summary.html.leex +++ b/lib/teslamate_web/templates/car/summary.html.leex @@ -158,7 +158,31 @@ <%= unless is_nil(@summary.battery_level) do %> <%= gettext "State of Charge" %> - <%= @summary.battery_level %>% + <%= @summary.battery_level %>% (<%= + + if @settings.unit_of_length == :mi do + "#{Float.round(@summary.rated_battery_range_km/@summary.battery_level * 100 / 1.60934, 2)} mi" + else + "#{Float.round(@summary.rated_battery_range_km/@summary.battery_level * 100,2)} km" + end + + #Float.round(@summary.rated_battery_range_km/@summary.battery_level * 100,0) + %> at 100%) + + <% end %> + <%= unless is_nil(@summary.usable_battery_level) do %> + + <%= gettext "Usable State of Charge" %> + <%= @summary.usable_battery_level %>% (<%= + + if @settings.unit_of_length == :mi do + "#{Float.round(@summary.rated_battery_range_km/@summary.usable_battery_level * 100 / 1.60934, 2)} mi" + else + "#{Float.round(@summary.rated_battery_range_km/@summary.usable_battery_level * 100,2)} km" + end + + # Float.round(@summary.rated_battery_range_km/@summary.usable_battery_level * 100,0) + %> at 100%) <% end %> <%= if @summary.state == :driving and not is_nil(@summary.speed) do %>