From 6815945ba125b07bb835b508ad16861f959d2c84 Mon Sep 17 00:00:00 2001 From: Stephen Walker Date: Mon, 20 May 2024 07:00:06 -0400 Subject: [PATCH 01/61] Statistics: fix temperature colors and column layout for Fahrenheit (#3854) Add the missing temperature color thresholds when using Fahrenheit Use the same index value for the temperature column so the layout is the same with Fahrenheit or Celsius --- grafana/dashboards/statistics.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/grafana/dashboards/statistics.json b/grafana/dashboards/statistics.json index f4945bfedc..c61b01d94a 100644 --- a/grafana/dashboards/statistics.json +++ b/grafana/dashboards/statistics.json @@ -433,7 +433,34 @@ { "id": "unit", "value": "fahrenheit" + }, + { + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "super-light-blue", + "value": null + }, + { + "color": "super-light-green", + "value": 50 + }, + { + "color": "super-light-red", + "value": 68 + } + ] + } } + ] }, { @@ -727,6 +754,7 @@ "avg_cost_mi": 20, "avg_cost_kwh": 11, "avg_outside_temp_c": 5, + "avg_outside_temp_f": 5, "cnt": 6, "cnt_charges": 11, "cost_charges": 10, From e2c3bff38993cada57821a4cdd694f939a5945c1 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 13:01:03 +0200 Subject: [PATCH 02/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index feeb4f5dba..da881a2ea1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - Statistics: Add max value for efficiency thresholds (#3852 - @sdwalker) - Add average cost per kWh for AC and DC as separate values (#3841 -@woyteck1) - Update statistics.json: timezone issues addressed (#3862 - @DrMichael) +- Statistics: fix temperature colors and column layout for Fahrenheit (#3854 - @sdwalker) #### Translations From 263f207dc91bc50171878bc0c442adfe008823c7 Mon Sep 17 00:00:00 2001 From: jlestel Date: Mon, 20 May 2024 13:11:13 +0200 Subject: [PATCH 03/61] Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866) * feat: endpoints by env * fix: typo * fix: useless env * fix: format * fix: distinct auth domain and url * format * fix: force issuer url if needed * feat: new streaming based on vin * fix refresh * revert * up * feat: no need for access token / refresh token if the TOKEN env var is present * feat: update login if token env var exists * feat: add ENV var to allow insecure wss * fix: remove TESLA_CN * fix(naming): TESLA_API_URL to TESLA_API_DOMAIN * feat: add an env var to allo invalid certs on WSS * doc: add API domains env vars description * fix: typo * feat: add env var to change log level * fix: APP_LOG_LEVEL * feat: add TOKEN documention and wording * fix: refacto insecure param * feat: naming and doc * fix: missing env var usage --------- Co-authored-by: Julien --- lib/tesla_api/auth.ex | 23 +++- lib/tesla_api/auth/refresh.ex | 11 +- lib/tesla_api/stream.ex | 13 +- lib/tesla_api/vehicle.ex | 23 ++-- lib/teslamate/http.ex | 2 +- lib/teslamate/vehicles/vehicle.ex | 9 +- lib/teslamate_web/live/signin_live/index.ex | 4 +- .../live/signin_live/index.html.heex | 112 +++++++++++------- priv/gettext/da/LC_MESSAGES/default.po | 23 ++-- priv/gettext/de/LC_MESSAGES/default.po | 23 ++-- priv/gettext/default.pot | 23 ++-- priv/gettext/en/LC_MESSAGES/default.po | 23 ++-- priv/gettext/es/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fi/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/it/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ja/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ko/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nb/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nl/LC_MESSAGES/default.po | 23 ++-- priv/gettext/sv/LC_MESSAGES/default.po | 23 ++-- priv/gettext/th/LC_MESSAGES/default.po | 23 ++-- priv/gettext/tr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/uk/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hans/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hant/LC_MESSAGES/default.po | 23 ++-- .../configuration/environment_variables.md | 69 ++++++----- 27 files changed, 423 insertions(+), 257 deletions(-) diff --git a/lib/tesla_api/auth.ex b/lib/tesla_api/auth.ex index dbb684454b..e045710b6d 100644 --- a/lib/tesla_api/auth.ex +++ b/lib/tesla_api/auth.ex @@ -18,7 +18,7 @@ defmodule TeslaApi.Auth do adapter Tesla.Adapter.Finch, name: TeslaMate.HTTP, receive_timeout: 60_000 plug TeslaApi.Middleware.FollowRedirects, except: [@redirect_uri] - plug Tesla.Middleware.BaseUrl, "https://auth.tesla.com" + plug Tesla.Middleware.BaseUrl, System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") plug Tesla.Middleware.Headers, @default_headers plug Tesla.Middleware.JSON plug Tesla.Middleware.Logger, debug: true, log_level: &log_level/1 @@ -56,9 +56,24 @@ defmodule TeslaApi.Auth do end end - defp derive_issuer_url_from_oat("qts-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} - defp derive_issuer_url_from_oat("eu-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} - defp derive_issuer_url_from_oat("cn-" <> _), do: {:ok, "https://auth.tesla.cn/oauth2/v3"} + defp derive_issuer_url_from_oat("qts-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + + defp derive_issuer_url_from_oat("eu-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + + defp derive_issuer_url_from_oat("cn-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + defp derive_issuer_url_from_oat(_), do: :error defp decode_jwt_payload(jwt) do diff --git a/lib/tesla_api/auth/refresh.ex b/lib/tesla_api/auth/refresh.ex index c31f8ae978..ea998c4b0f 100644 --- a/lib/tesla_api/auth/refresh.ex +++ b/lib/tesla_api/auth/refresh.ex @@ -6,7 +6,11 @@ defmodule TeslaApi.Auth.Refresh do @web_client_id TeslaApi.Auth.web_client_id() def refresh(%Auth{} = auth) do - issuer_url = Auth.issuer_url(auth) + issuer_url = System.get_env("TESLA_AUTH_HOST", "") <> System.get_env("TESLA_AUTH_PATH", "") + + if issuer_url == "" do + ^issuer_url = Auth.issuer_url(auth) + end data = %{ grant_type: "refresh_token", @@ -15,7 +19,10 @@ defmodule TeslaApi.Auth.Refresh do refresh_token: auth.refresh_token } - case post("#{issuer_url}/token", data) do + case post( + "#{issuer_url}/token" <> System.get_env("TOKEN", ""), + data + ) do {:ok, %Tesla.Env{status: 200, body: body}} -> auth = %Auth{ token: body["access_token"], diff --git a/lib/tesla_api/stream.ex b/lib/tesla_api/stream.ex index 6d9fbd9c81..ac420b96dc 100644 --- a/lib/tesla_api/stream.ex +++ b/lib/tesla_api/stream.ex @@ -32,8 +32,15 @@ defmodule TeslaApi.Stream do endpoint_url = case Auth.region(state.auth) do - :chinese -> "wss://streaming.vn.cloud.tesla.cn/streaming/" - _global -> "wss://streaming.vn.teslamotors.com/streaming/" + :chinese -> + System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.cloud.tesla.cn") <> + "/streaming/" <> + System.get_env("TOKEN", "") + + _global -> + System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.teslamotors.com") <> + "/streaming/" <> + System.get_env("TOKEN", "") end WebSockex.start_link(endpoint_url, __MODULE__, state, @@ -41,7 +48,7 @@ defmodule TeslaApi.Stream do socket_recv_timeout: :timer.seconds(30), name: :"stream_#{state.vehicle_id}", cacerts: @cacerts, - insecure: false, + insecure: System.get_env("TESLA_WSS_TLS_ACCEPT_INVALID_CERTS", "") == "true", async: true ) end diff --git a/lib/tesla_api/vehicle.ex b/lib/tesla_api/vehicle.ex index 3f24fcd252..069f1fe6f5 100644 --- a/lib/tesla_api/vehicle.ex +++ b/lib/tesla_api/vehicle.ex @@ -25,33 +25,38 @@ defmodule TeslaApi.Vehicle do def list(%Auth{} = auth) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/products", opts: [access_token: auth.token]) + TeslaApi.get(endpoint_url <> "/api/1/products" <> System.get_env("TOKEN", ""), + opts: [access_token: auth.token] + ) |> handle_response(transform: &list_result/1) end def get(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}", opts: [access_token: auth.token]) + TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}" <> System.get_env("TOKEN", ""), + opts: [access_token: auth.token] + ) |> handle_response(transform: &result/1) end def get_with_state(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data", + TeslaApi.get( + endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data" <> System.get_env("TOKEN", ""), query: [ endpoints: "charge_state;climate_state;closures_state;drive_state;gui_settings;location_data;vehicle_config;vehicle_state;vehicle_data_combo" diff --git a/lib/teslamate/http.ex b/lib/teslamate/http.ex index e75132ea40..4b5dc3cfb8 100644 --- a/lib/teslamate/http.ex +++ b/lib/teslamate/http.ex @@ -1,6 +1,6 @@ defmodule TeslaMate.HTTP do @pools %{ - "https://owner-api.teslamotors.com" => [size: 10], + System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") => [size: 10], "https://nominatim.openstreetmap.org" => [size: 3], "https://api.github.com" => [size: 1], :default => [size: 5] diff --git a/lib/teslamate/vehicles/vehicle.ex b/lib/teslamate/vehicles/vehicle.ex index 40c660f4e1..a3e05c2a14 100644 --- a/lib/teslamate/vehicles/vehicle.ex +++ b/lib/teslamate/vehicles/vehicle.ex @@ -1587,8 +1587,15 @@ defmodule TeslaMate.Vehicles.Vehicle do me = self() + id = + if System.get_env("TESLA_WSS_USE_VIN") do + data.car.vin + else + data.car.vid + end + call(data.deps.api, :stream, [ - data.car.vid, + id, fn stream_data -> send(me, {:stream, stream_data}) end ]) end diff --git a/lib/teslamate_web/live/signin_live/index.ex b/lib/teslamate_web/live/signin_live/index.ex index 647215f03d..d66d43fd2a 100644 --- a/lib/teslamate_web/live/signin_live/index.ex +++ b/lib/teslamate_web/live/signin_live/index.ex @@ -13,7 +13,9 @@ defmodule TeslaMateWeb.SignInLive.Index do page_title: gettext("Sign in"), error: nil, task: nil, - changeset: Auth.change_tokens() + changeset: Auth.change_tokens(), + token: System.get_env("TOKEN", ""), + provider: System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") } {:ok, assign(socket, assigns)} diff --git a/lib/teslamate_web/live/signin_live/index.html.heex b/lib/teslamate_web/live/signin_live/index.html.heex index 18ff1a5eee..4d750b15ca 100644 --- a/lib/teslamate_web/live/signin_live/index.html.heex +++ b/lib/teslamate_web/live/signin_live/index.html.heex @@ -14,37 +14,56 @@ <% end %> -
- <%= label(f, :access, gettext("Access Token"), class: "label") %> -
- <%= text_input(f, :access, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - + <%= if @token == "" do %> +
+ <%= label(f, :access, gettext("Access Token"), class: "label") %> +
+ <%= text_input(f, :access, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task + ) %> + + + +
-
-
- <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> -
- <%= text_input(f, :refresh, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - +
+ <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> +
+ <%= text_input(f, :refresh, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task + ) %> + + + +
-
+ <% else %> +

+ <% provider_link = + link(@provider, + to: @provider, + target: "_blank", + rel: "noopener noreferrer" + ) %> + + <%= raw( + gettext( + "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming.", + token: @token, + url: safe_to_string(provider_link) + ) + ) %> +

+ <% end %>
@@ -56,27 +75,34 @@ "is-link", if(!!@task, do: "is-loading") ], - disabled: !@changeset.valid?, + disabled: + if @token == "" do + !@changeset.valid? + else + false + end, phx_disable_with: gettext("Saving...") ) %>
-

- <% here_link = - link(gettext("here"), - to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", - target: "_blank", - rel: "noopener noreferrer" - ) %> + <%= if @token == "" do %> +

+ <% here_link = + link(gettext("here"), + to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", + target: "_blank", + rel: "noopener noreferrer" + ) %> - <%= raw( - gettext( - "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", - here: safe_to_string(here_link) - ) - ) %> -

+ <%= raw( + gettext( + "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", + here: safe_to_string(here_link) + ) + ) %> +

+ <% end %>
diff --git a/priv/gettext/da/LC_MESSAGES/default.po b/priv/gettext/da/LC_MESSAGES/default.po index df98b8ff59..80bcac9c21 100644 --- a/priv/gettext/da/LC_MESSAGES/default.po +++ b/priv/gettext/da/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Gem" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Gemmer..." @@ -194,7 +194,7 @@ msgstr "Tid indtil forsøg på at sove" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Logget ind" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log ind" @@ -575,32 +575,32 @@ msgstr "Softwareopdatering tilgængelig (%{version})" msgid "Sign out" msgstr "Log Ud" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index 894ca335a3..b83e6b8ce4 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Speichern" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichere..." @@ -194,7 +194,7 @@ msgstr "Dauer des Schlafversuchs" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Erfolgreich angemeldet" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zeitzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Anmelden" @@ -575,32 +575,32 @@ msgstr "Software Update verfügbar (%{version})" msgid "Sign out" msgstr "Abmelden" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens sind ungültig" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Der Abruf von Tokens über die Tesla-API erfordert Programmierkenntnisse oder einen Drittanbieterdienst. Informationen dazu sind %{here} verfügbar." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "hier" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Dein Tesla-Konto ist aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt. Um das Konto zu entsperren, setze dein Kennwort zurück" @@ -654,3 +654,8 @@ msgstr "Hundemodus ist aktiviert" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Erwartete Endzeit" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index fd05e6bcf0..bac92fc06a 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 6d5e1daa50..cd5b54a813 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index 2348c96f5c..5aa1471f43 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Guardar" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Guardando..." @@ -194,7 +194,7 @@ msgstr "Duración del intento de reposo" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Sesión iniciada correctamente" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zona horaria" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Iniciar sesión" @@ -575,32 +575,32 @@ msgstr "Actualización de software disponible (%{version})" msgid "Sign out" msgstr "Cerrar Sesión" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Token de acceso" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Token de renovación" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens no válidos" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "La generación de tokens por medio del API de Tesla requiere habilidades de programación, o un servicio proporcionado por terceros. Se puede encontrar más información %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "aquí" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Su cuenta de Tesla se ha bloqueado por demasiados intentos fallidos de inicio de sesión. Para desbloquearla debe crear una nueva contraseña." @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 06f871cafe..4ef4682e38 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Tallenna" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Tallentaa..." @@ -194,7 +194,7 @@ msgstr "Lepotilaan menon kesto" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Kirjauduttu sisään onnistuneesti" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Aikavyöhyke" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Kirjaudu sisään" @@ -575,32 +575,32 @@ msgstr "Päivitys saatavilla (%{version})" msgid "Sign out" msgstr "Kirjaudu ulos" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 0a4b2e6e60..1024621acd 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Enregistrer" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Enregistrement..." @@ -194,7 +194,7 @@ msgstr "Temps avant d'essayer de dormir" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Connecté avec succès" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuseau horaire" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Connexion" @@ -575,32 +575,32 @@ msgstr "Mise à jour disponible (%{version})" msgid "Sign out" msgstr "Déconnexion" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Jeton d'accès" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Jeton d'actualisation" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Les jetons ne sont pas valides" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "L'obtention de jetons via l'API Tesla nécessite une expérience de programmation ou un service tiers. Les informations peuvent être trouvées %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ici" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Votre compte Tesla est verrouillé en raison d'un trop grand nombre de tentatives de connexion infructueuses. Pour déverrouiller votre compte, réinitialisez votre mot de passe" @@ -654,3 +654,8 @@ msgstr "Le Mode Chien est actif" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Fin de charge estimée" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index 89a69c82f2..b77d4c1a0c 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Salva" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Salvataggio..." @@ -194,7 +194,7 @@ msgstr "Tempo prima di provare a dormire" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Accesso effettuato" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuso orario" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Accedi" @@ -575,32 +575,32 @@ msgstr "Aggiornamento disponibile (%{version})" msgid "Sign out" msgstr "Uscire" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Token non validi" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Ottenre i token tramite le API Tesla richede esperienza nel campo della programmazione o un servizio ti terze parti. Si possono trovare maggiori informazioni %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "qui" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Il tuo account Tesla è bloccato a causa di troppi tentativi di accesso. Per sbloccare il tuo account, esegui il reset della tua password" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index 42aab74b5d..2facc3c3de 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中…" @@ -194,7 +194,7 @@ msgstr "スリープ実行時間" msgid "min" msgstr "分" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "サインイン成功" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "タイムゾーン" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "サインイン" @@ -575,32 +575,32 @@ msgstr "ソフトウェアアップデートが可能です (%{version})" msgid "Sign out" msgstr "サインアウト" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "トークンが無効です" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla APIを介してトークンを取得するには、プログラミングの経験またはサードパーティのサービスが必要です。 情報は %{here} にあります" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ここ" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "サインインの試行に失敗した回数が多すぎるため、Teslaアカウントがロックされています。 アカウントのロックを解除するには、パスワードをリセットしてください" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/ko/LC_MESSAGES/default.po b/priv/gettext/ko/LC_MESSAGES/default.po index 19eb8bc368..ed6182b57e 100644 --- a/priv/gettext/ko/LC_MESSAGES/default.po +++ b/priv/gettext/ko/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "저장" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "저장 중..." @@ -194,7 +194,7 @@ msgstr "절전 시도 시간" msgid "min" msgstr "분" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "로그인 성공" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "시간대" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "로그인" @@ -575,32 +575,32 @@ msgstr "소프트웨어 업데이트 가능 (%{version})" msgid "Sign out" msgstr "로그아웃" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "엑세스 토큰" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "리프레시 토큰" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "토큰이 잘못되었습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla API 토큰을 얻으러면 프로그래밍 경험이나 서드파티 서비스가 필요합니다. 관련된 정보는 %{here}에서 찾을 수 있습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "이곳" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "너무 많은 로그인 실패로 Tesla 계정이 잠겼습니다. 계정 잠금을 해제하려면 비밀번호를 재설정하세요." @@ -654,3 +654,8 @@ msgstr "애견 모드가 켜져있습니다." #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "예상 종료 시간" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/nb/LC_MESSAGES/default.po b/priv/gettext/nb/LC_MESSAGES/default.po index 726ae53328..5de40a686c 100644 --- a/priv/gettext/nb/LC_MESSAGES/default.po +++ b/priv/gettext/nb/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "Lagre" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Lagrer..." @@ -195,7 +195,7 @@ msgstr "Tid for forsøk på dvale" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Innlogget" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Tidssone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logg inn" @@ -576,32 +576,32 @@ msgstr "Ny software tilgjengelig (%{version})" msgid "Sign out" msgstr "Logg ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -655,3 +655,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index cf9974846c..7c9bc0c91d 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Opslaan" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Opslaan..." @@ -194,7 +194,7 @@ msgstr "Tijd om te proberen te slapen" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Succesvol ingelogd" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tijdzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log in" @@ -575,32 +575,32 @@ msgstr "Software-update beschikbaar (%{version})" msgid "Sign out" msgstr "Uitloggen" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index fafc5abaad..bb32a7a9f0 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Spara" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Sparar..." @@ -194,7 +194,7 @@ msgstr "Tid för försök att gå ner i vila" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Inloggad" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszon" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logga in" @@ -575,32 +575,32 @@ msgstr "Mjukvaruuppdatering tillgänglig (%{version})" msgid "Sign out" msgstr "Logga ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Åtkomsttoken" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Uppdatera token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens är ogiltiga" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "För att få tokens via Tesla API krävs programmeringserfarenhet eller en tredjeparts tjänst. Information finns %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "här" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ditt Tesla-konto är låst på grund av för många misslyckade inloggningsförsök. Återställ ditt lösenord för att låsa upp ditt konto" @@ -654,3 +654,8 @@ msgstr "Hundläge är aktiverad" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Förväntad sluttid" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/th/LC_MESSAGES/default.po b/priv/gettext/th/LC_MESSAGES/default.po index 09ad25928f..e0f2c387ce 100644 --- a/priv/gettext/th/LC_MESSAGES/default.po +++ b/priv/gettext/th/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "บันทึก" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "กำลังบันทึก..." @@ -194,7 +194,7 @@ msgstr "จำนวนครั้งที่รถพยายามเข้ msgid "min" msgstr "นาที" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "ลงชื่อเข้าใช้เรียบร้อย" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "เขตเวลา" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "เข้าสู่ระบบ" @@ -574,32 +574,32 @@ msgstr "มีการอัปเดตซอฟต์แวร์ (%{version} msgid "Sign out" msgstr "ออกจากระบบ" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "โทเค็นการเข้าถึง" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "รีเฟรชโทเค็น" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "โทเค็นไม่ถูกต้อง" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "การได้รับโทเค็นผ่าน Tesla API ต้องใช้ประสบการณ์การเขียนโปรแกรมหรือบริการของบุคคลที่สาม ข้อมูลสามารถพบได้ที่ %{here}" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ที่นี่" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "บัญชี Tesla ของคุณถูกล็อคเนื่องจากการพยายามลงชื่อเข้าใช้ที่ล้มเหลวหลายครั้งเกินไป หากต้องการปลดล็อคบัญชีของคุณ ให้รีเซ็ตรหัสผ่านของคุณ" @@ -653,3 +653,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/tr/LC_MESSAGES/default.po b/priv/gettext/tr/LC_MESSAGES/default.po index 8f08a0fe0b..046ccea76e 100644 --- a/priv/gettext/tr/LC_MESSAGES/default.po +++ b/priv/gettext/tr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Kaydet" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Kaydediliyor..." @@ -194,7 +194,7 @@ msgstr "Uykuya Dalmayı Deneme Zamanı" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Oturum başarıyla açıldı" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Saat dilimi" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Oturum aç" @@ -575,32 +575,32 @@ msgstr "Yazılım Güncellemesi mevcut (%{version})" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/uk/LC_MESSAGES/default.po b/priv/gettext/uk/LC_MESSAGES/default.po index ee6d4b4253..14787bb62f 100644 --- a/priv/gettext/uk/LC_MESSAGES/default.po +++ b/priv/gettext/uk/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Зберегти" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Зберігаю..." @@ -194,7 +194,7 @@ msgstr "Час до спроби заснути" msgid "min" msgstr "мінімум" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Вхід успішний" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Часовий пояс" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Увійти" @@ -577,32 +577,32 @@ msgstr "Доступне оновлення ПЗ (%{version})" msgid "Sign out" msgstr "Вийти" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Токени не дійсні" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Для отримання токенів через API Tesla вимагає навичок програмування або доступ до інших сервісів. Інформацію можна знайти %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "тут" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ваш аккаунт Тесла заблоковано через дуже велику кількість невдалих спроб входу. Щоб розблокувати свій аккаунт, відновіть свій пароль" @@ -656,3 +656,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/default.po b/priv/gettext/zh_Hans/LC_MESSAGES/default.po index ee67c8eef1..f1f3869203 100644 --- a/priv/gettext/zh_Hans/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hans/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中" @@ -195,7 +195,7 @@ msgstr "尝试进入睡眠用时" msgid "min" msgstr "分钟" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登录成功" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "时区" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登录" @@ -576,32 +576,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "退出登录" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "令牌" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "刷新令牌" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "令牌 无效" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "通过 Tesla API 获得令牌需要有编程经验或者借助第三方服务。更多信息可以查看 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "这里" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帐户因登录尝试失败次数过多而被锁定。要解锁您的帐户,请重置您的密码" @@ -655,3 +655,8 @@ msgstr "爱犬模式已激活" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "预计完成时间" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/zh_Hant/LC_MESSAGES/default.po b/priv/gettext/zh_Hant/LC_MESSAGES/default.po index d34a0fa770..13a9bbf9e0 100644 --- a/priv/gettext/zh_Hant/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hant/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "儲存中" @@ -194,7 +194,7 @@ msgstr "嘗試進入睡眠" msgid "min" msgstr "分鐘" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登入成功" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "時區" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登入" @@ -573,32 +573,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "登出" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "更新Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens無效" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "勾過 Tesla API 獲得Token需要有程式編寫經驗或者藉由第三方服務。更多資訊詳見 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "這裡" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帳號因登入失敗次數過多而被鎖定。要解鎖您的帳戶,請重置您的密碼" @@ -652,3 +652,8 @@ msgstr "寵物模式開啓" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "預計充電完成時間" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/website/docs/configuration/environment_variables.md b/website/docs/configuration/environment_variables.md index d1504f6640..314093371d 100644 --- a/website/docs/configuration/environment_variables.md +++ b/website/docs/configuration/environment_variables.md @@ -6,34 +6,41 @@ sidebar_label: Environment Variables TeslaMate accepts the following environment variables for runtime configuration: -| Variable Name | Description | Default Value | -| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | -| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | -| **DATABASE_USER** | Username (**required**) | | -| **DATABASE_PASS** | User password (**required**) | | -| **DATABASE_NAME** | The database to connect to (**required**) | | -| **DATABASE_HOST** | Hostname of the database server (**required**) | | -| **DATABASE_PORT** | Port of the database server | 5432 | -| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | -| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | -| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | -| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | -| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | -| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | -| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | -| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | -| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | -| **PORT** | Port where the web interface is exposed | 4000 | -| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | -| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | -| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | -| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | -| **MQTT_USERNAME** | Username | | -| **MQTT_PASSWORD** | Password | | -| **MQTT_TLS** | Enables TLS if `true` | false | -| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | -| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | -| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | -| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | -| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | -| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | +| Variable Name | Description | Default Value | +| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | +| **DATABASE_USER** | Username (**required**) | | +| **DATABASE_PASS** | User password (**required**) | | +| **DATABASE_NAME** | The database to connect to (**required**) | | +| **DATABASE_HOST** | Hostname of the database server (**required**) | | +| **DATABASE_PORT** | Port of the database server | 5432 | +| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | +| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | +| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | +| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | +| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | +| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | +| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | +| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | +| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | +| **PORT** | Port where the web interface is exposed | 4000 | +| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | +| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | +| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | +| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | +| **MQTT_USERNAME** | Username | | +| **MQTT_PASSWORD** | Password | | +| **MQTT_TLS** | Enables TLS if `true` | false | +| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | +| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | +| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | +| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | +| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | +| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | +| **TESLA_API_HOST** | Hostname of the Tesla API | https://owner-api.teslamotors.com (or for chinese: https://owner-api.vn.cloud.tesla.cn) | +| **TESLA_AUTH_HOST** | Hostname of the Tesla authentication API | https://auth.tesla.com | +| **TESLA_AUTH_PATH** | The Tesla authentication path | /oauth2/v3 | +| **TESLA_WSS_HOST** | Hostname of the Tesla streaming | wss://streaming.vn.teslamotors.com (or for chinese: wss://streaming.vn.cloud.tesla.cn) | +| **TESLA_WSS_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates on TESLA_WSS_HOST if `true` | | +| **TESLA_WSS_USE_VIN** | Use the `vin` field instead of `vid` to connect stream if `true` | | +| **TOKEN** | Token given by a third party Tesla API provider. This `TOKEN` is added to each API request and the format must be `?token=xxxx-xxxx-xxxx` | | From 28860fb7853659ecf4d6a24918711d903e580f24 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 13:12:23 +0200 Subject: [PATCH 04/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index da881a2ea1..972ff89f37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### New features - Publish extra active_route fields to mqtt output (#3789 - @brianmay) +- Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866 - @jlestel) ### Improvements and bug fixes From 7c95b764582dd1a434e6373adb00118c37ebff50 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 13:17:44 +0200 Subject: [PATCH 05/61] build: release v1.29.0 --- CHANGELOG.md | 17 ++++++++++++++++- VERSION | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 972ff89f37..9c2d037c77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,20 @@ ### New features +### Improvements and bug fixes + +#### Build, CI, internal + +#### Dashboards + +#### Translations + +#### Documentation + +## [1.29.0] - 2024-05-20 + +### New features + - Publish extra active_route fields to mqtt output (#3789 - @brianmay) - Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866 - @jlestel) @@ -1921,7 +1935,8 @@ New users need to sign in via the web interface. ## [1.0.0] - 2019-07-25 -[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.28.5...HEAD +[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.29.0...HEAD +[1.29.0]: https://github.com/teslamate-org/teslamate/compare/v1.28.5...v1.29.0 [1.28.5]: https://github.com/teslamate-org/teslamate/compare/v1.28.4...v1.28.5 [1.28.4]: https://github.com/teslamate-org/teslamate/compare/v1.28.3...v1.28.4 [1.28.3]: https://github.com/teslamate-org/teslamate/compare/v1.28.2...v1.28.3 diff --git a/VERSION b/VERSION index 054c2e16ef..72f3c1dacc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.28.6-dev \ No newline at end of file +1.29.0 \ No newline at end of file From 70ee93a0539bd3c1a9979ec6a708e6526de7b803 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 13:18:38 +0200 Subject: [PATCH 06/61] build: prepare v1.29.1-dev --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 72f3c1dacc..2bc2b22bc0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.29.0 \ No newline at end of file +1.29.1-dev \ No newline at end of file From 10995a3ce529f47dd9f067fd0f4170a8612d1f02 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 14:07:26 +0200 Subject: [PATCH 07/61] Revert "Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866)" This reverts commit 263f207dc91bc50171878bc0c442adfe008823c7. --- lib/tesla_api/auth.ex | 23 +--- lib/tesla_api/auth/refresh.ex | 11 +- lib/tesla_api/stream.ex | 13 +- lib/tesla_api/vehicle.ex | 23 ++-- lib/teslamate/http.ex | 2 +- lib/teslamate/vehicles/vehicle.ex | 9 +- lib/teslamate_web/live/signin_live/index.ex | 4 +- .../live/signin_live/index.html.heex | 112 +++++++----------- priv/gettext/da/LC_MESSAGES/default.po | 23 ++-- priv/gettext/de/LC_MESSAGES/default.po | 23 ++-- priv/gettext/default.pot | 23 ++-- priv/gettext/en/LC_MESSAGES/default.po | 23 ++-- priv/gettext/es/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fi/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/it/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ja/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ko/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nb/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nl/LC_MESSAGES/default.po | 23 ++-- priv/gettext/sv/LC_MESSAGES/default.po | 23 ++-- priv/gettext/th/LC_MESSAGES/default.po | 23 ++-- priv/gettext/tr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/uk/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hans/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hant/LC_MESSAGES/default.po | 23 ++-- .../configuration/environment_variables.md | 69 +++++------ 27 files changed, 257 insertions(+), 423 deletions(-) diff --git a/lib/tesla_api/auth.ex b/lib/tesla_api/auth.ex index e045710b6d..dbb684454b 100644 --- a/lib/tesla_api/auth.ex +++ b/lib/tesla_api/auth.ex @@ -18,7 +18,7 @@ defmodule TeslaApi.Auth do adapter Tesla.Adapter.Finch, name: TeslaMate.HTTP, receive_timeout: 60_000 plug TeslaApi.Middleware.FollowRedirects, except: [@redirect_uri] - plug Tesla.Middleware.BaseUrl, System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") + plug Tesla.Middleware.BaseUrl, "https://auth.tesla.com" plug Tesla.Middleware.Headers, @default_headers plug Tesla.Middleware.JSON plug Tesla.Middleware.Logger, debug: true, log_level: &log_level/1 @@ -56,24 +56,9 @@ defmodule TeslaApi.Auth do end end - defp derive_issuer_url_from_oat("qts-" <> _), - do: - {:ok, - System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> - System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} - - defp derive_issuer_url_from_oat("eu-" <> _), - do: - {:ok, - System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> - System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} - - defp derive_issuer_url_from_oat("cn-" <> _), - do: - {:ok, - System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> - System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} - + defp derive_issuer_url_from_oat("qts-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} + defp derive_issuer_url_from_oat("eu-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} + defp derive_issuer_url_from_oat("cn-" <> _), do: {:ok, "https://auth.tesla.cn/oauth2/v3"} defp derive_issuer_url_from_oat(_), do: :error defp decode_jwt_payload(jwt) do diff --git a/lib/tesla_api/auth/refresh.ex b/lib/tesla_api/auth/refresh.ex index ea998c4b0f..c31f8ae978 100644 --- a/lib/tesla_api/auth/refresh.ex +++ b/lib/tesla_api/auth/refresh.ex @@ -6,11 +6,7 @@ defmodule TeslaApi.Auth.Refresh do @web_client_id TeslaApi.Auth.web_client_id() def refresh(%Auth{} = auth) do - issuer_url = System.get_env("TESLA_AUTH_HOST", "") <> System.get_env("TESLA_AUTH_PATH", "") - - if issuer_url == "" do - ^issuer_url = Auth.issuer_url(auth) - end + issuer_url = Auth.issuer_url(auth) data = %{ grant_type: "refresh_token", @@ -19,10 +15,7 @@ defmodule TeslaApi.Auth.Refresh do refresh_token: auth.refresh_token } - case post( - "#{issuer_url}/token" <> System.get_env("TOKEN", ""), - data - ) do + case post("#{issuer_url}/token", data) do {:ok, %Tesla.Env{status: 200, body: body}} -> auth = %Auth{ token: body["access_token"], diff --git a/lib/tesla_api/stream.ex b/lib/tesla_api/stream.ex index ac420b96dc..6d9fbd9c81 100644 --- a/lib/tesla_api/stream.ex +++ b/lib/tesla_api/stream.ex @@ -32,15 +32,8 @@ defmodule TeslaApi.Stream do endpoint_url = case Auth.region(state.auth) do - :chinese -> - System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.cloud.tesla.cn") <> - "/streaming/" <> - System.get_env("TOKEN", "") - - _global -> - System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.teslamotors.com") <> - "/streaming/" <> - System.get_env("TOKEN", "") + :chinese -> "wss://streaming.vn.cloud.tesla.cn/streaming/" + _global -> "wss://streaming.vn.teslamotors.com/streaming/" end WebSockex.start_link(endpoint_url, __MODULE__, state, @@ -48,7 +41,7 @@ defmodule TeslaApi.Stream do socket_recv_timeout: :timer.seconds(30), name: :"stream_#{state.vehicle_id}", cacerts: @cacerts, - insecure: System.get_env("TESLA_WSS_TLS_ACCEPT_INVALID_CERTS", "") == "true", + insecure: false, async: true ) end diff --git a/lib/tesla_api/vehicle.ex b/lib/tesla_api/vehicle.ex index 069f1fe6f5..3f24fcd252 100644 --- a/lib/tesla_api/vehicle.ex +++ b/lib/tesla_api/vehicle.ex @@ -25,38 +25,33 @@ defmodule TeslaApi.Vehicle do def list(%Auth{} = auth) do endpoint_url = case Auth.region(auth) do - :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") - _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") + :chinese -> "https://owner-api.vn.cloud.tesla.cn" + _global -> "https://owner-api.teslamotors.com" end - TeslaApi.get(endpoint_url <> "/api/1/products" <> System.get_env("TOKEN", ""), - opts: [access_token: auth.token] - ) + TeslaApi.get(endpoint_url <> "/api/1/products", opts: [access_token: auth.token]) |> handle_response(transform: &list_result/1) end def get(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") - _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") + :chinese -> "https://owner-api.vn.cloud.tesla.cn" + _global -> "https://owner-api.teslamotors.com" end - TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}" <> System.get_env("TOKEN", ""), - opts: [access_token: auth.token] - ) + TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}", opts: [access_token: auth.token]) |> handle_response(transform: &result/1) end def get_with_state(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") - _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") + :chinese -> "https://owner-api.vn.cloud.tesla.cn" + _global -> "https://owner-api.teslamotors.com" end - TeslaApi.get( - endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data" <> System.get_env("TOKEN", ""), + TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data", query: [ endpoints: "charge_state;climate_state;closures_state;drive_state;gui_settings;location_data;vehicle_config;vehicle_state;vehicle_data_combo" diff --git a/lib/teslamate/http.ex b/lib/teslamate/http.ex index 4b5dc3cfb8..e75132ea40 100644 --- a/lib/teslamate/http.ex +++ b/lib/teslamate/http.ex @@ -1,6 +1,6 @@ defmodule TeslaMate.HTTP do @pools %{ - System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") => [size: 10], + "https://owner-api.teslamotors.com" => [size: 10], "https://nominatim.openstreetmap.org" => [size: 3], "https://api.github.com" => [size: 1], :default => [size: 5] diff --git a/lib/teslamate/vehicles/vehicle.ex b/lib/teslamate/vehicles/vehicle.ex index a3e05c2a14..40c660f4e1 100644 --- a/lib/teslamate/vehicles/vehicle.ex +++ b/lib/teslamate/vehicles/vehicle.ex @@ -1587,15 +1587,8 @@ defmodule TeslaMate.Vehicles.Vehicle do me = self() - id = - if System.get_env("TESLA_WSS_USE_VIN") do - data.car.vin - else - data.car.vid - end - call(data.deps.api, :stream, [ - id, + data.car.vid, fn stream_data -> send(me, {:stream, stream_data}) end ]) end diff --git a/lib/teslamate_web/live/signin_live/index.ex b/lib/teslamate_web/live/signin_live/index.ex index d66d43fd2a..647215f03d 100644 --- a/lib/teslamate_web/live/signin_live/index.ex +++ b/lib/teslamate_web/live/signin_live/index.ex @@ -13,9 +13,7 @@ defmodule TeslaMateWeb.SignInLive.Index do page_title: gettext("Sign in"), error: nil, task: nil, - changeset: Auth.change_tokens(), - token: System.get_env("TOKEN", ""), - provider: System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") + changeset: Auth.change_tokens() } {:ok, assign(socket, assigns)} diff --git a/lib/teslamate_web/live/signin_live/index.html.heex b/lib/teslamate_web/live/signin_live/index.html.heex index 4d750b15ca..18ff1a5eee 100644 --- a/lib/teslamate_web/live/signin_live/index.html.heex +++ b/lib/teslamate_web/live/signin_live/index.html.heex @@ -14,56 +14,37 @@ <% end %> - <%= if @token == "" do %> -
- <%= label(f, :access, gettext("Access Token"), class: "label") %> -
- <%= text_input(f, :access, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - -
-
- -
- <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> -
- <%= text_input(f, :refresh, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - -
+
+ <%= label(f, :access, gettext("Access Token"), class: "label") %> +
+ <%= text_input(f, :access, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task + ) %> + + +
- <% else %> -

- <% provider_link = - link(@provider, - to: @provider, - target: "_blank", - rel: "noopener noreferrer" - ) %> +

- <%= raw( - gettext( - "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming.", - token: @token, - url: safe_to_string(provider_link) - ) +
+ <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> +
+ <%= text_input(f, :refresh, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task ) %> -

- <% end %> + + + +
+
@@ -75,34 +56,27 @@ "is-link", if(!!@task, do: "is-loading") ], - disabled: - if @token == "" do - !@changeset.valid? - else - false - end, + disabled: !@changeset.valid?, phx_disable_with: gettext("Saving...") ) %>
- <%= if @token == "" do %> -

- <% here_link = - link(gettext("here"), - to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", - target: "_blank", - rel: "noopener noreferrer" - ) %> - - <%= raw( - gettext( - "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", - here: safe_to_string(here_link) - ) +

+ <% here_link = + link(gettext("here"), + to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", + target: "_blank", + rel: "noopener noreferrer" ) %> -

- <% end %> + + <%= raw( + gettext( + "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", + here: safe_to_string(here_link) + ) + ) %> +

diff --git a/priv/gettext/da/LC_MESSAGES/default.po b/priv/gettext/da/LC_MESSAGES/default.po index 80bcac9c21..df98b8ff59 100644 --- a/priv/gettext/da/LC_MESSAGES/default.po +++ b/priv/gettext/da/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Gem" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Gemmer..." @@ -194,7 +194,7 @@ msgstr "Tid indtil forsøg på at sove" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Logget ind" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log ind" @@ -575,32 +575,32 @@ msgstr "Softwareopdatering tilgængelig (%{version})" msgid "Sign out" msgstr "Log Ud" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index b83e6b8ce4..894ca335a3 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Speichern" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichere..." @@ -194,7 +194,7 @@ msgstr "Dauer des Schlafversuchs" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Erfolgreich angemeldet" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zeitzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Anmelden" @@ -575,32 +575,32 @@ msgstr "Software Update verfügbar (%{version})" msgid "Sign out" msgstr "Abmelden" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens sind ungültig" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Der Abruf von Tokens über die Tesla-API erfordert Programmierkenntnisse oder einen Drittanbieterdienst. Informationen dazu sind %{here} verfügbar." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "hier" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Dein Tesla-Konto ist aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt. Um das Konto zu entsperren, setze dein Kennwort zurück" @@ -654,8 +654,3 @@ msgstr "Hundemodus ist aktiviert" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Erwartete Endzeit" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index bac92fc06a..fd05e6bcf0 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index cd5b54a813..6d5e1daa50 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index 5aa1471f43..2348c96f5c 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Guardar" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Guardando..." @@ -194,7 +194,7 @@ msgstr "Duración del intento de reposo" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Sesión iniciada correctamente" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zona horaria" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Iniciar sesión" @@ -575,32 +575,32 @@ msgstr "Actualización de software disponible (%{version})" msgid "Sign out" msgstr "Cerrar Sesión" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Token de acceso" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Token de renovación" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens no válidos" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "La generación de tokens por medio del API de Tesla requiere habilidades de programación, o un servicio proporcionado por terceros. Se puede encontrar más información %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "aquí" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Su cuenta de Tesla se ha bloqueado por demasiados intentos fallidos de inicio de sesión. Para desbloquearla debe crear una nueva contraseña." @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 4ef4682e38..06f871cafe 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Tallenna" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Tallentaa..." @@ -194,7 +194,7 @@ msgstr "Lepotilaan menon kesto" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Kirjauduttu sisään onnistuneesti" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Aikavyöhyke" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Kirjaudu sisään" @@ -575,32 +575,32 @@ msgstr "Päivitys saatavilla (%{version})" msgid "Sign out" msgstr "Kirjaudu ulos" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 1024621acd..0a4b2e6e60 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Enregistrer" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Enregistrement..." @@ -194,7 +194,7 @@ msgstr "Temps avant d'essayer de dormir" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Connecté avec succès" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuseau horaire" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Connexion" @@ -575,32 +575,32 @@ msgstr "Mise à jour disponible (%{version})" msgid "Sign out" msgstr "Déconnexion" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Jeton d'accès" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Jeton d'actualisation" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Les jetons ne sont pas valides" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "L'obtention de jetons via l'API Tesla nécessite une expérience de programmation ou un service tiers. Les informations peuvent être trouvées %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "ici" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Votre compte Tesla est verrouillé en raison d'un trop grand nombre de tentatives de connexion infructueuses. Pour déverrouiller votre compte, réinitialisez votre mot de passe" @@ -654,8 +654,3 @@ msgstr "Le Mode Chien est actif" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Fin de charge estimée" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index b77d4c1a0c..89a69c82f2 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Salva" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Salvataggio..." @@ -194,7 +194,7 @@ msgstr "Tempo prima di provare a dormire" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Accesso effettuato" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuso orario" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Accedi" @@ -575,32 +575,32 @@ msgstr "Aggiornamento disponibile (%{version})" msgid "Sign out" msgstr "Uscire" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Token non validi" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Ottenre i token tramite le API Tesla richede esperienza nel campo della programmazione o un servizio ti terze parti. Si possono trovare maggiori informazioni %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "qui" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Il tuo account Tesla è bloccato a causa di troppi tentativi di accesso. Per sbloccare il tuo account, esegui il reset della tua password" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index 2facc3c3de..42aab74b5d 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中…" @@ -194,7 +194,7 @@ msgstr "スリープ実行時間" msgid "min" msgstr "分" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "サインイン成功" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "タイムゾーン" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "サインイン" @@ -575,32 +575,32 @@ msgstr "ソフトウェアアップデートが可能です (%{version})" msgid "Sign out" msgstr "サインアウト" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "トークンが無効です" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla APIを介してトークンを取得するには、プログラミングの経験またはサードパーティのサービスが必要です。 情報は %{here} にあります" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "ここ" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "サインインの試行に失敗した回数が多すぎるため、Teslaアカウントがロックされています。 アカウントのロックを解除するには、パスワードをリセットしてください" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/ko/LC_MESSAGES/default.po b/priv/gettext/ko/LC_MESSAGES/default.po index ed6182b57e..19eb8bc368 100644 --- a/priv/gettext/ko/LC_MESSAGES/default.po +++ b/priv/gettext/ko/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "저장" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "저장 중..." @@ -194,7 +194,7 @@ msgstr "절전 시도 시간" msgid "min" msgstr "분" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "로그인 성공" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "시간대" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "로그인" @@ -575,32 +575,32 @@ msgstr "소프트웨어 업데이트 가능 (%{version})" msgid "Sign out" msgstr "로그아웃" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "엑세스 토큰" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "리프레시 토큰" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "토큰이 잘못되었습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla API 토큰을 얻으러면 프로그래밍 경험이나 서드파티 서비스가 필요합니다. 관련된 정보는 %{here}에서 찾을 수 있습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "이곳" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "너무 많은 로그인 실패로 Tesla 계정이 잠겼습니다. 계정 잠금을 해제하려면 비밀번호를 재설정하세요." @@ -654,8 +654,3 @@ msgstr "애견 모드가 켜져있습니다." #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "예상 종료 시간" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/nb/LC_MESSAGES/default.po b/priv/gettext/nb/LC_MESSAGES/default.po index 5de40a686c..726ae53328 100644 --- a/priv/gettext/nb/LC_MESSAGES/default.po +++ b/priv/gettext/nb/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "Lagre" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Lagrer..." @@ -195,7 +195,7 @@ msgstr "Tid for forsøk på dvale" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Innlogget" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Tidssone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logg inn" @@ -576,32 +576,32 @@ msgstr "Ny software tilgjengelig (%{version})" msgid "Sign out" msgstr "Logg ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -655,8 +655,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index 7c9bc0c91d..cf9974846c 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Opslaan" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Opslaan..." @@ -194,7 +194,7 @@ msgstr "Tijd om te proberen te slapen" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Succesvol ingelogd" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tijdzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log in" @@ -575,32 +575,32 @@ msgstr "Software-update beschikbaar (%{version})" msgid "Sign out" msgstr "Uitloggen" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index bb32a7a9f0..fafc5abaad 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Spara" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Sparar..." @@ -194,7 +194,7 @@ msgstr "Tid för försök att gå ner i vila" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Inloggad" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszon" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logga in" @@ -575,32 +575,32 @@ msgstr "Mjukvaruuppdatering tillgänglig (%{version})" msgid "Sign out" msgstr "Logga ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Åtkomsttoken" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Uppdatera token" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens är ogiltiga" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "För att få tokens via Tesla API krävs programmeringserfarenhet eller en tredjeparts tjänst. Information finns %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "här" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ditt Tesla-konto är låst på grund av för många misslyckade inloggningsförsök. Återställ ditt lösenord för att låsa upp ditt konto" @@ -654,8 +654,3 @@ msgstr "Hundläge är aktiverad" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Förväntad sluttid" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/th/LC_MESSAGES/default.po b/priv/gettext/th/LC_MESSAGES/default.po index e0f2c387ce..09ad25928f 100644 --- a/priv/gettext/th/LC_MESSAGES/default.po +++ b/priv/gettext/th/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "บันทึก" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "กำลังบันทึก..." @@ -194,7 +194,7 @@ msgstr "จำนวนครั้งที่รถพยายามเข้ msgid "min" msgstr "นาที" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "ลงชื่อเข้าใช้เรียบร้อย" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "เขตเวลา" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "เข้าสู่ระบบ" @@ -574,32 +574,32 @@ msgstr "มีการอัปเดตซอฟต์แวร์ (%{version} msgid "Sign out" msgstr "ออกจากระบบ" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "โทเค็นการเข้าถึง" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "รีเฟรชโทเค็น" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "โทเค็นไม่ถูกต้อง" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "การได้รับโทเค็นผ่าน Tesla API ต้องใช้ประสบการณ์การเขียนโปรแกรมหรือบริการของบุคคลที่สาม ข้อมูลสามารถพบได้ที่ %{here}" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "ที่นี่" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "บัญชี Tesla ของคุณถูกล็อคเนื่องจากการพยายามลงชื่อเข้าใช้ที่ล้มเหลวหลายครั้งเกินไป หากต้องการปลดล็อคบัญชีของคุณ ให้รีเซ็ตรหัสผ่านของคุณ" @@ -653,8 +653,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/tr/LC_MESSAGES/default.po b/priv/gettext/tr/LC_MESSAGES/default.po index 046ccea76e..8f08a0fe0b 100644 --- a/priv/gettext/tr/LC_MESSAGES/default.po +++ b/priv/gettext/tr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Kaydet" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Kaydediliyor..." @@ -194,7 +194,7 @@ msgstr "Uykuya Dalmayı Deneme Zamanı" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Oturum başarıyla açıldı" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Saat dilimi" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Oturum aç" @@ -575,32 +575,32 @@ msgstr "Yazılım Güncellemesi mevcut (%{version})" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,8 +654,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/uk/LC_MESSAGES/default.po b/priv/gettext/uk/LC_MESSAGES/default.po index 14787bb62f..ee6d4b4253 100644 --- a/priv/gettext/uk/LC_MESSAGES/default.po +++ b/priv/gettext/uk/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Зберегти" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Зберігаю..." @@ -194,7 +194,7 @@ msgstr "Час до спроби заснути" msgid "min" msgstr "мінімум" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Вхід успішний" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Часовий пояс" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Увійти" @@ -577,32 +577,32 @@ msgstr "Доступне оновлення ПЗ (%{version})" msgid "Sign out" msgstr "Вийти" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Токени не дійсні" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Для отримання токенів через API Tesla вимагає навичок програмування або доступ до інших сервісів. Інформацію можна знайти %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "тут" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ваш аккаунт Тесла заблоковано через дуже велику кількість невдалих спроб входу. Щоб розблокувати свій аккаунт, відновіть свій пароль" @@ -656,8 +656,3 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/default.po b/priv/gettext/zh_Hans/LC_MESSAGES/default.po index f1f3869203..ee67c8eef1 100644 --- a/priv/gettext/zh_Hans/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hans/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中" @@ -195,7 +195,7 @@ msgstr "尝试进入睡眠用时" msgid "min" msgstr "分钟" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登录成功" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "时区" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登录" @@ -576,32 +576,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "退出登录" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "令牌" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "刷新令牌" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "令牌 无效" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "通过 Tesla API 获得令牌需要有编程经验或者借助第三方服务。更多信息可以查看 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "这里" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帐户因登录尝试失败次数过多而被锁定。要解锁您的帐户,请重置您的密码" @@ -655,8 +655,3 @@ msgstr "爱犬模式已激活" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "预计完成时间" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/priv/gettext/zh_Hant/LC_MESSAGES/default.po b/priv/gettext/zh_Hant/LC_MESSAGES/default.po index 13a9bbf9e0..d34a0fa770 100644 --- a/priv/gettext/zh_Hant/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hant/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:84 +#: lib/teslamate_web/live/signin_live/index.html.heex:60 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "儲存中" @@ -194,7 +194,7 @@ msgstr "嘗試進入睡眠" msgid "min" msgstr "分鐘" -#: lib/teslamate_web/live/signin_live/index.ex:83 +#: lib/teslamate_web/live/signin_live/index.ex:81 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登入成功" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "時區" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:70 +#: lib/teslamate_web/live/signin_live/index.html.heex:51 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登入" @@ -573,32 +573,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "登出" -#: lib/teslamate_web/live/signin_live/index.html.heex:19 +#: lib/teslamate_web/live/signin_live/index.html.heex:18 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:35 +#: lib/teslamate_web/live/signin_live/index.html.heex:34 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "更新Token" -#: lib/teslamate_web/live/signin_live/index.ex:58 +#: lib/teslamate_web/live/signin_live/index.ex:56 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens無效" -#: lib/teslamate_web/live/signin_live/index.html.heex:99 +#: lib/teslamate_web/live/signin_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "勾過 Tesla API 獲得Token需要有程式編寫經驗或者藉由第三方服務。更多資訊詳見 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:92 +#: lib/teslamate_web/live/signin_live/index.html.heex:67 #, elixir-autogen, elixir-format msgid "here" msgstr "這裡" -#: lib/teslamate_web/live/signin_live/index.ex:61 +#: lib/teslamate_web/live/signin_live/index.ex:59 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帳號因登入失敗次數過多而被鎖定。要解鎖您的帳戶,請重置您的密碼" @@ -652,8 +652,3 @@ msgstr "寵物模式開啓" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "預計充電完成時間" - -#: lib/teslamate_web/live/signin_live/index.html.heex:59 -#, elixir-autogen, elixir-format, fuzzy -msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" diff --git a/website/docs/configuration/environment_variables.md b/website/docs/configuration/environment_variables.md index 314093371d..d1504f6640 100644 --- a/website/docs/configuration/environment_variables.md +++ b/website/docs/configuration/environment_variables.md @@ -6,41 +6,34 @@ sidebar_label: Environment Variables TeslaMate accepts the following environment variables for runtime configuration: -| Variable Name | Description | Default Value | -| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | -| **DATABASE_USER** | Username (**required**) | | -| **DATABASE_PASS** | User password (**required**) | | -| **DATABASE_NAME** | The database to connect to (**required**) | | -| **DATABASE_HOST** | Hostname of the database server (**required**) | | -| **DATABASE_PORT** | Port of the database server | 5432 | -| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | -| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | -| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | -| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | -| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | -| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | -| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | -| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | -| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | -| **PORT** | Port where the web interface is exposed | 4000 | -| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | -| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | -| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | -| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | -| **MQTT_USERNAME** | Username | | -| **MQTT_PASSWORD** | Password | | -| **MQTT_TLS** | Enables TLS if `true` | false | -| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | -| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | -| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | -| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | -| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | -| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | -| **TESLA_API_HOST** | Hostname of the Tesla API | https://owner-api.teslamotors.com (or for chinese: https://owner-api.vn.cloud.tesla.cn) | -| **TESLA_AUTH_HOST** | Hostname of the Tesla authentication API | https://auth.tesla.com | -| **TESLA_AUTH_PATH** | The Tesla authentication path | /oauth2/v3 | -| **TESLA_WSS_HOST** | Hostname of the Tesla streaming | wss://streaming.vn.teslamotors.com (or for chinese: wss://streaming.vn.cloud.tesla.cn) | -| **TESLA_WSS_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates on TESLA_WSS_HOST if `true` | | -| **TESLA_WSS_USE_VIN** | Use the `vin` field instead of `vid` to connect stream if `true` | | -| **TOKEN** | Token given by a third party Tesla API provider. This `TOKEN` is added to each API request and the format must be `?token=xxxx-xxxx-xxxx` | | +| Variable Name | Description | Default Value | +| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | +| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | +| **DATABASE_USER** | Username (**required**) | | +| **DATABASE_PASS** | User password (**required**) | | +| **DATABASE_NAME** | The database to connect to (**required**) | | +| **DATABASE_HOST** | Hostname of the database server (**required**) | | +| **DATABASE_PORT** | Port of the database server | 5432 | +| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | +| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | +| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | +| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | +| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | +| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | +| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | +| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | +| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | +| **PORT** | Port where the web interface is exposed | 4000 | +| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | +| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | +| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | +| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | +| **MQTT_USERNAME** | Username | | +| **MQTT_PASSWORD** | Password | | +| **MQTT_TLS** | Enables TLS if `true` | false | +| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | +| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | +| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | +| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | +| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | +| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | From cb488785b18d5d8b39914a0f05806f7a9d858202 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 14:09:34 +0200 Subject: [PATCH 08/61] build: release v1.29.1 --- CHANGELOG.md | 7 ++++++- VERSION | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c2d037c77..a53675fded 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ #### Documentation +## [1.29.1] - 2024-05-20 + +same as 1.29.0 but reverted: "Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866 - @jlestel)" as it was breaking backwards compatibility + ## [1.29.0] - 2024-05-20 ### New features @@ -1935,7 +1939,8 @@ New users need to sign in via the web interface. ## [1.0.0] - 2019-07-25 -[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.29.0...HEAD +[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.29.1...HEAD +[1.29.1]: https://github.com/teslamate-org/teslamate/compare/v1.29.0...v1.29.1 [1.29.0]: https://github.com/teslamate-org/teslamate/compare/v1.28.5...v1.29.0 [1.28.5]: https://github.com/teslamate-org/teslamate/compare/v1.28.4...v1.28.5 [1.28.4]: https://github.com/teslamate-org/teslamate/compare/v1.28.3...v1.28.4 diff --git a/VERSION b/VERSION index 2bc2b22bc0..eaeb2365be 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.29.1-dev \ No newline at end of file +1.29.1 \ No newline at end of file From 0bb527f0111faa60002ff8a03835081b2258a116 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 20 May 2024 14:10:13 +0200 Subject: [PATCH 09/61] build: prepare v1.29.2-dev --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index eaeb2365be..1816bd0182 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.29.1 \ No newline at end of file +1.29.2-dev \ No newline at end of file From 69b0b40a0dd42f4d98face16e6799d3b82119f56 Mon Sep 17 00:00:00 2001 From: JakobLichterfeld Date: Thu, 23 May 2024 11:55:21 +0200 Subject: [PATCH 10/61] doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908) * doc: update backup path location to current directory to work around no write access to placeholder directory issue * doc: update changelog --- CHANGELOG.md | 2 ++ website/docs/maintenance/backup_restore.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a53675fded..13fb02dec2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ #### Documentation +- doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908 - @JakobLichterfeld) + ## [1.29.1] - 2024-05-20 same as 1.29.0 but reverted: "Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3866 - @jlestel)" as it was breaking backwards compatibility diff --git a/website/docs/maintenance/backup_restore.md b/website/docs/maintenance/backup_restore.md index 6c07d3be23..f84899c87d 100644 --- a/website/docs/maintenance/backup_restore.md +++ b/website/docs/maintenance/backup_restore.md @@ -10,7 +10,7 @@ If you are using `docker-compose`, you are using Docker Compose v1, which has be Create backup file `teslamate.bck`: ```bash -docker compose exec -T database pg_dump -U teslamate teslamate > /backuplocation/teslamate.bck +docker compose exec -T database pg_dump -U teslamate teslamate > ./teslamate.bck ``` :::note From 53825bc4dd126a7cc51067110db22c61aa9cd5c3 Mon Sep 17 00:00:00 2001 From: DrMichael Date: Fri, 24 May 2024 09:00:38 +0200 Subject: [PATCH 11/61] fix: Update statistics.json: change back uid (#3907) --- grafana/dashboards/statistics.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana/dashboards/statistics.json b/grafana/dashboards/statistics.json index c61b01d94a..64af8be63e 100644 --- a/grafana/dashboards/statistics.json +++ b/grafana/dashboards/statistics.json @@ -1009,7 +1009,7 @@ }, "timezone": "browser", "title": "Statistics", - "uid": "1EZnXszMl", + "uid": "1EZnXszMk", "version": 2, "weekStart": "" } From 0db778e06c526ca38a145d85290c321d06b51a46 Mon Sep 17 00:00:00 2001 From: Wilfried Chauveau Date: Fri, 24 May 2024 08:01:50 +0100 Subject: [PATCH 12/61] feat: Update TeslaFi importer to accept newer export formats (#3431) * Update TeslaFi importer to accept newer export formats * Update documentation --- lib/teslamate/import.ex | 3 + lib/teslamate/import/line_parser.ex | 3 + .../import/07_alternative_variant/112023.csv | 1000 +++++++++++++++++ test/teslamate/import_test.exs | 28 + .../configuration/environment_variables.md | 1 + website/docs/import/teslafi.md | 4 + 6 files changed, 1039 insertions(+) create mode 100644 test/fixtures/import/07_alternative_variant/112023.csv diff --git a/lib/teslamate/import.ex b/lib/teslamate/import.ex index dd1b29e9b0..6dc645c7b0 100644 --- a/lib/teslamate/import.ex +++ b/lib/teslamate/import.ex @@ -192,6 +192,9 @@ defmodule TeslaMate.Import do defp parse_fname(name) do case name do + <> -> + parse_date(y, m) + <<"TeslaFi"::bitstring, m::binary-size(2), y::binary-size(4), ".csv"::bitstring>> -> parse_date(y, m) diff --git a/lib/teslamate/import/line_parser.ex b/lib/teslamate/import/line_parser.ex index fbcc891cb3..f89aae24a3 100644 --- a/lib/teslamate/import/line_parser.ex +++ b/lib/teslamate/import/line_parser.ex @@ -76,6 +76,9 @@ defmodule TeslaMate.Import.LineParser do {"id", _val} -> Map.put(acc, "id", :rand.uniform(65536)) + {"vehicle_id", ""} -> + Map.put(acc, "vehicle_id", System.get_env("TESLAFI_IMPORT_VEHICLE_ID", "1")) + {"Date", val} -> {:ok, datetime} = with {:error, _reason} <- Timex.parse(val, "{YYYY}-{M}-{D} {h24}:{m}:{s}"), diff --git a/test/fixtures/import/07_alternative_variant/112023.csv b/test/fixtures/import/07_alternative_variant/112023.csv new file mode 100644 index 0000000000..caecc347d1 --- /dev/null +++ b/test/fixtures/import/07_alternative_variant/112023.csv @@ -0,0 +1,1000 @@ +data_id,Date,calendar_enabled,remote_start_enabled,vehicle_id,display_name,color,backseat_token,notifications_enabled,vin,backseat_token_updated_at,id,tokens,id_s,state,user_charge_enable_request,time_to_full_charge,charge_current_request,charge_enable_request,charge_to_max_range,charger_phases,battery_heater_on,managed_charging_start_time,battery_range,charger_power,charge_limit_soc,charger_pilot_current,charge_port_latch,battery_current,charger_actual_current,scheduled_charging_pending,fast_charger_type,usable_battery_level,motorized_charge_port,charge_limit_soc_std,not_enough_power_to_heat,battery_level,charge_energy_added,charge_port_door_open,max_range_charge_counter,charge_limit_soc_max,ideal_battery_range,managed_charging_active,charging_state,fast_charger_present,trip_charging,managed_charging_user_canceled,scheduled_charging_start_time,est_battery_range,charge_rate,charger_voltage,charge_current_request_max,eu_vehicle,charge_miles_added_ideal,charge_limit_soc_min,charge_miles_added_rated,inside_temp,longitude,heading,gps_as_of,latitude,speed,shift_state,seat_heater_rear_right,seat_heater_rear_left_back,seat_heater_left,passenger_temp_setting,is_auto_conditioning_on,driver_temp_setting,outside_temp,seat_heater_rear_center,is_rear_defroster_on,seat_heater_rear_right_back,smart_preconditioning,seat_heater_right,fan_status,is_front_defroster_on,seat_heater_rear_left,gui_charge_rate_units,gui_24_hour_time,gui_temperature_units,gui_range_display,gui_distance_units,sun_roof_installed,rhd,remote_start_supported,homelink_nearby,parsed_calendar_supported,spoiler_type,ft,odometer,remote_start,pr,has_spoiler,roof_color,perf_config,valet_mode,calendar_supported,pf,sun_roof_percent_open,third_row_seats,seat_type,api_version,rear_seat_heaters,rt,exterior_color,df,autopark_state,sun_roof_state,notifications_supported,vehicle_name,dr,autopark_style,car_type,wheel_type,locked,center_display_state,last_autopark_error,car_version,dark_rims,autopark_state_v2,inside_tempF,driver_temp_settingF,outside_tempF,odometerF,idleNumber,sleepNumber,driveNumber,chargeNumber,polling,idleTime,running,rerunning,maxRange,left_temp_direction,max_avail_temp,is_climate_on,right_temp_direction,min_avail_temp,rear_seat_type,power,steering_wheel_heater,wiper_blade_heater,side_mirror_heaters,elevation +1742297,2023-11-01 00:00:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742298,2023-11-01 00:01:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742299,2023-11-01 00:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742300,2023-11-01 00:03:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742301,2023-11-01 00:04:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742302,2023-11-01 00:05:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742303,2023-11-01 00:06:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742304,2023-11-01 00:07:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742305,2023-11-01 00:08:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742306,2023-11-01 00:09:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742307,2023-11-01 00:10:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742308,2023-11-01 00:11:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742309,2023-11-01 00:12:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742310,2023-11-01 00:13:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742311,2023-11-01 00:14:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742312,2023-11-01 00:15:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742313,2023-11-01 00:16:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742314,2023-11-01 00:17:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742315,2023-11-01 00:18:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742316,2023-11-01 00:19:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742317,2023-11-01 00:20:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742318,2023-11-01 00:21:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742319,2023-11-01 00:22:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742320,2023-11-01 00:23:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742321,2023-11-01 00:24:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742322,2023-11-01 00:25:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742323,2023-11-01 00:26:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742324,2023-11-01 00:27:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742325,2023-11-01 00:28:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742326,2023-11-01 00:29:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742327,2023-11-01 00:30:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742328,2023-11-01 00:31:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742329,2023-11-01 00:32:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742330,2023-11-01 00:33:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742331,2023-11-01 00:34:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742332,2023-11-01 00:35:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742333,2023-11-01 00:36:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742334,2023-11-01 00:37:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742335,2023-11-01 00:38:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742336,2023-11-01 00:39:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742337,2023-11-01 00:40:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742338,2023-11-01 00:41:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742339,2023-11-01 00:42:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742340,2023-11-01 00:43:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742341,2023-11-01 00:44:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742342,2023-11-01 00:45:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742343,2023-11-01 00:46:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742344,2023-11-01 00:47:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742345,2023-11-01 00:48:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742346,2023-11-01 00:49:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742347,2023-11-01 00:50:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742348,2023-11-01 00:51:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742349,2023-11-01 00:52:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742350,2023-11-01 00:53:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742351,2023-11-01 00:54:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742352,2023-11-01 00:55:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742353,2023-11-01 00:56:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742354,2023-11-01 00:57:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742355,2023-11-01 00:58:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742356,2023-11-01 00:59:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742357,2023-11-01 01:00:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742358,2023-11-01 01:01:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742359,2023-11-01 01:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742360,2023-11-01 01:03:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742361,2023-11-01 01:04:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742362,2023-11-01 01:05:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742363,2023-11-01 01:06:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742364,2023-11-01 01:07:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742365,2023-11-01 01:08:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742366,2023-11-01 01:09:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742367,2023-11-01 01:10:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742368,2023-11-01 01:11:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742369,2023-11-01 01:12:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742370,2023-11-01 01:13:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742371,2023-11-01 01:14:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742372,2023-11-01 01:15:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742373,2023-11-01 01:16:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742374,2023-11-01 01:17:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742375,2023-11-01 01:18:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742376,2023-11-01 01:19:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742377,2023-11-01 01:20:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742378,2023-11-01 01:21:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742379,2023-11-01 01:22:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742380,2023-11-01 01:23:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742381,2023-11-01 01:24:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742382,2023-11-01 01:25:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742383,2023-11-01 01:26:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742384,2023-11-01 01:27:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742385,2023-11-01 01:28:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742386,2023-11-01 01:29:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742387,2023-11-01 01:30:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742388,2023-11-01 01:31:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742389,2023-11-01 01:32:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742390,2023-11-01 01:33:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742391,2023-11-01 01:34:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742392,2023-11-01 01:35:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742393,2023-11-01 01:36:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742394,2023-11-01 01:37:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742395,2023-11-01 01:38:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742396,2023-11-01 01:39:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742397,2023-11-01 01:40:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742398,2023-11-01 01:41:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742399,2023-11-01 01:42:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742400,2023-11-01 01:43:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742401,2023-11-01 01:44:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742402,2023-11-01 01:45:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742403,2023-11-01 01:46:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742404,2023-11-01 01:47:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742405,2023-11-01 01:48:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742406,2023-11-01 01:49:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742407,2023-11-01 01:50:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742408,2023-11-01 01:51:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742409,2023-11-01 01:52:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742410,2023-11-01 01:53:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742411,2023-11-01 01:54:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742412,2023-11-01 01:55:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742413,2023-11-01 01:56:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742414,2023-11-01 01:57:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742415,2023-11-01 01:58:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742416,2023-11-01 01:59:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742417,2023-11-01 02:00:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742418,2023-11-01 02:01:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742419,2023-11-01 02:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742420,2023-11-01 02:03:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742421,2023-11-01 02:04:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742422,2023-11-01 02:05:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742423,2023-11-01 02:06:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742424,2023-11-01 02:07:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742425,2023-11-01 02:08:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742426,2023-11-01 02:09:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742427,2023-11-01 02:10:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742428,2023-11-01 02:11:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742429,2023-11-01 02:12:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742430,2023-11-01 02:13:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742431,2023-11-01 02:14:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742432,2023-11-01 02:15:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742433,2023-11-01 02:16:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742434,2023-11-01 02:17:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742435,2023-11-01 02:18:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742436,2023-11-01 02:19:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742437,2023-11-01 02:20:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742438,2023-11-01 02:21:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742439,2023-11-01 02:22:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742440,2023-11-01 02:23:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742441,2023-11-01 02:24:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742442,2023-11-01 02:25:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742443,2023-11-01 02:26:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742444,2023-11-01 02:27:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742445,2023-11-01 02:28:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742446,2023-11-01 02:29:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742447,2023-11-01 02:30:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742448,2023-11-01 02:31:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742449,2023-11-01 02:32:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742450,2023-11-01 02:33:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742451,2023-11-01 02:34:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742452,2023-11-01 02:35:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742453,2023-11-01 02:36:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742454,2023-11-01 02:37:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742455,2023-11-01 02:38:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742456,2023-11-01 02:39:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742457,2023-11-01 02:40:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742458,2023-11-01 02:41:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742459,2023-11-01 02:42:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742460,2023-11-01 02:43:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742461,2023-11-01 02:44:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742462,2023-11-01 02:45:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742463,2023-11-01 02:46:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742464,2023-11-01 02:47:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742465,2023-11-01 02:48:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742466,2023-11-01 02:49:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742467,2023-11-01 02:50:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742468,2023-11-01 02:51:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742469,2023-11-01 02:52:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742470,2023-11-01 02:53:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742471,2023-11-01 02:54:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742472,2023-11-01 02:55:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742473,2023-11-01 02:56:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742474,2023-11-01 02:57:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742475,2023-11-01 02:58:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742476,2023-11-01 02:59:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742477,2023-11-01 03:00:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742478,2023-11-01 03:01:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742479,2023-11-01 03:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742480,2023-11-01 03:03:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742481,2023-11-01 03:04:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742482,2023-11-01 03:05:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742483,2023-11-01 03:06:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742484,2023-11-01 03:07:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742485,2023-11-01 03:08:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742486,2023-11-01 03:09:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742487,2023-11-01 03:10:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742488,2023-11-01 03:11:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742489,2023-11-01 03:12:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742490,2023-11-01 03:13:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742491,2023-11-01 03:14:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742492,2023-11-01 03:15:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742493,2023-11-01 03:16:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742494,2023-11-01 03:17:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,0,0,0,False,0,0,0,265.99,,,,,,,,,,, +1742495,2023-11-01 03:18:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6589,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742496,2023-11-01 03:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742497,2023-11-01 03:20:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742498,2023-11-01 03:21:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742499,2023-11-01 03:22:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742500,2023-11-01 03:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742501,2023-11-01 03:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742502,2023-11-01 03:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742503,2023-11-01 03:26:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742504,2023-11-01 03:27:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742505,2023-11-01 03:28:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742506,2023-11-01 03:29:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742507,2023-11-01 03:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742508,2023-11-01 03:31:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742509,2023-11-01 03:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742510,2023-11-01 03:33:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742511,2023-11-01 03:34:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742512,2023-11-01 03:35:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742513,2023-11-01 03:36:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742514,2023-11-01 03:37:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742515,2023-11-01 03:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742516,2023-11-01 03:39:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742517,2023-11-01 03:40:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742518,2023-11-01 03:41:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742519,2023-11-01 03:42:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742520,2023-11-01 03:43:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742521,2023-11-01 03:44:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742522,2023-11-01 03:45:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742523,2023-11-01 03:46:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742524,2023-11-01 03:47:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742525,2023-11-01 03:48:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742526,2023-11-01 03:49:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742527,2023-11-01 03:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742528,2023-11-01 03:51:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742529,2023-11-01 03:52:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742530,2023-11-01 03:53:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742531,2023-11-01 03:54:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742532,2023-11-01 03:55:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742533,2023-11-01 03:56:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742534,2023-11-01 03:57:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742535,2023-11-01 03:58:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742536,2023-11-01 03:59:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742537,2023-11-01 04:00:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742538,2023-11-01 04:01:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742539,2023-11-01 04:02:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742540,2023-11-01 04:03:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742541,2023-11-01 04:04:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742542,2023-11-01 04:05:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742543,2023-11-01 04:06:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742544,2023-11-01 04:07:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742545,2023-11-01 04:08:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742546,2023-11-01 04:09:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742547,2023-11-01 04:10:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742548,2023-11-01 04:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742549,2023-11-01 04:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742550,2023-11-01 04:13:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742551,2023-11-01 04:14:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742552,2023-11-01 04:15:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742553,2023-11-01 04:16:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742554,2023-11-01 04:17:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742555,2023-11-01 04:18:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742556,2023-11-01 04:19:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742557,2023-11-01 04:20:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742558,2023-11-01 04:21:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742559,2023-11-01 04:22:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742560,2023-11-01 04:23:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742561,2023-11-01 04:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742562,2023-11-01 04:25:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742563,2023-11-01 04:26:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742564,2023-11-01 04:27:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742565,2023-11-01 04:28:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742566,2023-11-01 04:29:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742567,2023-11-01 04:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742568,2023-11-01 04:31:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742569,2023-11-01 04:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742570,2023-11-01 04:33:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742571,2023-11-01 04:34:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742572,2023-11-01 04:35:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742573,2023-11-01 04:36:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742574,2023-11-01 04:37:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742575,2023-11-01 04:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742576,2023-11-01 04:39:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742577,2023-11-01 04:40:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742578,2023-11-01 04:41:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742579,2023-11-01 04:42:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742580,2023-11-01 04:43:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742581,2023-11-01 04:44:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742582,2023-11-01 04:45:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742583,2023-11-01 04:46:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742584,2023-11-01 04:47:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742585,2023-11-01 04:48:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742586,2023-11-01 04:49:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742587,2023-11-01 04:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742588,2023-11-01 04:51:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742589,2023-11-01 04:52:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742590,2023-11-01 04:53:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742591,2023-11-01 04:54:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742592,2023-11-01 04:55:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742593,2023-11-01 04:56:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742594,2023-11-01 04:57:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742595,2023-11-01 04:58:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742596,2023-11-01 04:59:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742597,2023-11-01 05:00:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742598,2023-11-01 05:01:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742599,2023-11-01 05:02:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742600,2023-11-01 05:03:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742601,2023-11-01 05:04:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742602,2023-11-01 05:05:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742603,2023-11-01 05:06:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742604,2023-11-01 05:07:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742605,2023-11-01 05:08:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742606,2023-11-01 05:09:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742607,2023-11-01 05:10:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742608,2023-11-01 05:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742609,2023-11-01 05:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742610,2023-11-01 05:13:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742611,2023-11-01 05:14:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742612,2023-11-01 05:15:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742613,2023-11-01 05:16:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742614,2023-11-01 05:17:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742615,2023-11-01 05:18:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742616,2023-11-01 05:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742617,2023-11-01 05:20:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742618,2023-11-01 05:21:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742619,2023-11-01 05:22:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742620,2023-11-01 05:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742621,2023-11-01 05:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742622,2023-11-01 05:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742623,2023-11-01 05:26:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742624,2023-11-01 05:27:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742625,2023-11-01 05:28:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742626,2023-11-01 05:29:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742627,2023-11-01 05:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742628,2023-11-01 05:31:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742629,2023-11-01 05:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742630,2023-11-01 05:33:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742631,2023-11-01 05:34:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742632,2023-11-01 05:35:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742633,2023-11-01 05:36:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742634,2023-11-01 05:37:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742635,2023-11-01 05:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742636,2023-11-01 05:39:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742637,2023-11-01 05:40:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742638,2023-11-01 05:41:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742639,2023-11-01 05:42:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742640,2023-11-01 05:43:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742641,2023-11-01 05:44:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742642,2023-11-01 05:45:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742643,2023-11-01 05:46:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742644,2023-11-01 05:47:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742645,2023-11-01 05:48:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742646,2023-11-01 05:49:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742647,2023-11-01 05:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742648,2023-11-01 05:51:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742649,2023-11-01 05:52:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742650,2023-11-01 05:53:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742651,2023-11-01 05:54:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742652,2023-11-01 05:55:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742653,2023-11-01 05:56:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742654,2023-11-01 05:57:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742655,2023-11-01 05:58:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742656,2023-11-01 05:59:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742657,2023-11-01 06:00:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742658,2023-11-01 06:01:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742659,2023-11-01 06:02:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742660,2023-11-01 06:03:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742661,2023-11-01 06:04:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742662,2023-11-01 06:05:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742663,2023-11-01 06:06:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742664,2023-11-01 06:07:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742665,2023-11-01 06:08:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742666,2023-11-01 06:09:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742667,2023-11-01 06:10:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742668,2023-11-01 06:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742669,2023-11-01 06:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742670,2023-11-01 06:13:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742671,2023-11-01 06:14:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742672,2023-11-01 06:15:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742673,2023-11-01 06:16:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742674,2023-11-01 06:17:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742675,2023-11-01 06:18:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742676,2023-11-01 06:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742677,2023-11-01 06:20:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742678,2023-11-01 06:21:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742679,2023-11-01 06:22:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742680,2023-11-01 06:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742681,2023-11-01 06:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742682,2023-11-01 06:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742683,2023-11-01 06:26:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742684,2023-11-01 06:27:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742685,2023-11-01 06:28:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742686,2023-11-01 06:29:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742687,2023-11-01 06:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742688,2023-11-01 06:31:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742689,2023-11-01 06:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742690,2023-11-01 06:33:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742691,2023-11-01 06:34:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742692,2023-11-01 06:35:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742693,2023-11-01 06:36:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742694,2023-11-01 06:37:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742695,2023-11-01 06:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742696,2023-11-01 06:39:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742697,2023-11-01 06:40:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742698,2023-11-01 06:41:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742699,2023-11-01 06:42:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742700,2023-11-01 06:43:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742701,2023-11-01 06:44:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742702,2023-11-01 06:45:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742703,2023-11-01 06:46:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742704,2023-11-01 06:47:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742705,2023-11-01 06:48:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742706,2023-11-01 06:49:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742707,2023-11-01 06:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742708,2023-11-01 06:51:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742709,2023-11-01 06:52:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742710,2023-11-01 06:53:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742711,2023-11-01 06:54:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742712,2023-11-01 06:55:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742713,2023-11-01 06:56:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742714,2023-11-01 06:57:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742715,2023-11-01 06:58:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742716,2023-11-01 06:59:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742717,2023-11-01 07:00:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742718,2023-11-01 07:01:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742719,2023-11-01 07:02:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742720,2023-11-01 07:03:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742721,2023-11-01 07:04:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742722,2023-11-01 07:05:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742723,2023-11-01 07:06:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742724,2023-11-01 07:07:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742725,2023-11-01 07:08:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742726,2023-11-01 07:09:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742727,2023-11-01 07:10:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742728,2023-11-01 07:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742729,2023-11-01 07:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742730,2023-11-01 07:13:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742731,2023-11-01 07:14:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742732,2023-11-01 07:15:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742733,2023-11-01 07:16:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742734,2023-11-01 07:17:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742735,2023-11-01 07:18:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742736,2023-11-01 07:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742737,2023-11-01 07:20:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742738,2023-11-01 07:21:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742739,2023-11-01 07:22:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742740,2023-11-01 07:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742741,2023-11-01 07:24:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742742,2023-11-01 07:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742743,2023-11-01 07:26:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742744,2023-11-01 07:27:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742745,2023-11-01 07:28:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742746,2023-11-01 07:29:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742747,2023-11-01 07:30:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742748,2023-11-01 07:31:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742749,2023-11-01 07:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742750,2023-11-01 07:33:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742751,2023-11-01 07:34:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742752,2023-11-01 07:35:13,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742753,2023-11-01 07:36:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742754,2023-11-01 07:37:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742755,2023-11-01 07:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742756,2023-11-01 07:39:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742757,2023-11-01 07:40:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742758,2023-11-01 07:41:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742759,2023-11-01 07:42:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742760,2023-11-01 07:43:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742761,2023-11-01 07:44:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742762,2023-11-01 07:45:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742763,2023-11-01 07:46:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742764,2023-11-01 07:47:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742765,2023-11-01 07:48:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742766,2023-11-01 07:49:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742767,2023-11-01 07:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742768,2023-11-01 07:51:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742769,2023-11-01 07:52:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742770,2023-11-01 07:53:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742771,2023-11-01 07:54:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742772,2023-11-01 07:55:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742773,2023-11-01 07:56:13,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742774,2023-11-01 07:57:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742775,2023-11-01 07:58:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742776,2023-11-01 07:59:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742777,2023-11-01 08:00:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742778,2023-11-01 08:01:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742779,2023-11-01 08:02:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742780,2023-11-01 08:03:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742781,2023-11-01 08:04:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742782,2023-11-01 08:05:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742783,2023-11-01 08:06:15,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742784,2023-11-01 08:07:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742785,2023-11-01 08:08:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742786,2023-11-01 08:09:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742787,2023-11-01 08:10:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742788,2023-11-01 08:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742789,2023-11-01 08:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742790,2023-11-01 08:13:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742791,2023-11-01 08:14:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742792,2023-11-01 08:15:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742793,2023-11-01 08:16:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742794,2023-11-01 08:17:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742795,2023-11-01 08:18:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742796,2023-11-01 08:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742797,2023-11-01 08:20:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742798,2023-11-01 08:21:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742799,2023-11-01 08:22:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742800,2023-11-01 08:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742801,2023-11-01 08:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742802,2023-11-01 08:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742803,2023-11-01 08:26:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742804,2023-11-01 08:27:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742805,2023-11-01 08:28:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742806,2023-11-01 08:29:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742807,2023-11-01 08:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742808,2023-11-01 08:31:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742809,2023-11-01 08:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742810,2023-11-01 08:33:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742811,2023-11-01 08:34:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742812,2023-11-01 08:35:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742813,2023-11-01 08:36:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742814,2023-11-01 08:37:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742815,2023-11-01 08:38:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742816,2023-11-01 08:39:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742817,2023-11-01 08:40:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742818,2023-11-01 08:41:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742819,2023-11-01 08:42:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742820,2023-11-01 08:43:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742821,2023-11-01 08:44:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742822,2023-11-01 08:45:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742823,2023-11-01 08:46:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742824,2023-11-01 08:47:10,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742825,2023-11-01 08:48:10,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742826,2023-11-01 08:49:10,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742827,2023-11-01 08:50:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742828,2023-11-01 08:51:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742829,2023-11-01 08:52:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742830,2023-11-01 08:53:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3443,0,0,,0,0,0,265.99,,,,,,,,,,, +1742831,2023-11-01 08:54:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.1,0,270,1567353280,0,,P,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,closed,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,70,38508.1998,6590,3443,0,0,,0,0,0,265.99,-160,28,False,-160,15,1,0,,,, +1742832,2023-11-01 08:55:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353312,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,1,0,0,265.99,,28,False,,15,1,0,,,, +1742833,2023-11-01 08:56:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353370,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,2,0,0,265.99,,28,False,,15,1,0,,,, +1742834,2023-11-01 08:57:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353431,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,3,0,0,265.99,,28,False,,15,1,0,,,, +1742835,2023-11-01 08:58:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353490,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,4,0,0,265.99,,28,False,,15,1,0,,,, +1742836,2023-11-01 08:59:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353551,0,,,,,0,21.1,,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,70,38508.1998,6590,0,0,0,,5,0,0,265.99,,28,False,,15,1,0,,,, +1742837,2023-11-01 09:00:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353611,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,6,0,0,265.99,,28,False,,15,1,0,,,, +1742838,2023-11-01 09:01:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353670,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,7,0,0,265.99,,28,False,,15,1,0,,,, +1742839,2023-11-01 09:02:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353731,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,8,0,0,265.99,,28,False,,15,1,0,,,, +1742840,2023-11-01 09:03:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353791,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,,38508.1998,6590,0,0,0,,9,0,0,265.99,,28,False,,15,1,0,,,, +1742841,2023-11-01 09:04:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353851,0,,,,,0,21.1,,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,70,38508.1998,6590,0,0,0,,10,0,0,265.99,,28,False,,15,1,0,,,, +1742842,2023-11-01 09:05:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,23.5,0,270,1567353913,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,74,69,70,38508.1998,6590,0,0,0,,11,0,0,265.99,61,28,False,61,15,1,0,,,, +1742843,2023-11-01 09:06:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.2,0,270,1567353971,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,75,69,70,38508.1998,6590,0,0,0,,12,0,0,265.99,-173,28,False,-173,15,1,0,,,, +1742844,2023-11-01 09:07:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.5,0,270,1567354031,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,76,69,70,38508.1998,6590,0,0,0,,13,0,0,265.99,-183,28,False,-183,15,1,0,,,, +1742845,2023-11-01 09:08:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,24.8,0,270,1567354091,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,76,69,70,38508.1998,6590,0,0,0,,14,0,0,265.99,-194,28,False,-194,15,1,0,,,, +1742846,2023-11-01 09:09:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25,0,270,1567354151,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,15,0,0,265.99,-205,28,False,-205,15,1,0,,,, +1742847,2023-11-01 09:10:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25,0,270,1567354211,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,16,0,0,265.99,-207,28,False,-207,15,1,0,,,, +1742848,2023-11-01 09:11:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25,0,270,1567354271,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,17,0,0,265.99,-208,28,False,-208,15,1,0,,,, +1742849,2023-11-01 09:12:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.1,0,270,1567354332,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,18,0,0,265.99,-213,28,False,-213,15,1,0,,,, +1742850,2023-11-01 09:13:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.1,0,270,1567354391,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,19,0,0,265.99,-215,28,False,-215,15,1,0,,,, +1742851,2023-11-01 09:14:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.2,0,270,1567354451,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,20,0,0,265.99,-221,28,False,-221,15,1,0,,,, +1742852,2023-11-01 09:15:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.4,0,270,1567354511,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,21,0,0,265.99,-231,28,False,-231,15,1,0,,,, +1742853,2023-11-01 09:16:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354571,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,22,0,0,265.99,-237,28,False,-237,15,1,0,,,, +1742854,2023-11-01 09:17:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354631,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,23,0,0,265.99,-239,28,False,-239,15,1,0,,,, +1742855,2023-11-01 09:18:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354692,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,24,0,0,265.99,-241,28,False,-241,15,1,0,,,, +1742856,2023-11-01 09:19:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354751,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,25,0,0,265.99,-242,28,False,-242,15,1,0,,,, +1742857,2023-11-01 09:20:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354811,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,26,0,0,265.99,-244,28,False,-244,15,1,0,,,, +1742858,2023-11-01 09:21:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354871,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,27,0,0,265.99,-246,28,False,-246,15,1,0,,,, +1742859,2023-11-01 09:22:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354931,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,28,0,0,265.99,-247,28,False,-247,15,1,0,,,, +1742860,2023-11-01 09:23:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,204.09,0,0,32,False,67.5,50,53.5,25.5,0,270,1567354991,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,29,0,0,265.99,-249,28,False,-249,15,1,0,,,, +1742861,2023-11-01 09:24:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67.5,50,53.5,25.5,0,270,1567355051,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,77,69,70,38508.1998,6590,0,0,0,,30,0,0,265.99,-251,28,False,-251,15,1,0,,,, +1742862,2023-11-01 09:25:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.7,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.51,True,0,100,266.93,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67.5,50,53.5,25.6,0,270,1567355111,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-256,28,False,-256,15,1,0,,,, +1742863,2023-11-01 09:26:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1742864,2023-11-01 09:27:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1742865,2023-11-01 09:28:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1742866,2023-11-01 09:29:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1742867,2023-11-01 09:30:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1742868,2023-11-01 09:31:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1742869,2023-11-01 09:32:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1742870,2023-11-01 09:33:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1742871,2023-11-01 09:34:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1742872,2023-11-01 09:35:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1742873,2023-11-01 09:36:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1742874,2023-11-01 09:37:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1742875,2023-11-01 09:38:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1742876,2023-11-01 09:39:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1742877,2023-11-01 09:40:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1742878,2023-11-01 09:41:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,25.9,0,270,1567356071,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,1,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742879,2023-11-01 09:42:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356132,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,2,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742880,2023-11-01 09:43:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,25.9,0,270,1567356191,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,3,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742881,2023-11-01 09:44:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356252,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,4,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742882,2023-11-01 09:45:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356312,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,5,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742883,2023-11-01 09:46:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356373,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,6,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742884,2023-11-01 09:47:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356431,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,7,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742885,2023-11-01 09:48:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356492,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,8,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742886,2023-11-01 09:49:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356551,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,9,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742887,2023-11-01 09:50:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356612,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,10,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742888,2023-11-01 09:51:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356671,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,11,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742889,2023-11-01 09:52:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567356732,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,12,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742890,2023-11-01 09:53:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567356792,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,13,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742891,2023-11-01 09:54:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567356852,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,14,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742892,2023-11-01 09:55:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567356911,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742893,2023-11-01 09:56:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567356972,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,16,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742894,2023-11-01 09:57:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567357031,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,17,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742895,2023-11-01 09:58:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567357091,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,18,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742896,2023-11-01 09:59:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567357151,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,19,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742897,2023-11-01 10:00:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26,0,270,1567357211,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,20,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742898,2023-11-01 10:01:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567357271,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,21,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742899,2023-11-01 10:02:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567357331,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,22,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742900,2023-11-01 10:03:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567357390,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,23,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742901,2023-11-01 10:04:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.74,0,0,32,False,67,50,53,26.1,0,270,1567357451,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,24,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742902,2023-11-01 10:05:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.1,0,270,1567357510,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,25,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742903,2023-11-01 10:06:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26,0,270,1567357570,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,26,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742904,2023-11-01 10:07:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.1,0,270,1567357631,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,27,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742905,2023-11-01 10:08:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.1,0,270,1567357691,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,78,69,70,38508.1998,6590,0,0,0,,28,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742906,2023-11-01 10:09:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.4,0,270,1567357751,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,29,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742907,2023-11-01 10:10:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.5,0,270,1567357810,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,30,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742908,2023-11-01 10:11:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,211.34,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.4,True,0,100,266.47,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,67,50,53,26.5,0,270,1567357870,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742909,2023-11-01 10:12:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1742910,2023-11-01 10:13:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1742911,2023-11-01 10:14:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1742912,2023-11-01 10:15:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1742913,2023-11-01 10:16:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1742914,2023-11-01 10:17:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1742915,2023-11-01 10:18:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1742916,2023-11-01 10:19:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1742917,2023-11-01 10:20:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1742918,2023-11-01 10:21:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1742919,2023-11-01 10:22:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1742920,2023-11-01 10:23:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1742921,2023-11-01 10:24:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1742922,2023-11-01 10:25:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1742923,2023-11-01 10:26:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1742924,2023-11-01 10:27:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.5,0,270,1567358831,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,1,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742925,2023-11-01 10:28:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.5,0,270,1567358891,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,2,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742926,2023-11-01 10:29:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567358952,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,3,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742927,2023-11-01 10:30:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359011,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,4,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742928,2023-11-01 10:31:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359072,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,5,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742929,2023-11-01 10:32:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359131,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,6,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742930,2023-11-01 10:33:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359192,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,7,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742931,2023-11-01 10:34:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359251,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,8,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742932,2023-11-01 10:35:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359311,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,9,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742933,2023-11-01 10:36:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359370,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,10,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742934,2023-11-01 10:37:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359430,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,11,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742935,2023-11-01 10:38:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359492,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,12,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742936,2023-11-01 10:39:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359551,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,13,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742937,2023-11-01 10:40:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.6,0,270,1567359612,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,79,69,70,38508.1998,6590,0,0,0,,14,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742938,2023-11-01 10:41:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.7,0,270,1567359671,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742939,2023-11-01 10:42:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.8,0,270,1567359732,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,16,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742940,2023-11-01 10:43:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567359791,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,17,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742941,2023-11-01 10:44:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567359852,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,18,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742942,2023-11-01 10:45:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567359911,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,19,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742943,2023-11-01 10:46:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567359971,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,20,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742944,2023-11-01 10:47:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360030,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,21,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742945,2023-11-01 10:48:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567360091,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,22,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742946,2023-11-01 10:49:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567360149,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,23,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742947,2023-11-01 10:50:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567360211,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,24,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742948,2023-11-01 10:51:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360270,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,25,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742949,2023-11-01 10:52:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360330,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,26,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742950,2023-11-01 10:53:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360392,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,27,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742951,2023-11-01 10:54:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360451,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,28,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742952,2023-11-01 10:55:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360512,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,29,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742953,2023-11-01 10:56:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,27,0,270,1567360571,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,,30,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742954,2023-11-01 10:57:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.39,0,0,32,False,66.5,50,52.5,26.9,0,270,1567360631,0,,,,,0,21.1,True,21.1,21.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,70,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1742955,2023-11-01 10:58:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1742956,2023-11-01 10:59:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1742957,2023-11-01 11:00:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1742958,2023-11-01 11:01:16,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1742959,2023-11-01 11:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1742960,2023-11-01 11:03:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1742961,2023-11-01 11:04:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1742962,2023-11-01 11:05:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1742963,2023-11-01 11:06:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1742964,2023-11-01 11:07:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1742965,2023-11-01 11:08:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1742966,2023-11-01 11:09:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1742967,2023-11-01 11:10:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1742968,2023-11-01 11:11:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1742969,2023-11-01 11:12:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1742970,2023-11-01 11:13:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,27,0,270,1567361592,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,,38508.1998,6590,0,0,0,,1,0,0,265.99,,28,False,,15,1,0,,,, +1742971,2023-11-01 11:14:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,27,0,270,1567361649,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,,38508.1998,6590,0,0,0,,2,0,0,265.99,,28,False,,15,1,0,,,, +1742972,2023-11-01 11:15:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,27,0,270,1567361711,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,,38508.1998,6590,0,0,0,,3,0,0,265.99,,28,False,,15,1,0,,,, +1742973,2023-11-01 11:16:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,27,0,270,1567361769,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,80,69,,38508.1998,6590,0,0,0,,4,0,0,265.99,,28,False,,15,1,0,,,, +1742974,2023-11-01 11:17:09,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567361829,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,5,0,0,265.99,,28,False,,15,1,0,,,, +1742975,2023-11-01 11:18:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567361889,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,6,0,0,265.99,,28,False,,15,1,0,,,, +1742976,2023-11-01 11:19:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567361949,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,7,0,0,265.99,,28,False,,15,1,0,,,, +1742977,2023-11-01 11:20:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362010,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,8,0,0,265.99,,28,False,,15,1,0,,,, +1742978,2023-11-01 11:21:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362070,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,9,0,0,265.99,,28,False,,15,1,0,,,, +1742979,2023-11-01 11:22:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362129,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,10,0,0,265.99,,28,False,,15,1,0,,,, +1742980,2023-11-01 11:23:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362191,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,11,0,0,265.99,,28,False,,15,1,0,,,, +1742981,2023-11-01 11:24:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362250,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,12,0,0,265.99,,28,False,,15,1,0,,,, +1742982,2023-11-01 11:25:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362310,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,13,0,0,265.99,,28,False,,15,1,0,,,, +1742983,2023-11-01 11:26:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362369,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,14,0,0,265.99,,28,False,,15,1,0,,,, +1742984,2023-11-01 11:27:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362431,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,15,0,0,265.99,,28,False,,15,1,0,,,, +1742985,2023-11-01 11:28:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362489,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,16,0,0,265.99,,28,False,,15,1,0,,,, +1742986,2023-11-01 11:29:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362550,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,17,0,0,265.99,,28,False,,15,1,0,,,, +1742987,2023-11-01 11:30:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362609,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,18,0,0,265.99,,28,False,,15,1,0,,,, +1742988,2023-11-01 11:31:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362671,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,19,0,0,265.99,,28,False,,15,1,0,,,, +1742989,2023-11-01 11:32:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362730,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,20,0,0,265.99,,28,False,,15,1,0,,,, +1742990,2023-11-01 11:33:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362789,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,21,0,0,265.99,,28,False,,15,1,0,,,, +1742991,2023-11-01 11:34:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362850,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,22,0,0,265.99,,28,False,,15,1,0,,,, +1742992,2023-11-01 11:35:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567362910,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,23,0,0,265.99,,28,False,,15,1,0,,,, +1742993,2023-11-01 11:36:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567362970,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,24,0,0,265.99,,28,False,,15,1,0,,,, +1742994,2023-11-01 11:37:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567363030,0,,,,,0,21.1,,21.1,24,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,75,38508.1998,6590,0,0,0,,25,0,0,265.99,,28,False,,15,1,0,,,, +1742995,2023-11-01 11:38:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567363090,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,26,0,0,265.99,,28,False,,15,1,0,,,, +1742996,2023-11-01 11:39:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567363149,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,27,0,0,265.99,,28,False,,15,1,0,,,, +1742997,2023-11-01 11:40:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567363209,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,28,0,0,265.99,,28,False,,15,1,0,,,, +1742998,2023-11-01 11:41:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567363269,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,29,0,0,265.99,,28,False,,15,1,0,,,, +1742999,2023-11-01 11:42:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567363330,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,30,0,0,265.99,,28,False,,15,1,0,,,, +1743000,2023-11-01 11:43:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567363389,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,False,-15,0,0,265.99,,28,False,,15,1,0,,,, +1743001,2023-11-01 11:44:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743002,2023-11-01 11:45:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743003,2023-11-01 11:46:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743004,2023-11-01 11:47:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743005,2023-11-01 11:48:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743006,2023-11-01 11:49:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743007,2023-11-01 11:50:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743008,2023-11-01 11:51:15,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743009,2023-11-01 11:52:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743010,2023-11-01 11:53:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743011,2023-11-01 11:54:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743012,2023-11-01 11:55:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743013,2023-11-01 11:56:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743014,2023-11-01 11:57:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743015,2023-11-01 11:58:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1743016,2023-11-01 11:59:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567364351,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,1,0,0,265.99,,28,False,,15,1,0,,,, +1743017,2023-11-01 12:00:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364411,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,2,0,0,265.99,,28,False,,15,1,0,,,, +1743018,2023-11-01 12:01:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364470,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,3,0,0,265.99,,28,False,,15,1,0,,,, +1743019,2023-11-01 12:02:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567364531,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,4,0,0,265.99,,28,False,,15,1,0,,,, +1743020,2023-11-01 12:03:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364590,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,5,0,0,265.99,,28,False,,15,1,0,,,, +1743021,2023-11-01 12:04:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567364651,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,6,0,0,265.99,,28,False,,15,1,0,,,, +1743022,2023-11-01 12:05:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364709,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,7,0,0,265.99,,28,False,,15,1,0,,,, +1743023,2023-11-01 12:06:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567364769,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,8,0,0,265.99,,28,False,,15,1,0,,,, +1743024,2023-11-01 12:07:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364829,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,9,0,0,265.99,,28,False,,15,1,0,,,, +1743025,2023-11-01 12:08:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567364891,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,10,0,0,265.99,,28,False,,15,1,0,,,, +1743026,2023-11-01 12:09:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567364950,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,11,0,0,265.99,,28,False,,15,1,0,,,, +1743027,2023-11-01 12:10:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365011,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,12,0,0,265.99,,28,False,,15,1,0,,,, +1743028,2023-11-01 12:11:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365070,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,13,0,0,265.99,,28,False,,15,1,0,,,, +1743029,2023-11-01 12:12:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365131,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,14,0,0,265.99,,28,False,,15,1,0,,,, +1743030,2023-11-01 12:13:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365190,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,15,0,0,265.99,,28,False,,15,1,0,,,, +1743031,2023-11-01 12:14:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365252,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,16,0,0,265.99,,28,False,,15,1,0,,,, +1743032,2023-11-01 12:15:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365309,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,17,0,0,265.99,,28,False,,15,1,0,,,, +1743033,2023-11-01 12:16:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365370,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,18,0,0,265.99,,28,False,,15,1,0,,,, +1743034,2023-11-01 12:17:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365429,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,19,0,0,265.99,,28,False,,15,1,0,,,, +1743035,2023-11-01 12:18:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365492,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,20,0,0,265.99,,28,False,,15,1,0,,,, +1743036,2023-11-01 12:19:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365549,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,21,0,0,265.99,,28,False,,15,1,0,,,, +1743037,2023-11-01 12:20:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365611,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,22,0,0,265.99,,28,False,,15,1,0,,,, +1743038,2023-11-01 12:21:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365670,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,23,0,0,265.99,,28,False,,15,1,0,,,, +1743039,2023-11-01 12:22:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365729,0,,,,,0,21.1,,21.1,24.5,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,76,38508.1998,6590,0,0,0,,24,0,0,265.99,,28,False,,15,1,0,,,, +1743040,2023-11-01 12:23:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365790,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,25,0,0,265.99,,28,False,,15,1,0,,,, +1743041,2023-11-01 12:24:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365849,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,26,0,0,265.99,,28,False,,15,1,0,,,, +1743042,2023-11-01 12:25:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567365910,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,27,0,0,265.99,,28,False,,15,1,0,,,, +1743043,2023-11-01 12:26:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567365970,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,28,0,0,265.99,,28,False,,15,1,0,,,, +1743044,2023-11-01 12:27:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567366030,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,29,0,0,265.99,,28,False,,15,1,0,,,, +1743045,2023-11-01 12:28:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567366089,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,30,0,0,265.99,,28,False,,15,1,0,,,, +1743046,2023-11-01 12:29:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567366150,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,False,-15,0,0,265.99,,28,False,,15,1,0,,,, +1743047,2023-11-01 12:30:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743048,2023-11-01 12:31:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743049,2023-11-01 12:32:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743050,2023-11-01 12:33:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743051,2023-11-01 12:34:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743052,2023-11-01 12:35:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743053,2023-11-01 12:36:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743054,2023-11-01 12:37:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743055,2023-11-01 12:38:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743056,2023-11-01 12:39:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743057,2023-11-01 12:40:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743058,2023-11-01 12:41:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743059,2023-11-01 12:42:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743060,2023-11-01 12:43:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743061,2023-11-01 12:44:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1743062,2023-11-01 12:45:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367110,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,1,0,0,265.99,,28,False,,15,1,0,,,, +1743063,2023-11-01 12:46:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367170,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,2,0,0,265.99,,28,False,,15,1,0,,,, +1743064,2023-11-01 12:47:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367230,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,3,0,0,265.99,,28,False,,15,1,0,,,, +1743065,2023-11-01 12:48:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367290,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,4,0,0,265.99,,28,False,,15,1,0,,,, +1743066,2023-11-01 12:49:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367351,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,5,0,0,265.99,,28,False,,15,1,0,,,, +1743067,2023-11-01 12:50:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367410,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,6,0,0,265.99,,28,False,,15,1,0,,,, +1743068,2023-11-01 12:51:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367471,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,7,0,0,265.99,,28,False,,15,1,0,,,, +1743069,2023-11-01 12:52:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367530,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,8,0,0,265.99,,28,False,,15,1,0,,,, +1743070,2023-11-01 12:53:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367591,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,9,0,0,265.99,,28,False,,15,1,0,,,, +1743071,2023-11-01 12:54:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367650,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,10,0,0,265.99,,28,False,,15,1,0,,,, +1743072,2023-11-01 12:55:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367710,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,11,0,0,265.99,,28,False,,15,1,0,,,, +1743073,2023-11-01 12:56:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367770,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,12,0,0,265.99,,28,False,,15,1,0,,,, +1743074,2023-11-01 12:57:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367831,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,13,0,0,265.99,,28,False,,15,1,0,,,, +1743075,2023-11-01 12:58:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567367890,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,14,0,0,265.99,,28,False,,15,1,0,,,, +1743076,2023-11-01 12:59:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567367952,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,15,0,0,265.99,,28,False,,15,1,0,,,, +1743077,2023-11-01 13:00:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368010,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,16,0,0,265.99,,28,False,,15,1,0,,,, +1743078,2023-11-01 13:01:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368070,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,17,0,0,265.99,,28,False,,15,1,0,,,, +1743079,2023-11-01 13:02:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368131,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,18,0,0,265.99,,28,False,,15,1,0,,,, +1743080,2023-11-01 13:03:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368190,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,19,0,0,265.99,,28,False,,15,1,0,,,, +1743081,2023-11-01 13:04:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368251,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,20,0,0,265.99,,28,False,,15,1,0,,,, +1743082,2023-11-01 13:05:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368310,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,21,0,0,265.99,,28,False,,15,1,0,,,, +1743083,2023-11-01 13:06:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368372,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,22,0,0,265.99,,28,False,,15,1,0,,,, +1743084,2023-11-01 13:07:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368430,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,23,0,0,265.99,,28,False,,15,1,0,,,, +1743085,2023-11-01 13:08:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368491,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,24,0,0,265.99,,28,False,,15,1,0,,,, +1743086,2023-11-01 13:09:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368550,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,25,0,0,265.99,,28,False,,15,1,0,,,, +1743087,2023-11-01 13:10:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368612,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,26,0,0,265.99,,28,False,,15,1,0,,,, +1743088,2023-11-01 13:11:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368669,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,27,0,0,265.99,,28,False,,15,1,0,,,, +1743089,2023-11-01 13:12:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368731,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,28,0,0,265.99,,28,False,,15,1,0,,,, +1743090,2023-11-01 13:13:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,,0,270,1567368789,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,29,0,0,265.99,,28,False,,15,1,0,,,, +1743091,2023-11-01 13:14:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,,80,,,,,False,ACSingleWireCAN,80,True,90,,80,15.3,,0,100,266.01,False,Complete,,,False,1567407600,203.04,0,,32,False,66.5,50,52.5,,0,270,1567368851,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,30,0,0,265.99,,28,False,,15,1,0,,,, +1743092,2023-11-01 13:15:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.97,0,80,32,Engaged,,0,False,ACSingleWireCAN,80,True,90,False,80,15.3,True,0,100,266.01,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66.5,50,52.5,27.3,0,270,1567368909,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,77,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743093,2023-11-01 13:16:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743094,2023-11-01 13:17:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743095,2023-11-01 13:18:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743096,2023-11-01 13:19:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743097,2023-11-01 13:20:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743098,2023-11-01 13:21:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743099,2023-11-01 13:22:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743100,2023-11-01 13:23:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743101,2023-11-01 13:24:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743102,2023-11-01 13:25:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743103,2023-11-01 13:26:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743104,2023-11-01 13:27:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743105,2023-11-01 13:28:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743106,2023-11-01 13:29:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743107,2023-11-01 13:30:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1743108,2023-11-01 13:31:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567369870,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,1,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743109,2023-11-01 13:32:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.2,0,270,1567369929,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,2,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743110,2023-11-01 13:33:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567369990,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,3,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743111,2023-11-01 13:34:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.2,0,270,1567370049,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,4,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743112,2023-11-01 13:35:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567370110,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,5,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743113,2023-11-01 13:36:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.2,0,270,1567370169,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,6,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743114,2023-11-01 13:37:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567370229,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,7,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743115,2023-11-01 13:38:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.2,0,270,1567370290,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,8,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743116,2023-11-01 13:39:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567370350,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,9,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743117,2023-11-01 13:40:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.1,0,270,1567370411,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,10,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743118,2023-11-01 13:41:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,203.04,0,0,32,False,66,50,52.5,28.2,0,270,1567370471,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,11,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743119,2023-11-01 13:42:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370531,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,12,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743120,2023-11-01 13:43:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370591,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,13,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743121,2023-11-01 13:44:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.1,0,270,1567370651,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,14,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743122,2023-11-01 13:45:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.1,0,270,1567370711,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743123,2023-11-01 13:46:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370769,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,16,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743124,2023-11-01 13:47:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370833,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,17,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743125,2023-11-01 13:48:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370889,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,18,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743126,2023-11-01 13:49:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.61,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.19,True,0,100,265.55,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,66,50,52.5,28.2,0,270,1567370950,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,19,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743127,2023-11-01 13:50:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.2,0,270,1567371008,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,20,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743128,2023-11-01 13:51:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.2,0,270,1567371073,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,21,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743129,2023-11-01 13:52:09,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.1,0,270,1567371129,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,22,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743130,2023-11-01 13:53:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.1,0,270,1567371191,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,23,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743131,2023-11-01 13:54:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.1,0,270,1567371249,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,24,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743132,2023-11-01 13:55:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.2,0,270,1567371312,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,25,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743133,2023-11-01 13:56:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.1,0,270,1567371370,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,26,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743134,2023-11-01 13:57:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.2,0,270,1567371429,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,27,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743135,2023-11-01 13:58:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.2,0,270,1567371489,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,28,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743136,2023-11-01 13:59:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.3,0,270,1567371551,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,82,69,77,38508.1998,6590,0,0,0,,29,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743137,2023-11-01 14:00:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,80,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567371609,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,30,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743138,2023-11-01 14:01:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567371668,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743139,2023-11-01 14:02:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743140,2023-11-01 14:03:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743141,2023-11-01 14:04:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743142,2023-11-01 14:05:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743143,2023-11-01 14:06:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743144,2023-11-01 14:07:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743145,2023-11-01 14:08:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743146,2023-11-01 14:09:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743147,2023-11-01 14:10:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743148,2023-11-01 14:11:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743149,2023-11-01 14:12:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743150,2023-11-01 14:13:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743151,2023-11-01 14:14:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743152,2023-11-01 14:15:09,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743153,2023-11-01 14:16:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1743154,2023-11-01 14:17:09,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567372629,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,1,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743155,2023-11-01 14:18:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567372689,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,2,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743156,2023-11-01 14:19:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567372750,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,3,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743157,2023-11-01 14:20:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567372809,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,4,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743158,2023-11-01 14:21:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567372870,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,5,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743159,2023-11-01 14:22:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567372929,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,6,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743160,2023-11-01 14:23:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567372990,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,7,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743161,2023-11-01 14:24:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567373050,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,8,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743162,2023-11-01 14:25:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567373111,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,9,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743163,2023-11-01 14:26:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567373170,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,10,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743164,2023-11-01 14:27:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567373231,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,11,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743165,2023-11-01 14:28:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.6,0,270,1567373290,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,12,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743166,2023-11-01 14:29:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567373351,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,13,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743167,2023-11-01 14:30:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.69,0,0,32,False,65.5,50,52,28.5,0,270,1567373410,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,14,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743168,2023-11-01 14:31:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373471,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743169,2023-11-01 14:32:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373529,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,16,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743170,2023-11-01 14:33:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373590,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,17,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743171,2023-11-01 14:34:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373649,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,18,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743172,2023-11-01 14:35:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373710,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,19,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743173,2023-11-01 14:36:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373769,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,20,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743174,2023-11-01 14:37:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.5,0,270,1567373830,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,21,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743175,2023-11-01 14:38:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567373890,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,22,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743176,2023-11-01 14:39:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.5,0,270,1567373951,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,23,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743177,2023-11-01 14:40:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,210.25,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,15.08,True,0,100,265.09,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65.5,50,52,28.6,0,270,1567374011,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,24,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743178,2023-11-01 14:41:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567374071,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,25,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743179,2023-11-01 14:42:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567374130,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,26,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743180,2023-11-01 14:43:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.6,0,270,1567374191,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,27,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743181,2023-11-01 14:44:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567374250,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,28,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743182,2023-11-01 14:45:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567374311,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,29,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743183,2023-11-01 14:46:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.6,0,270,1567374370,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,30,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743184,2023-11-01 14:47:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567374431,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,False,-15,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743185,2023-11-01 14:48:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743186,2023-11-01 14:49:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743187,2023-11-01 14:50:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743188,2023-11-01 14:51:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743189,2023-11-01 14:52:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743190,2023-11-01 14:53:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743191,2023-11-01 14:54:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743192,2023-11-01 14:55:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743193,2023-11-01 14:56:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743194,2023-11-01 14:57:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743195,2023-11-01 14:58:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743196,2023-11-01 14:59:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743197,2023-11-01 15:00:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743198,2023-11-01 15:01:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743199,2023-11-01 15:02:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,True,0,0,0,265.99,,,,,,,,,,, +1743200,2023-11-01 15:03:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375391,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,1,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743201,2023-11-01 15:04:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375450,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,2,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743202,2023-11-01 15:05:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375511,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,3,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743203,2023-11-01 15:06:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375570,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,4,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743204,2023-11-01 15:07:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375631,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,5,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743205,2023-11-01 15:08:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375690,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,6,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743206,2023-11-01 15:09:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375751,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,7,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743207,2023-11-01 15:10:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567375810,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,8,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743208,2023-11-01 15:11:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567375871,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,9,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743209,2023-11-01 15:12:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567375930,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,10,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743210,2023-11-01 15:13:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567375991,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,11,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743211,2023-11-01 15:14:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567376049,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,12,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743212,2023-11-01 15:15:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.5,0,270,1567376110,0,,,,,0,21.1,True,21.1,25,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,77,38508.1998,6590,0,0,0,,13,0,0,265.99,-267,28,False,-267,15,1,0,,,, +1743213,2023-11-01 15:16:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,201.99,0,0,32,False,65,50,51.5,28.4,0,270,1567376169,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,14,0,0,265.99,,28,False,,15,1,0,,,, +1743214,2023-11-01 15:17:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376230,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,15,0,0,265.99,,28,False,,15,1,0,,,, +1743215,2023-11-01 15:18:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376289,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,16,0,0,265.99,,28,False,,15,1,0,,,, +1743216,2023-11-01 15:19:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,False,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376351,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,17,0,0,265.99,,28,False,,15,1,0,,,, +1743217,2023-11-01 15:20:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376409,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,18,0,0,265.99,,28,False,,15,1,0,,,, +1743218,2023-11-01 15:21:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376470,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,19,0,0,265.99,,28,False,,15,1,0,,,, +1743219,2023-11-01 15:22:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376531,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,20,0,0,265.99,,28,False,,15,1,0,,,, +1743220,2023-11-01 15:23:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376590,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,21,0,0,265.99,,28,False,,15,1,0,,,, +1743221,2023-11-01 15:24:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376649,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,22,0,0,265.99,,28,False,,15,1,0,,,, +1743222,2023-11-01 15:25:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376710,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,23,0,0,265.99,,28,False,,15,1,0,,,, +1743223,2023-11-01 15:26:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376769,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,24,0,0,265.99,,28,False,,15,1,0,,,, +1743224,2023-11-01 15:27:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376830,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,25,0,0,265.99,,28,False,,15,1,0,,,, +1743225,2023-11-01 15:28:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567376889,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,26,0,0,265.99,,28,False,,15,1,0,,,, +1743226,2023-11-01 15:29:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,28.4,0,270,1567376951,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,27,0,0,265.99,,28,False,,15,1,0,,,, +1743227,2023-11-01 15:30:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,28.4,0,270,1567377009,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,83,69,,38508.1998,6590,0,0,0,,28,0,0,265.99,,28,False,,15,1,0,,,, +1743228,2023-11-01 15:31:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,,0,270,1567377071,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,29,0,0,265.99,,28,False,,15,1,0,,,, +1743229,2023-11-01 15:32:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,,0,270,1567377129,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,,30,0,0,265.99,,28,False,,15,1,0,,,, +1743230,2023-11-01 15:33:10,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Disengaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,False,0,100,264.63,False,Complete,False,,False,1567407600,202.34,0,,32,False,65,50,51.5,,0,270,1567377189,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,,,,38508.1998,6590,0,0,0,False,-15,0,0,265.99,,28,False,,15,1,0,,,, +1743231,2023-11-01 15:34:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-14,0,0,265.99,,,,,,,,,,, +1743232,2023-11-01 15:35:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-13,0,0,265.99,,,,,,,,,,, +1743233,2023-11-01 15:36:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-12,0,0,265.99,,,,,,,,,,, +1743234,2023-11-01 15:37:10,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-11,0,0,265.99,,,,,,,,,,, +1743235,2023-11-01 15:38:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-10,0,0,265.99,,,,,,,,,,, +1743236,2023-11-01 15:39:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-9,0,0,265.99,,,,,,,,,,, +1743237,2023-11-01 15:40:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-8,0,0,265.99,,,,,,,,,,, +1743238,2023-11-01 15:41:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-7,0,0,265.99,,,,,,,,,,, +1743239,2023-11-01 15:42:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-6,0,0,265.99,,,,,,,,,,, +1743240,2023-11-01 15:43:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-5,0,0,265.99,,,,,,,,,,, +1743241,2023-11-01 15:44:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-4,0,0,265.99,,,,,,,,,,, +1743242,2023-11-01 15:45:11,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-3,0,0,265.99,,,,,,,,,,, +1743243,2023-11-01 15:46:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-2,0,0,265.99,,,,,,,,,,, +1743244,2023-11-01 15:47:12,,,,,,,,,,,,,online,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,0,0,0,False,-1,0,0,265.99,,,,,,,,,,, +1743245,2023-11-01 15:48:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6590,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743246,2023-11-01 15:49:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743247,2023-11-01 15:50:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743248,2023-11-01 15:51:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743249,2023-11-01 15:52:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743250,2023-11-01 15:53:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743251,2023-11-01 15:54:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743252,2023-11-01 15:55:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743253,2023-11-01 15:56:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743254,2023-11-01 15:57:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743255,2023-11-01 15:58:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743256,2023-11-01 15:59:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743257,2023-11-01 16:00:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743258,2023-11-01 16:01:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743259,2023-11-01 16:02:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743260,2023-11-01 16:03:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743261,2023-11-01 16:04:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743262,2023-11-01 16:05:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743263,2023-11-01 16:06:13,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743264,2023-11-01 16:07:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743265,2023-11-01 16:08:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743266,2023-11-01 16:09:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743267,2023-11-01 16:10:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743268,2023-11-01 16:11:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743269,2023-11-01 16:12:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743270,2023-11-01 16:13:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743271,2023-11-01 16:14:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743272,2023-11-01 16:15:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743273,2023-11-01 16:16:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743274,2023-11-01 16:17:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743275,2023-11-01 16:18:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743276,2023-11-01 16:19:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743277,2023-11-01 16:20:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743278,2023-11-01 16:21:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743279,2023-11-01 16:22:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743280,2023-11-01 16:23:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743281,2023-11-01 16:24:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743282,2023-11-01 16:25:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743283,2023-11-01 16:26:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743284,2023-11-01 16:27:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743285,2023-11-01 16:28:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743286,2023-11-01 16:29:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743287,2023-11-01 16:30:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743288,2023-11-01 16:31:11,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743289,2023-11-01 16:32:12,,,,,,,,,,,,,asleep,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,3444,0,0,,0,0,0,265.99,,,,,,,,,,, +1743290,2023-11-01 16:33:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,27.3,0,270,1567380820,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,3444,0,0,,0,0,0,265.99,,28,False,,15,1,0,,,, +1743291,2023-11-01 16:34:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,,80,,Engaged,,,False,ACSingleWireCAN,79,True,90,,79,14.98,True,0,100,264.63,False,Complete,,,False,1567407600,202.34,0,,32,False,65,50,51.5,27.3,0,270,1567380851,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,0,0,0,,1,0,0,265.99,,28,False,,15,1,0,,,, +1743292,2023-11-01 16:35:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,27.3,0,270,1567380910,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,0,0,0,,2,0,0,265.99,,28,False,,15,1,0,,,, +1743293,2023-11-01 16:36:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,27.3,0,270,1567380970,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,0,0,0,,3,0,0,265.99,,28,False,,15,1,0,,,, +1743294,2023-11-01 16:37:11,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,32,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,27.3,0,270,1567381030,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,0,0,0,,4,0,0,265.99,,28,False,,15,1,0,,,, +1743295,2023-11-01 16:38:12,,,,,,,,1YYSA1YYYFF08YYYY,,,,,online,,0,32,False,False,,False,,209.88,0,80,,Engaged,,0,False,ACSingleWireCAN,79,True,90,False,79,14.98,True,0,100,264.63,False,Complete,False,False,False,1567407600,202.34,0,0,32,False,65,50,51.5,27.3,0,270,1567381090,0,,,,,0,21.1,,21.1,,,False,,False,0,0,False,,,,,,,1,False,True,,True,,0,38508.199878,False,0,,,,False,True,0,0,,1,6,0,0,Black,0,disabled,unknown,True,82420,0,,models,Base19,True,0,,2019.28.3.1 f9e95acd,,,81,69,,38508.1998,6591,0,0,0,,5,0,0,265.99,,28,False,,15,1,0,,,, diff --git a/test/teslamate/import_test.exs b/test/teslamate/import_test.exs index f4e2525b80..59eddb6d34 100644 --- a/test/teslamate/import_test.exs +++ b/test/teslamate/import_test.exs @@ -471,6 +471,34 @@ defmodule TeslaMate.ImportTest do assert [] = all(State) end + @tag :capture_log + test "accepts newer teslafi format where vin and id may not be defined", %{pid: pid} do + {:ok, _pid} = start_supervised({Import, directory: "#{@dir}/07_alternative_variant"}) + + assert %Import.Status{files: [f], message: nil, state: :idle} = Import.get_status() + + assert f == %{ + complete: false, + date: [2023, 11], + path: "#{@dir}/07_alternative_variant/112023.csv" + } + + with_mock Repair, trigger_run: fn -> ok_fn(:trigger_run, pid) end do + assert :ok = Import.subscribe() + assert :ok = Import.run("America/Los_Angeles") + + assert_receive %Status{files: [%{complete: false}], state: :running}, 3000 + assert_receive %Status{files: [%{complete: false}], state: :running}, 3000 + assert_receive %Status{files: [%{complete: true}], state: :running}, 3000 + assert_receive %Status{files: [%{complete: true}], state: :complete}, 3000 + + assert_receive :trigger_run + assert_receive :trigger_run + + refute_receive _ + end + end + @tag :capture_log test "captures errors of the vehicle process", %{pid: _pid} do {:ok, _pid} = start_supervised({Import, directory: "#{@dir}/04_error"}) diff --git a/website/docs/configuration/environment_variables.md b/website/docs/configuration/environment_variables.md index d1504f6640..93d981932f 100644 --- a/website/docs/configuration/environment_variables.md +++ b/website/docs/configuration/environment_variables.md @@ -37,3 +37,4 @@ TeslaMate accepts the following environment variables for runtime configuration: | **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | | **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | | **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | +| **TESLAFI_IMPORT_VEHICLE_ID** | The default Vehicle ID used when importing from TeslaFi. If it is not defined and the import source does not contain the data, 1 is used. diff --git a/website/docs/import/teslafi.md b/website/docs/import/teslafi.md index 02aa67f02d..ba17ea19b3 100644 --- a/website/docs/import/teslafi.md +++ b/website/docs/import/teslafi.md @@ -47,6 +47,10 @@ sidebar_label: TeslaFi If there is an overlap between the already existing TeslaMate and TeslaFi data, only the data prior to the first TeslaMate data will be imported. ::: +:::note +If the CSV files are missing the vehicle ID, the imported will default to `1`. You can alter this behavior by setting the environment variable `TESLAFI_IMPORT_VEHICLE_ID`. +::: + :::note Since the exported CSV files do not contain addresses, they are added automatically during and after the import. So please note that not all addresses are visible immediately after the import/restarting. Depending on the amount of data imported, it may take a while before they appear. The same applies to elevation data. ::: From 2faa4cca353e2182186e60bc01ee389637c21bb5 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Fri, 24 May 2024 09:02:24 +0200 Subject: [PATCH 13/61] doc: update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13fb02dec2..68483315e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ ### Improvements and bug fixes +- fix: Update statistics.json: change back uid (#3907 -@DrMichael) +- feat: Update TeslaFi importer to accept newer export formats (#3431 - @ithinuel) + #### Build, CI, internal #### Dashboards From a80e0aad4196ceb76338bd50186e601861986a3f Mon Sep 17 00:00:00 2001 From: Suthep Yonphimai Date: Fri, 24 May 2024 17:30:39 +0700 Subject: [PATCH 14/61] Update default.po (#3906) Update Thai in default.po. Correct some words in default.po. --- priv/gettext/th/LC_MESSAGES/default.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/priv/gettext/th/LC_MESSAGES/default.po b/priv/gettext/th/LC_MESSAGES/default.po index 09ad25928f..834ac34105 100644 --- a/priv/gettext/th/LC_MESSAGES/default.po +++ b/priv/gettext/th/LC_MESSAGES/default.po @@ -145,7 +145,7 @@ msgstr "สร้างขอบเขตทางภูมิศาสตร์ #: lib/teslamate_web/templates/layout/root.html.heex:96 #, elixir-autogen, elixir-format msgid "Geo-Fences" -msgstr "เขตทางภูมิศาสตร์" +msgstr "ขอบเขตทางภูมิศาสตร์" #: lib/teslamate_web/live/settings_live/index.html.heex:55 #, elixir-autogen, elixir-format @@ -472,7 +472,7 @@ msgstr "ค่าใช้จ่ายการชาร์จ" #: lib/teslamate_web/live/settings_live/index.html.heex:106 #, elixir-autogen, elixir-format msgid "Free Supercharging" -msgstr "ฟรีซูเปอร์ชาร์จ" +msgstr "ซูเปอร์ชาร์จฟรี" #: lib/teslamate_web/live/settings_live/index.html.heex:142 #, elixir-autogen, elixir-format @@ -637,19 +637,19 @@ msgstr "แรงดันลมยาง" #: lib/teslamate_web/live/car_live/summary.html.heex:145 #, elixir-autogen, elixir-format msgid "Low tire pressure, check (%{tire_low}) tire" -msgstr "" +msgstr "แรงดันลมยางต่ำ ตรวจสอบยาง (%{tire_low})" #: lib/teslamate_web/live/car_live/summary.html.heex:65 #, elixir-autogen, elixir-format msgid "Dog Mode" -msgstr "" +msgstr "โหมดสำหรับสุนัข" #: lib/teslamate_web/live/car_live/summary.ex:139 #, elixir-autogen, elixir-format msgid "Dog mode is enabled" -msgstr "" +msgstr "เปิดใช้งานโหมดสำหรับสุนัขแล้ว" #: lib/teslamate_web/live/car_live/summary.html.heex:231 #, elixir-autogen, elixir-format msgid "Expected Finish Time" -msgstr "" +msgstr "เวลาที่คาดว่าจะเสร็จสิ้น" From d3034dfe66f39aa12c8926d51cea1b85ef752aa9 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Fri, 24 May 2024 12:31:26 +0200 Subject: [PATCH 15/61] doc: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68483315e7..14aecb0d48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ #### Translations +- feat: Update default.po for Thai translation (#3906 - @tomzt) + #### Documentation - doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908 - @JakobLichterfeld) From 95d899dec761c70ec4dd384ae9b72fc288629673 Mon Sep 17 00:00:00 2001 From: Daniel Hansson Date: Sat, 25 May 2024 09:08:20 +0200 Subject: [PATCH 16/61] feat: Upgrade PostgreSQL to v16 (#3884) * Upgrade PostgreSQL to v16 Just tested, and seems to work! * also add `pg_dumpall` as default command for backup * revert pg_dumpall * further version change * further version change --- website/docs/guides/apache.md | 2 +- website/docs/guides/traefik.md | 2 +- website/docs/installation/docker.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/guides/apache.md b/website/docs/guides/apache.md index 9738e56d7c..19e4bad871 100644 --- a/website/docs/guides/apache.md +++ b/website/docs/guides/apache.md @@ -50,7 +50,7 @@ services: - all database: - image: postgres:15 + image: postgres:16 restart: always environment: - POSTGRES_USER=${TM_DB_USER} diff --git a/website/docs/guides/traefik.md b/website/docs/guides/traefik.md index 8d5a8bb51f..31a8ef4eca 100644 --- a/website/docs/guides/traefik.md +++ b/website/docs/guides/traefik.md @@ -60,7 +60,7 @@ services: - ALL database: - image: postgres:15 + image: postgres:16 restart: always environment: - POSTGRES_USER=${TM_DB_USER} diff --git a/website/docs/installation/docker.md b/website/docs/installation/docker.md index 384042cf6b..fabf187926 100644 --- a/website/docs/installation/docker.md +++ b/website/docs/installation/docker.md @@ -38,7 +38,7 @@ This setup is recommended only if you are running TeslaMate **on your home netwo - all database: - image: postgres:15 + image: postgres:16 restart: always environment: - POSTGRES_USER=teslamate From 8a91bc0240155b51444dc3dc5e175204f75fffdd Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Sat, 25 May 2024 09:09:07 +0200 Subject: [PATCH 17/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14aecb0d48..1cf86fdfb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - fix: Update statistics.json: change back uid (#3907 -@DrMichael) - feat: Update TeslaFi importer to accept newer export formats (#3431 - @ithinuel) +- feat: Upgrade PostgreSQL to v16 (#3884 -@enoch85) #### Build, CI, internal From 75db8e7903a75c82d5cf509da372a3476fd924c9 Mon Sep 17 00:00:00 2001 From: JakobLichterfeld Date: Sat, 25 May 2024 09:10:39 +0200 Subject: [PATCH 18/61] ci: Upgrade PostgreSQL to v16 in elixir workflow (#3916) --- .github/workflows/elixir.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 83202e6752..589275b5ee 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -129,7 +129,7 @@ jobs: services: db: - image: postgres:15 + image: postgres:16 ports: ["5432:5432"] env: POSTGRES_PASSWORD: postgres From ddafd091adc233548a898e411c352175d11df0ad Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Sat, 25 May 2024 09:12:16 +0200 Subject: [PATCH 19/61] doc: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf86fdfb1..703c75f319 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ #### Build, CI, internal +- ci: Upgrade PostgreSQL to v16 in elixir workflow (#3916 - @JakobLichterfeld) + #### Dashboards #### Translations From 43134093230c35cf8d61745599719bbf95ef3048 Mon Sep 17 00:00:00 2001 From: jlestel Date: Mon, 27 May 2024 11:03:23 +0200 Subject: [PATCH 20/61] feat: Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3903) * feat: endpoints by env * fix: typo * fix: useless env * fix: format * fix: distinct auth domain and url * format * fix: force issuer url if needed * feat: new streaming based on vin * fix refresh * revert * up * feat: no need for access token / refresh token if the TOKEN env var is present * feat: update login if token env var exists * feat: add ENV var to allow insecure wss * fix: remove TESLA_CN * fix(naming): TESLA_API_URL to TESLA_API_DOMAIN * feat: add an env var to allo invalid certs on WSS * doc: add API domains env vars description * fix: typo * feat: add env var to change log level * fix: APP_LOG_LEVEL * feat: add TOKEN documention and wording * fix: refacto insecure param * feat: naming and doc * fix: missing env var usage * fix: rebound variable issuer_url * fix: compilation warning on the issuer_url variable * fix: format code * fix: issuer_url assignments --------- Co-authored-by: Julien --- lib/tesla_api/auth.ex | 23 +++- lib/tesla_api/auth/refresh.ex | 12 +- lib/tesla_api/stream.ex | 13 +- lib/tesla_api/vehicle.ex | 23 ++-- lib/teslamate/http.ex | 2 +- lib/teslamate/vehicles/vehicle.ex | 9 +- lib/teslamate_web/live/signin_live/index.ex | 4 +- .../live/signin_live/index.html.heex | 112 +++++++++++------- priv/gettext/da/LC_MESSAGES/default.po | 23 ++-- priv/gettext/de/LC_MESSAGES/default.po | 23 ++-- priv/gettext/default.pot | 23 ++-- priv/gettext/en/LC_MESSAGES/default.po | 23 ++-- priv/gettext/es/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fi/LC_MESSAGES/default.po | 23 ++-- priv/gettext/fr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/it/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ja/LC_MESSAGES/default.po | 23 ++-- priv/gettext/ko/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nb/LC_MESSAGES/default.po | 23 ++-- priv/gettext/nl/LC_MESSAGES/default.po | 23 ++-- priv/gettext/sv/LC_MESSAGES/default.po | 23 ++-- priv/gettext/th/LC_MESSAGES/default.po | 23 ++-- priv/gettext/tr/LC_MESSAGES/default.po | 23 ++-- priv/gettext/uk/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hans/LC_MESSAGES/default.po | 23 ++-- priv/gettext/zh_Hant/LC_MESSAGES/default.po | 23 ++-- .../configuration/environment_variables.md | 69 ++++++----- 27 files changed, 424 insertions(+), 257 deletions(-) diff --git a/lib/tesla_api/auth.ex b/lib/tesla_api/auth.ex index dbb684454b..e045710b6d 100644 --- a/lib/tesla_api/auth.ex +++ b/lib/tesla_api/auth.ex @@ -18,7 +18,7 @@ defmodule TeslaApi.Auth do adapter Tesla.Adapter.Finch, name: TeslaMate.HTTP, receive_timeout: 60_000 plug TeslaApi.Middleware.FollowRedirects, except: [@redirect_uri] - plug Tesla.Middleware.BaseUrl, "https://auth.tesla.com" + plug Tesla.Middleware.BaseUrl, System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") plug Tesla.Middleware.Headers, @default_headers plug Tesla.Middleware.JSON plug Tesla.Middleware.Logger, debug: true, log_level: &log_level/1 @@ -56,9 +56,24 @@ defmodule TeslaApi.Auth do end end - defp derive_issuer_url_from_oat("qts-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} - defp derive_issuer_url_from_oat("eu-" <> _), do: {:ok, "https://auth.tesla.com/oauth2/v3"} - defp derive_issuer_url_from_oat("cn-" <> _), do: {:ok, "https://auth.tesla.cn/oauth2/v3"} + defp derive_issuer_url_from_oat("qts-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + + defp derive_issuer_url_from_oat("eu-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + + defp derive_issuer_url_from_oat("cn-" <> _), + do: + {:ok, + System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") <> + System.get_env("TESLA_AUTH_PATH", "/oauth2/v3")} + defp derive_issuer_url_from_oat(_), do: :error defp decode_jwt_payload(jwt) do diff --git a/lib/tesla_api/auth/refresh.ex b/lib/tesla_api/auth/refresh.ex index c31f8ae978..f61110b1af 100644 --- a/lib/tesla_api/auth/refresh.ex +++ b/lib/tesla_api/auth/refresh.ex @@ -6,7 +6,12 @@ defmodule TeslaApi.Auth.Refresh do @web_client_id TeslaApi.Auth.web_client_id() def refresh(%Auth{} = auth) do - issuer_url = Auth.issuer_url(auth) + issuer_url = + if System.get_env("TESLA_AUTH_HOST", "") == "" do + Auth.issuer_url(auth) + else + System.get_env("TESLA_AUTH_HOST", "") <> System.get_env("TESLA_AUTH_PATH", "") + end data = %{ grant_type: "refresh_token", @@ -15,7 +20,10 @@ defmodule TeslaApi.Auth.Refresh do refresh_token: auth.refresh_token } - case post("#{issuer_url}/token", data) do + case post( + "#{issuer_url}/token" <> System.get_env("TOKEN", ""), + data + ) do {:ok, %Tesla.Env{status: 200, body: body}} -> auth = %Auth{ token: body["access_token"], diff --git a/lib/tesla_api/stream.ex b/lib/tesla_api/stream.ex index 6d9fbd9c81..ac420b96dc 100644 --- a/lib/tesla_api/stream.ex +++ b/lib/tesla_api/stream.ex @@ -32,8 +32,15 @@ defmodule TeslaApi.Stream do endpoint_url = case Auth.region(state.auth) do - :chinese -> "wss://streaming.vn.cloud.tesla.cn/streaming/" - _global -> "wss://streaming.vn.teslamotors.com/streaming/" + :chinese -> + System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.cloud.tesla.cn") <> + "/streaming/" <> + System.get_env("TOKEN", "") + + _global -> + System.get_env("TESLA_WSS_HOST", "wss://streaming.vn.teslamotors.com") <> + "/streaming/" <> + System.get_env("TOKEN", "") end WebSockex.start_link(endpoint_url, __MODULE__, state, @@ -41,7 +48,7 @@ defmodule TeslaApi.Stream do socket_recv_timeout: :timer.seconds(30), name: :"stream_#{state.vehicle_id}", cacerts: @cacerts, - insecure: false, + insecure: System.get_env("TESLA_WSS_TLS_ACCEPT_INVALID_CERTS", "") == "true", async: true ) end diff --git a/lib/tesla_api/vehicle.ex b/lib/tesla_api/vehicle.ex index 3f24fcd252..069f1fe6f5 100644 --- a/lib/tesla_api/vehicle.ex +++ b/lib/tesla_api/vehicle.ex @@ -25,33 +25,38 @@ defmodule TeslaApi.Vehicle do def list(%Auth{} = auth) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/products", opts: [access_token: auth.token]) + TeslaApi.get(endpoint_url <> "/api/1/products" <> System.get_env("TOKEN", ""), + opts: [access_token: auth.token] + ) |> handle_response(transform: &list_result/1) end def get(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}", opts: [access_token: auth.token]) + TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}" <> System.get_env("TOKEN", ""), + opts: [access_token: auth.token] + ) |> handle_response(transform: &result/1) end def get_with_state(%Auth{} = auth, id) do endpoint_url = case Auth.region(auth) do - :chinese -> "https://owner-api.vn.cloud.tesla.cn" - _global -> "https://owner-api.teslamotors.com" + :chinese -> System.get_env("TESLA_API_HOST", "https://owner-api.vn.cloud.tesla.cn") + _global -> System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") end - TeslaApi.get(endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data", + TeslaApi.get( + endpoint_url <> "/api/1/vehicles/#{id}/vehicle_data" <> System.get_env("TOKEN", ""), query: [ endpoints: "charge_state;climate_state;closures_state;drive_state;gui_settings;location_data;vehicle_config;vehicle_state;vehicle_data_combo" diff --git a/lib/teslamate/http.ex b/lib/teslamate/http.ex index e75132ea40..4b5dc3cfb8 100644 --- a/lib/teslamate/http.ex +++ b/lib/teslamate/http.ex @@ -1,6 +1,6 @@ defmodule TeslaMate.HTTP do @pools %{ - "https://owner-api.teslamotors.com" => [size: 10], + System.get_env("TESLA_API_HOST", "https://owner-api.teslamotors.com") => [size: 10], "https://nominatim.openstreetmap.org" => [size: 3], "https://api.github.com" => [size: 1], :default => [size: 5] diff --git a/lib/teslamate/vehicles/vehicle.ex b/lib/teslamate/vehicles/vehicle.ex index 40c660f4e1..a3e05c2a14 100644 --- a/lib/teslamate/vehicles/vehicle.ex +++ b/lib/teslamate/vehicles/vehicle.ex @@ -1587,8 +1587,15 @@ defmodule TeslaMate.Vehicles.Vehicle do me = self() + id = + if System.get_env("TESLA_WSS_USE_VIN") do + data.car.vin + else + data.car.vid + end + call(data.deps.api, :stream, [ - data.car.vid, + id, fn stream_data -> send(me, {:stream, stream_data}) end ]) end diff --git a/lib/teslamate_web/live/signin_live/index.ex b/lib/teslamate_web/live/signin_live/index.ex index 647215f03d..d66d43fd2a 100644 --- a/lib/teslamate_web/live/signin_live/index.ex +++ b/lib/teslamate_web/live/signin_live/index.ex @@ -13,7 +13,9 @@ defmodule TeslaMateWeb.SignInLive.Index do page_title: gettext("Sign in"), error: nil, task: nil, - changeset: Auth.change_tokens() + changeset: Auth.change_tokens(), + token: System.get_env("TOKEN", ""), + provider: System.get_env("TESLA_AUTH_HOST", "https://auth.tesla.com") } {:ok, assign(socket, assigns)} diff --git a/lib/teslamate_web/live/signin_live/index.html.heex b/lib/teslamate_web/live/signin_live/index.html.heex index 18ff1a5eee..4d750b15ca 100644 --- a/lib/teslamate_web/live/signin_live/index.html.heex +++ b/lib/teslamate_web/live/signin_live/index.html.heex @@ -14,37 +14,56 @@ <% end %> -
- <%= label(f, :access, gettext("Access Token"), class: "label") %> -
- <%= text_input(f, :access, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - + <%= if @token == "" do %> +
+ <%= label(f, :access, gettext("Access Token"), class: "label") %> +
+ <%= text_input(f, :access, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task + ) %> + + + +
-
-
- <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> -
- <%= text_input(f, :refresh, - class: "input is-rounded", - autocorrect: "off", - autocapitalize: "none", - spellcheck: "false", - disabled: !!@task - ) %> - - - +
+ <%= label(f, :refresh, gettext("Refresh Token"), class: "label") %> +
+ <%= text_input(f, :refresh, + class: "input is-rounded", + autocorrect: "off", + autocapitalize: "none", + spellcheck: "false", + disabled: !!@task + ) %> + + + +
-
+ <% else %> +

+ <% provider_link = + link(@provider, + to: @provider, + target: "_blank", + rel: "noopener noreferrer" + ) %> + + <%= raw( + gettext( + "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming.", + token: @token, + url: safe_to_string(provider_link) + ) + ) %> +

+ <% end %>
@@ -56,27 +75,34 @@ "is-link", if(!!@task, do: "is-loading") ], - disabled: !@changeset.valid?, + disabled: + if @token == "" do + !@changeset.valid? + else + false + end, phx_disable_with: gettext("Saving...") ) %>
-

- <% here_link = - link(gettext("here"), - to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", - target: "_blank", - rel: "noopener noreferrer" - ) %> + <%= if @token == "" do %> +

+ <% here_link = + link(gettext("here"), + to: "https://docs.teslamate.org/docs/faq#how-to-generate-your-own-tokens", + target: "_blank", + rel: "noopener noreferrer" + ) %> - <%= raw( - gettext( - "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", - here: safe_to_string(here_link) - ) - ) %> -

+ <%= raw( + gettext( + "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}.", + here: safe_to_string(here_link) + ) + ) %> +

+ <% end %>
diff --git a/priv/gettext/da/LC_MESSAGES/default.po b/priv/gettext/da/LC_MESSAGES/default.po index df98b8ff59..80bcac9c21 100644 --- a/priv/gettext/da/LC_MESSAGES/default.po +++ b/priv/gettext/da/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Gem" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Gemmer..." @@ -194,7 +194,7 @@ msgstr "Tid indtil forsøg på at sove" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Logget ind" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log ind" @@ -575,32 +575,32 @@ msgstr "Softwareopdatering tilgængelig (%{version})" msgid "Sign out" msgstr "Log Ud" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index 894ca335a3..b83e6b8ce4 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Speichern" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichere..." @@ -194,7 +194,7 @@ msgstr "Dauer des Schlafversuchs" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Erfolgreich angemeldet" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zeitzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Anmelden" @@ -575,32 +575,32 @@ msgstr "Software Update verfügbar (%{version})" msgid "Sign out" msgstr "Abmelden" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens sind ungültig" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Der Abruf von Tokens über die Tesla-API erfordert Programmierkenntnisse oder einen Drittanbieterdienst. Informationen dazu sind %{here} verfügbar." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "hier" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Dein Tesla-Konto ist aufgrund von zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt. Um das Konto zu entsperren, setze dein Kennwort zurück" @@ -654,3 +654,8 @@ msgstr "Hundemodus ist aktiviert" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Erwartete Endzeit" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index fd05e6bcf0..bac92fc06a 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 6d5e1daa50..cd5b54a813 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "" @@ -575,32 +575,32 @@ msgstr "" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po index 2348c96f5c..5aa1471f43 100644 --- a/priv/gettext/es/LC_MESSAGES/default.po +++ b/priv/gettext/es/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Guardar" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Guardando..." @@ -194,7 +194,7 @@ msgstr "Duración del intento de reposo" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Sesión iniciada correctamente" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Zona horaria" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Iniciar sesión" @@ -575,32 +575,32 @@ msgstr "Actualización de software disponible (%{version})" msgid "Sign out" msgstr "Cerrar Sesión" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Token de acceso" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Token de renovación" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens no válidos" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "La generación de tokens por medio del API de Tesla requiere habilidades de programación, o un servicio proporcionado por terceros. Se puede encontrar más información %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "aquí" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Su cuenta de Tesla se ha bloqueado por demasiados intentos fallidos de inicio de sesión. Para desbloquearla debe crear una nueva contraseña." @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/fi/LC_MESSAGES/default.po b/priv/gettext/fi/LC_MESSAGES/default.po index 06f871cafe..4ef4682e38 100644 --- a/priv/gettext/fi/LC_MESSAGES/default.po +++ b/priv/gettext/fi/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Tallenna" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Tallentaa..." @@ -194,7 +194,7 @@ msgstr "Lepotilaan menon kesto" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Kirjauduttu sisään onnistuneesti" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Aikavyöhyke" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Kirjaudu sisään" @@ -575,32 +575,32 @@ msgstr "Päivitys saatavilla (%{version})" msgid "Sign out" msgstr "Kirjaudu ulos" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po index 0a4b2e6e60..1024621acd 100644 --- a/priv/gettext/fr/LC_MESSAGES/default.po +++ b/priv/gettext/fr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Enregistrer" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Enregistrement..." @@ -194,7 +194,7 @@ msgstr "Temps avant d'essayer de dormir" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Connecté avec succès" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuseau horaire" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Connexion" @@ -575,32 +575,32 @@ msgstr "Mise à jour disponible (%{version})" msgid "Sign out" msgstr "Déconnexion" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Jeton d'accès" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Jeton d'actualisation" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Les jetons ne sont pas valides" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "L'obtention de jetons via l'API Tesla nécessite une expérience de programmation ou un service tiers. Les informations peuvent être trouvées %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ici" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Votre compte Tesla est verrouillé en raison d'un trop grand nombre de tentatives de connexion infructueuses. Pour déverrouiller votre compte, réinitialisez votre mot de passe" @@ -654,3 +654,8 @@ msgstr "Le Mode Chien est actif" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Fin de charge estimée" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po index 89a69c82f2..b77d4c1a0c 100644 --- a/priv/gettext/it/LC_MESSAGES/default.po +++ b/priv/gettext/it/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Salva" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Salvataggio..." @@ -194,7 +194,7 @@ msgstr "Tempo prima di provare a dormire" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Accesso effettuato" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Fuso orario" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Accedi" @@ -575,32 +575,32 @@ msgstr "Aggiornamento disponibile (%{version})" msgid "Sign out" msgstr "Uscire" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Token non validi" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Ottenre i token tramite le API Tesla richede esperienza nel campo della programmazione o un servizio ti terze parti. Si possono trovare maggiori informazioni %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "qui" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Il tuo account Tesla è bloccato a causa di troppi tentativi di accesso. Per sbloccare il tuo account, esegui il reset della tua password" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/ja/LC_MESSAGES/default.po b/priv/gettext/ja/LC_MESSAGES/default.po index 42aab74b5d..2facc3c3de 100644 --- a/priv/gettext/ja/LC_MESSAGES/default.po +++ b/priv/gettext/ja/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中…" @@ -194,7 +194,7 @@ msgstr "スリープ実行時間" msgid "min" msgstr "分" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "サインイン成功" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "タイムゾーン" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "サインイン" @@ -575,32 +575,32 @@ msgstr "ソフトウェアアップデートが可能です (%{version})" msgid "Sign out" msgstr "サインアウト" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Access Token" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Refresh Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "トークンが無効です" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla APIを介してトークンを取得するには、プログラミングの経験またはサードパーティのサービスが必要です。 情報は %{here} にあります" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ここ" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "サインインの試行に失敗した回数が多すぎるため、Teslaアカウントがロックされています。 アカウントのロックを解除するには、パスワードをリセットしてください" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/ko/LC_MESSAGES/default.po b/priv/gettext/ko/LC_MESSAGES/default.po index 19eb8bc368..ed6182b57e 100644 --- a/priv/gettext/ko/LC_MESSAGES/default.po +++ b/priv/gettext/ko/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "저장" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "저장 중..." @@ -194,7 +194,7 @@ msgstr "절전 시도 시간" msgid "min" msgstr "분" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "로그인 성공" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "시간대" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "로그인" @@ -575,32 +575,32 @@ msgstr "소프트웨어 업데이트 가능 (%{version})" msgid "Sign out" msgstr "로그아웃" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "엑세스 토큰" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "리프레시 토큰" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "토큰이 잘못되었습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Tesla API 토큰을 얻으러면 프로그래밍 경험이나 서드파티 서비스가 필요합니다. 관련된 정보는 %{here}에서 찾을 수 있습니다." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "이곳" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "너무 많은 로그인 실패로 Tesla 계정이 잠겼습니다. 계정 잠금을 해제하려면 비밀번호를 재설정하세요." @@ -654,3 +654,8 @@ msgstr "애견 모드가 켜져있습니다." #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "예상 종료 시간" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/nb/LC_MESSAGES/default.po b/priv/gettext/nb/LC_MESSAGES/default.po index 726ae53328..5de40a686c 100644 --- a/priv/gettext/nb/LC_MESSAGES/default.po +++ b/priv/gettext/nb/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "Lagre" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Lagrer..." @@ -195,7 +195,7 @@ msgstr "Tid for forsøk på dvale" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Innlogget" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Tidssone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logg inn" @@ -576,32 +576,32 @@ msgstr "Ny software tilgjengelig (%{version})" msgid "Sign out" msgstr "Logg ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -655,3 +655,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po index cf9974846c..7c9bc0c91d 100644 --- a/priv/gettext/nl/LC_MESSAGES/default.po +++ b/priv/gettext/nl/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Opslaan" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Opslaan..." @@ -194,7 +194,7 @@ msgstr "Tijd om te proberen te slapen" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Succesvol ingelogd" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tijdzone" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Log in" @@ -575,32 +575,32 @@ msgstr "Software-update beschikbaar (%{version})" msgid "Sign out" msgstr "Uitloggen" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/sv/LC_MESSAGES/default.po b/priv/gettext/sv/LC_MESSAGES/default.po index fafc5abaad..bb32a7a9f0 100644 --- a/priv/gettext/sv/LC_MESSAGES/default.po +++ b/priv/gettext/sv/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Spara" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Sparar..." @@ -194,7 +194,7 @@ msgstr "Tid för försök att gå ner i vila" msgid "min" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Inloggad" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Tidszon" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Logga in" @@ -575,32 +575,32 @@ msgstr "Mjukvaruuppdatering tillgänglig (%{version})" msgid "Sign out" msgstr "Logga ut" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "Åtkomsttoken" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "Uppdatera token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens är ogiltiga" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "För att få tokens via Tesla API krävs programmeringserfarenhet eller en tredjeparts tjänst. Information finns %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "här" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ditt Tesla-konto är låst på grund av för många misslyckade inloggningsförsök. Återställ ditt lösenord för att låsa upp ditt konto" @@ -654,3 +654,8 @@ msgstr "Hundläge är aktiverad" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "Förväntad sluttid" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/th/LC_MESSAGES/default.po b/priv/gettext/th/LC_MESSAGES/default.po index 834ac34105..59e05c5aa5 100644 --- a/priv/gettext/th/LC_MESSAGES/default.po +++ b/priv/gettext/th/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "บันทึก" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "กำลังบันทึก..." @@ -194,7 +194,7 @@ msgstr "จำนวนครั้งที่รถพยายามเข้ msgid "min" msgstr "นาที" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "ลงชื่อเข้าใช้เรียบร้อย" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "เขตเวลา" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "เข้าสู่ระบบ" @@ -574,32 +574,32 @@ msgstr "มีการอัปเดตซอฟต์แวร์ (%{version} msgid "Sign out" msgstr "ออกจากระบบ" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "โทเค็นการเข้าถึง" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "รีเฟรชโทเค็น" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "โทเค็นไม่ถูกต้อง" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "การได้รับโทเค็นผ่าน Tesla API ต้องใช้ประสบการณ์การเขียนโปรแกรมหรือบริการของบุคคลที่สาม ข้อมูลสามารถพบได้ที่ %{here}" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "ที่นี่" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "บัญชี Tesla ของคุณถูกล็อคเนื่องจากการพยายามลงชื่อเข้าใช้ที่ล้มเหลวหลายครั้งเกินไป หากต้องการปลดล็อคบัญชีของคุณ ให้รีเซ็ตรหัสผ่านของคุณ" @@ -653,3 +653,8 @@ msgstr "เปิดใช้งานโหมดสำหรับสุนั #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "เวลาที่คาดว่าจะเสร็จสิ้น" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" \ No newline at end of file diff --git a/priv/gettext/tr/LC_MESSAGES/default.po b/priv/gettext/tr/LC_MESSAGES/default.po index 8f08a0fe0b..046ccea76e 100644 --- a/priv/gettext/tr/LC_MESSAGES/default.po +++ b/priv/gettext/tr/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Kaydet" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Kaydediliyor..." @@ -194,7 +194,7 @@ msgstr "Uykuya Dalmayı Deneme Zamanı" msgid "min" msgstr "min" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Oturum başarıyla açıldı" @@ -460,7 +460,7 @@ msgid "Time zone" msgstr "Saat dilimi" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Oturum aç" @@ -575,32 +575,32 @@ msgstr "Yazılım Güncellemesi mevcut (%{version})" msgid "Sign out" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "" @@ -654,3 +654,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/uk/LC_MESSAGES/default.po b/priv/gettext/uk/LC_MESSAGES/default.po index ee6d4b4253..14787bb62f 100644 --- a/priv/gettext/uk/LC_MESSAGES/default.po +++ b/priv/gettext/uk/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "Зберегти" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Зберігаю..." @@ -194,7 +194,7 @@ msgstr "Час до спроби заснути" msgid "min" msgstr "мінімум" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "Вхід успішний" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "Часовий пояс" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "Увійти" @@ -577,32 +577,32 @@ msgstr "Доступне оновлення ПЗ (%{version})" msgid "Sign out" msgstr "Вийти" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Токени не дійсні" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "Для отримання токенів через API Tesla вимагає навичок програмування або доступ до інших сервісів. Інформацію можна знайти %{here}." -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "тут" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "Ваш аккаунт Тесла заблоковано через дуже велику кількість невдалих спроб входу. Щоб розблокувати свій аккаунт, відновіть свій пароль" @@ -656,3 +656,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/zh_Hans/LC_MESSAGES/default.po b/priv/gettext/zh_Hans/LC_MESSAGES/default.po index ee67c8eef1..f1f3869203 100644 --- a/priv/gettext/zh_Hans/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hans/LC_MESSAGES/default.po @@ -179,7 +179,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "保存中" @@ -195,7 +195,7 @@ msgstr "尝试进入睡眠用时" msgid "min" msgstr "分钟" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登录成功" @@ -461,7 +461,7 @@ msgid "Time zone" msgstr "时区" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登录" @@ -576,32 +576,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "退出登录" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "令牌" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "刷新令牌" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "令牌 无效" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "通过 Tesla API 获得令牌需要有编程经验或者借助第三方服务。更多信息可以查看 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "这里" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帐户因登录尝试失败次数过多而被锁定。要解锁您的帐户,请重置您的密码" @@ -655,3 +655,8 @@ msgstr "爱犬模式已激活" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "预计完成时间" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/priv/gettext/zh_Hant/LC_MESSAGES/default.po b/priv/gettext/zh_Hant/LC_MESSAGES/default.po index d34a0fa770..13a9bbf9e0 100644 --- a/priv/gettext/zh_Hant/LC_MESSAGES/default.po +++ b/priv/gettext/zh_Hant/LC_MESSAGES/default.po @@ -178,7 +178,7 @@ msgstr "保存" #: lib/teslamate_web/live/charge_live/cost.html.heex:169 #: lib/teslamate_web/live/geofence_live/form.html.heex:130 -#: lib/teslamate_web/live/signin_live/index.html.heex:60 +#: lib/teslamate_web/live/signin_live/index.html.heex:84 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "儲存中" @@ -194,7 +194,7 @@ msgstr "嘗試進入睡眠" msgid "min" msgstr "分鐘" -#: lib/teslamate_web/live/signin_live/index.ex:81 +#: lib/teslamate_web/live/signin_live/index.ex:83 #, elixir-autogen, elixir-format msgid "Signed in successfully" msgstr "登入成功" @@ -459,7 +459,7 @@ msgid "Time zone" msgstr "時區" #: lib/teslamate_web/live/signin_live/index.ex:13 -#: lib/teslamate_web/live/signin_live/index.html.heex:51 +#: lib/teslamate_web/live/signin_live/index.html.heex:70 #, elixir-autogen, elixir-format msgid "Sign in" msgstr "登入" @@ -573,32 +573,32 @@ msgstr "有可用更新 (%{version})" msgid "Sign out" msgstr "登出" -#: lib/teslamate_web/live/signin_live/index.html.heex:18 +#: lib/teslamate_web/live/signin_live/index.html.heex:19 #, elixir-autogen, elixir-format msgid "Access Token" msgstr "" -#: lib/teslamate_web/live/signin_live/index.html.heex:34 +#: lib/teslamate_web/live/signin_live/index.html.heex:35 #, elixir-autogen, elixir-format msgid "Refresh Token" msgstr "更新Token" -#: lib/teslamate_web/live/signin_live/index.ex:56 +#: lib/teslamate_web/live/signin_live/index.ex:58 #, elixir-autogen, elixir-format msgid "Tokens are invalid" msgstr "Tokens無效" -#: lib/teslamate_web/live/signin_live/index.html.heex:74 +#: lib/teslamate_web/live/signin_live/index.html.heex:99 #, elixir-autogen, elixir-format msgid "Obtaining tokens through the Tesla API requires programming experience or a 3rd-party service. Information can be found %{here}." msgstr "勾過 Tesla API 獲得Token需要有程式編寫經驗或者藉由第三方服務。更多資訊詳見 %{here}。" -#: lib/teslamate_web/live/signin_live/index.html.heex:67 +#: lib/teslamate_web/live/signin_live/index.html.heex:92 #, elixir-autogen, elixir-format msgid "here" msgstr "這裡" -#: lib/teslamate_web/live/signin_live/index.ex:59 +#: lib/teslamate_web/live/signin_live/index.ex:61 #, elixir-autogen, elixir-format msgid "Your Tesla account is locked due to too many failed sign in attempts. To unlock your account, reset your password" msgstr "您的 Tesla 帳號因登入失敗次數過多而被鎖定。要解鎖您的帳戶,請重置您的密碼" @@ -652,3 +652,8 @@ msgstr "寵物模式開啓" #, elixir-autogen, elixir-format msgid "Expected Finish Time" msgstr "預計充電完成時間" + +#: lib/teslamate_web/live/signin_live/index.html.heex:59 +#, elixir-autogen, elixir-format, fuzzy +msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." +msgstr "" diff --git a/website/docs/configuration/environment_variables.md b/website/docs/configuration/environment_variables.md index 93d981932f..7f2f6e84c1 100644 --- a/website/docs/configuration/environment_variables.md +++ b/website/docs/configuration/environment_variables.md @@ -6,35 +6,42 @@ sidebar_label: Environment Variables TeslaMate accepts the following environment variables for runtime configuration: -| Variable Name | Description | Default Value | -| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | -| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | -| **DATABASE_USER** | Username (**required**) | | -| **DATABASE_PASS** | User password (**required**) | | -| **DATABASE_NAME** | The database to connect to (**required**) | | -| **DATABASE_HOST** | Hostname of the database server (**required**) | | -| **DATABASE_PORT** | Port of the database server | 5432 | -| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | -| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | -| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | -| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | -| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | -| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | -| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | -| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | -| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | -| **PORT** | Port where the web interface is exposed | 4000 | -| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | -| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | -| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | -| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | -| **MQTT_USERNAME** | Username | | -| **MQTT_PASSWORD** | Password | | -| **MQTT_TLS** | Enables TLS if `true` | false | -| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | -| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | -| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | -| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | -| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | -| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | +| Variable Name | Description | Default Value | +| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| **ENCRYPTION_KEY** | A key used to encrypt the Tesla API tokens (**required**) | | +| **DATABASE_USER** | Username (**required**) | | +| **DATABASE_PASS** | User password (**required**) | | +| **DATABASE_NAME** | The database to connect to (**required**) | | +| **DATABASE_HOST** | Hostname of the database server (**required**) | | +| **DATABASE_PORT** | Port of the database server | 5432 | +| **DATABASE_POOL_SIZE** | Size of the database connection pool | 10 | +| **DATABASE_TIMEOUT** | The time in milliseconds to wait for database query calls to finish | 60000 | +| **DATABASE_SSL** | Set to `true` if SSL should be enabled or `noverify` if certificate verification should not be performed. | false | +| **DATABASE_SSL_CA_CERT_FILE** | Path to a file containing PEM-encoded CA certificates (required if `DATABASE_SSL` is set to `true`) | | +| **DATABASE_SSL_SNI** | set SNI for host undel ssl mode | | +| **DATABASE_IPV6** | Set to `true` if IPv6 should be used | false | +| **VIRTUAL_HOST** | Host part used for generating URLs throughout the app | localhost | +| **URL_PATH** | Path used for generating URLs (can be used with a reverse proxy) | / | +| **CHECK_ORIGIN** | Configures whether to check the origin header or not. May be `true` (**recommended**), `false` (_default_) or a comma-separated list of hosts that are allowed (e.g. `https://example.com,//another.com:8080`). Hosts also support wildcards. If `true`, it will check against the host value in `VIRTUAL_HOST`. | false | +| **PORT** | Port where the web interface is exposed | 4000 | +| **HTTP_BINDING_ADDRESS** | IP address where the web interface is exposed, or blank (_default_) meaning all addresses. | | +| **DISABLE_MQTT** | Disables the MQTT feature if `true` | false | +| **MQTT_HOST** | Hostname of the broker (**required** unless DISABLE_MQTT is `true`) | | +| **MQTT_PORT** | Port of the broker | 1883 (8883 for MQTT over TLS) | +| **MQTT_USERNAME** | Username | | +| **MQTT_PASSWORD** | Password | | +| **MQTT_TLS** | Enables TLS if `true` | false | +| **MQTT_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates if `true` | false | +| **MQTT_IPV6** | Set to `true` if IPv6 should be used | false | +| **MQTT_NAMESPACE** | Inserts a custom namespace into the MQTT topic . For example, with `MQTT_NAMESPACE=account_0`: `teslamate/account_0/cars/$car_id/state`. | | +| **IMPORT_DIR** | The path of the directory for the import of data (e.g. TeslaFi) | ./import | +| **TZ** | Used to establish the local time zone, e.g. to use the local time in logs. See [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). | | +| **DEFAULT_GEOFENCE** | The default GEOFENCE to send via GEOFENCE if car not in geofence. Overrides the default of "" which will delete any retained value. | "" (no quotes) | | **TESLAFI_IMPORT_VEHICLE_ID** | The default Vehicle ID used when importing from TeslaFi. If it is not defined and the import source does not contain the data, 1 is used. +| **TESLA_API_HOST** | Hostname of the Tesla API | https://owner-api.teslamotors.com (or for chinese: https://owner-api.vn.cloud.tesla.cn) | +| **TESLA_AUTH_HOST** | Hostname of the Tesla authentication API | https://auth.tesla.com | +| **TESLA_AUTH_PATH** | The Tesla authentication path | /oauth2/v3 | +| **TESLA_WSS_HOST** | Hostname of the Tesla streaming | wss://streaming.vn.teslamotors.com (or for chinese: wss://streaming.vn.cloud.tesla.cn) | +| **TESLA_WSS_TLS_ACCEPT_INVALID_CERTS** | Accepts invalid certificates on TESLA_WSS_HOST if `true` | | +| **TESLA_WSS_USE_VIN** | Use the `vin` field instead of `vid` to connect stream if `true` | | +| **TOKEN** | Token given by a third party Tesla API provider. This `TOKEN` is added to each API request and the format must be `?token=xxxx-xxxx-xxxx` | | \ No newline at end of file From d4162c71c8749ee5705df2329cb3ddc528ddd32c Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 27 May 2024 11:04:29 +0200 Subject: [PATCH 21/61] doc: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 703c75f319..af4caf3c5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### New features +- feat: Dynamic endpoints and token to use official Tesla API (self-hosted or from third party provider) (#3903 - @jlestel) + ### Improvements and bug fixes - fix: Update statistics.json: change back uid (#3907 -@DrMichael) From 134eced61ed69b4f68ae440a5f2deaecfafe469f Mon Sep 17 00:00:00 2001 From: Juan Carlos Heredia <45735191+jheredianet@users.noreply.github.com> Date: Thu, 30 May 2024 14:12:54 +0200 Subject: [PATCH 22/61] Remove A lot of empty space on the drive graph (#3927) --- grafana/dashboards/internal/drive-details.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/grafana/dashboards/internal/drive-details.json b/grafana/dashboards/internal/drive-details.json index 1c0d3f799d..3bbfd3bbd8 100644 --- a/grafana/dashboards/internal/drive-details.json +++ b/grafana/dashboards/internal/drive-details.json @@ -17,7 +17,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "10.4.0" + "version": "10.4.2" }, { "type": "datasource", @@ -366,6 +366,10 @@ { "id": "custom.axisPlacement", "value": "hidden" + }, + { + "id": "min", + "value": 0 } ] }, @@ -683,7 +687,7 @@ "zoom": 15 } }, - "pluginVersion": "10.4.0", + "pluginVersion": "10.4.2", "targets": [ { "alias": "", @@ -2767,6 +2771,6 @@ "timezone": "", "title": "Drive Details", "uid": "zm7wN6Zgz", - "version": 4, + "version": 5, "weekStart": "" -} +} \ No newline at end of file From 515281a49bc71029211dc12aa7e808fc24055cf2 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Thu, 30 May 2024 14:13:49 +0200 Subject: [PATCH 23/61] doc: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index af4caf3c5c..662b789388 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ #### Dashboards +- Remove A lot of empty space on the drive graph (#3927 - @jheredianet) + #### Translations - feat: Update default.po for Thai translation (#3906 - @tomzt) From d4412ec0ad61a01f93d67672da9421c1b3a2dfc9 Mon Sep 17 00:00:00 2001 From: woyteck1 Date: Thu, 30 May 2024 13:15:45 +0100 Subject: [PATCH 24/61] Add-more-ways-to-recognize-Supercharger-locations (#3863) Add more ways to recognize Supercharger locations by treating charge as "at Superchager" when fast charger brand is "Tesla" --- grafana/dashboards/charging-stats-lfp.json | 3 ++- grafana/dashboards/charging-stats.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/grafana/dashboards/charging-stats-lfp.json b/grafana/dashboards/charging-stats-lfp.json index 6b3108f141..83ed795728 100644 --- a/grafana/dashboards/charging-stats-lfp.json +++ b/grafana/dashboards/charging-stats-lfp.json @@ -276,7 +276,8 @@ "group": [], "metricColumn": "none", "rawQuery": true, - "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", + "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nJOIN\n charges char ON char.charging_process_id = cp.id AND char.date = end_date\t\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%' OR char.fast_charger_brand = 'Tesla')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", + "refId": "A", "select": [ [ diff --git a/grafana/dashboards/charging-stats.json b/grafana/dashboards/charging-stats.json index 7e3ad35783..44f9bbc1b5 100644 --- a/grafana/dashboards/charging-stats.json +++ b/grafana/dashboards/charging-stats.json @@ -276,7 +276,8 @@ "group": [], "metricColumn": "none", "rawQuery": true, - "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", + "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nJOIN\n charges char ON char.charging_process_id = cp.id AND char.date = end_date\t\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%' OR char.fast_charger_brand = 'Tesla')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", + "refId": "A", "select": [ [ From bffc31c05e53aaf58c064f239ade0e18200fe2c1 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Thu, 30 May 2024 14:16:32 +0200 Subject: [PATCH 25/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 662b789388..9ec5ce97e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ #### Dashboards - Remove A lot of empty space on the drive graph (#3927 - @jheredianet) +- Add more ways to recognize Supercharger locations (#3863 -@woyteck1) #### Translations From 5b029bc043d9769533269bf30e7523c14170819e Mon Sep 17 00:00:00 2001 From: Long Zheng Date: Thu, 30 May 2024 22:25:09 +1000 Subject: [PATCH 26/61] Update MQTT examples of location/active_route (#3919) --- website/docs/integrations/mqtt.md | 33 ++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/website/docs/integrations/mqtt.md b/website/docs/integrations/mqtt.md index 50cf9a17d6..bc6a8565c8 100644 --- a/website/docs/integrations/mqtt.md +++ b/website/docs/integrations/mqtt.md @@ -25,11 +25,11 @@ Vehicle data will be published to the following topics: | `teslamate/cars/$car_id/wheel_type` | Pinwheel18 | The wheel type | | `teslamate/cars/$car_id/spoiler_type` | None | The spoiler type | | | | | -| `teslamate/cars/$car_id/geofence` | 🏡 Home | The name of the Geo-fence, if one exists at the current position | +| `teslamate/cars/$car_id/geofence` | 🏡 Home | The name of the Geo-fence, if one exists at the current position | | | | | | `teslamate/cars/$car_id/latitude` | 35.278131 | DEPRECATED: Last reported car latitude | | `teslamate/cars/$car_id/longitude` | 29.744801 | DEPRECATED: Last reported car longitude | -| `teslamate/cars/$car_id/location` | "latitude": 37.889544, "longitude: 41.128817 | Last reported car location | +| `teslamate/cars/$car_id/location` |
{
"latitude": 35.278131,
"longitude: 29.744801
}
| Last reported car location (json blob) | | `teslamate/cars/$car_id/shift_state` | D | Current/Last Shift State (D/N/R/P) | | `teslamate/cars/$car_id/power` | -9 | Current battery power in watts. Positive value on discharge, negative value on charge | | `teslamate/cars/$car_id/speed` | 12 | Current Speed in km/h | @@ -79,8 +79,35 @@ Vehicle data will be published to the following topics: | `teslamate/cars/$car_id/active_route_destination` | Home | DEPRECATED: Navigation destination name (or "nil") | | `teslamate/cars/$car_id/active_route_latitude` | 35.278131 | DEPRECATED: Navigation destination latitude (or "nil") | | `teslamate/cars/$car_id/active_route_longitude` | 29.744801 | DEPRECATED: Navigation destination longitude (or "nil") | -| `teslamate/cars/$car_id/active_route` | | Navigation details (json blob) | +| `teslamate/cars/$car_id/active_route` | _See below_ | Navigation details (json blob) | :::note `$car_id` usually starts at 1 ::: + +### `active_route` payload examples + +Routing to a destination. + +```json +{ + "destination": "Home", + "energy_at_arrival": 73, + "miles_to_arrival": 6.485299, + "minutes_to_arrival": 23.466667, + "traffic_minutes_delay": 0.0, + "location": { + "latitude": 35.278131, + "longitude": 29.744801 + }, + "error": null +} +``` + +Not routing to a destination. + +```json +{ + "error": "No active route available" +} +``` \ No newline at end of file From 335c2a77b4a2e85a225346d431eed901f199a222 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Thu, 30 May 2024 14:25:39 +0200 Subject: [PATCH 27/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ec5ce97e2..8bd5b6d585 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ #### Documentation - doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908 - @JakobLichterfeld) +- doc: Update MQTT examples of location/active_route (#3919 - @longzheng) ## [1.29.1] - 2024-05-20 From 55baa5e3dc502ee7d511a471ef023dc19b023935 Mon Sep 17 00:00:00 2001 From: Long Zheng Date: Thu, 30 May 2024 23:03:51 +1000 Subject: [PATCH 28/61] Update HomeAssistant docs to use new MQTT values (#3923) * Update HomeAssistant docs to use new MQTT values * Update name to `mi` * Update website/docs/integrations/home_assistant.md --- website/docs/integrations/home_assistant.md | 158 ++++++++++++-------- 1 file changed, 94 insertions(+), 64 deletions(-) diff --git a/website/docs/integrations/home_assistant.md b/website/docs/integrations/home_assistant.md index cd240dfb99..ab50c92537 100644 --- a/website/docs/integrations/home_assistant.md +++ b/website/docs/integrations/home_assistant.md @@ -23,32 +23,6 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; ## Configuration -### automation.yaml - -The following provides an automation to update the location of the `device_tracker.tesla_location` tracker when new lat/lon values are published to MQTT. You can use this to: - -- Plot the location of your Tesla on a map (see the _ui-lovelace.yaml_ file for an example of this) -- Calculate the proximity of your Tesla to another location such as home (see _configuration.yaml_, below) - -```yml title="automation.yaml" -- alias: Update Tesla location as MQTT location updates - initial_state: on - trigger: - - platform: mqtt - topic: teslamate/cars/1/latitude - - platform: mqtt - topic: teslamate/cars/1/longitude - action: - - service: device_tracker.see - data_template: - dev_id: tesla_location - gps: - [ - "{{ states.sensor.tesla_latitude.state }}", - "{{ states.sensor.tesla_longitude.state }}", - ] -``` - ### configuration.yaml Proximity sensors allow us to calculate the proximity of the Tesla `device_tracker` to defined zones. This can be useful for: @@ -77,20 +51,6 @@ sensor: !include sensor.yaml binary_sensor: !include binary_sensor.yaml ``` -### known_devices.yaml (define a tracker for Tesla) - -This is required for the automation above (in the _automation.yaml_ section). It defines the device_tracker object that we use to represent the location of your Tesla vehicle. - -```yml title="known_devices.yaml" -tesla_location: - hide_if_away: false - icon: mdi:car - mac: - name: Tesla - picture: - track: true -``` - ### mqtt_sensors.yaml (mqtt: section of configuration.yaml) Don't forget to replace `` and `` with correct corresponding values. @@ -113,6 +73,27 @@ Don't forget to replace `` and `` with correct state_topic: "teslamate/cars/1/display_name" icon: mdi:car +- device_tracker: + name: Location + object_id: tesla_location + unique_id: teslamate_1_location + availability: *teslamate_availability + device: *teslamate_device_info + json_attributes_topic: "teslamate/cars/1/location" + icon: mdi:crosshairs-gps + +- device_tracker: + name: Active route location + object_id: tesla_active_route_location + unique_id: teslamate_1_active_route_location + availability: &teslamate_active_route_availability + - topic: "teslamate/cars/1/active_route" + value_template: "{{ 'offline' if value_json.error else 'online' }}" + device: *teslamate_device_info + json_attributes_topic: "teslamate/cars/1/active_route" + json_attributes_template: "{{ value_json.location | tojson }}" + icon: mdi:crosshairs-gps + - sensor: name: State object_id: tesla_state @@ -202,26 +183,6 @@ Don't forget to replace `` and `` with correct state_topic: "teslamate/cars/1/geofence" icon: mdi:earth -- sensor: - name: Latitude - object_id: tesla_latitude - unique_id: teslamate_1_latitude - availability: *teslamate_availability - device: *teslamate_device_info - state_topic: "teslamate/cars/1/latitude" - unit_of_measurement: ° - icon: mdi:crosshairs-gps - -- sensor: - name: Longitude - object_id: tesla_longitude - unique_id: teslamate_1_longitude - availability: *teslamate_availability - device: *teslamate_device_info - state_topic: "teslamate/cars/1/longitude" - unit_of_measurement: ° - icon: mdi:crosshairs-gps - - sensor: name: Shift State object_id: tesla_shift_state @@ -478,6 +439,60 @@ Don't forget to replace `` and `` with correct unit_of_measurement: bar icon: mdi:car-tire-alert +- sensor: + name: Active route destination + object_id: tesla_active_route_destination + unique_id: teslamate_1_active_route_destination + availability: *teslamate_active_route_availability + device: *teslamate_device_info + state_topic: "teslamate/cars/1/active_route" + value_template: "{{ value_json.destination }}" + icon: mdi:map-marker + +- sensor: + name: Active route energy at arrival + object_id: tesla_active_route_energy_at_arrival + unique_id: teslamate_1_active_route_energy_at_arrival + availability: *teslamate_active_route_availability + device: *teslamate_device_info + state_topic: "teslamate/cars/1/active_route" + value_template: "{{ value_json.energy_at_arrival }}" + unit_of_measurement: "%" + icon: mdi:battery-80 + +- sensor: + name: Active route distance to arrival (mi) + object_id: tesla_active_route_distance_to_arrival_mi + unique_id: teslamate_1_active_route_distance_to_arrival_mi + availability: *teslamate_active_route_availability + device: *teslamate_device_info + state_topic: "teslamate/cars/1/active_route" + value_template: "{{ value_json.miles_to_arrival }}" + unit_of_measurement: mi + icon: mdi:map-marker-distance + +- sensor: + name: Active route minutes to arrival + object_id: tesla_active_route_minutes_to_arrival + unique_id: teslamate_1_active_route_minutes_to_arrival + availability: *teslamate_active_route_availability + device: *teslamate_device_info + state_topic: "teslamate/cars/1/active_route" + value_template: "{{ value_json.minutes_to_arrival }}" + unit_of_measurement: min + icon: mdi:clock-outline + +- sensor: + name: Active route traffic minutes delay + object_id: tesla_active_route_traffic_minutes_delay + unique_id: teslamate_1_active_route_traffic_minutes_delay + availability: *teslamate_active_route_availability + device: *teslamate_device_info + state_topic: "teslamate/cars/1/active_route" + value_template: "{{ value_json.traffic_minutes_delay }}" + unit_of_measurement: min + icon: mdi:clock-alert-outline + - binary_sensor: name: Healthy object_id: tesla_healthy @@ -704,6 +719,13 @@ Don't forget to replace `` and `` with correct icon_template: mdi:car-tire-alert value_template: > {{ (states('sensor.tesla_tpms_rr') | float * 14.50377) | round(2) }} + + tesla_active_route_distance_to_arrival_km: + friendly_name: Active route distance to arrival (km) + unit_of_measurement: km + icon_template: mdi:map-marker-distance + value_template: > + {{ (states('sensor.tesla_active_route_distance_to_arrival_mi') | float * 1.609344) | round(2) }} ``` ### binary_sensor.yaml (binary_sensor: section of configuration.yaml) @@ -840,10 +862,6 @@ views: name: Geo-fence Name - entity: proximity.home_tesla name: Distance to Home - - entity: sensor.tesla_latitude - name: Latitude - - entity: sensor.tesla_longitude - name: Longitude - entity: sensor.tesla_shift_state name: Shifter State - entity: sensor.tesla_speed @@ -934,6 +952,18 @@ views: name: Rear Right Tire Pressure (bar) - entity: sensor.tesla_tpms_pressure_rr_psi name: Rear Right Tire Pressure (psi) + - entity: sensor.tesla_active_route_destination + name: Active Route Destination + - entity: sensor.tesla_active_route_energy_at_arrival + name: Active Route Energy at Arrival + - entity: sensor.tesla_active_route_distance_to_arrival_km + name: Active Route Distance to Arrival (km) + - entity: sensor.tesla_active_route_distance_to_arrival_mi + name: Active Route Distance to Arrival (mi) + - entity: sensor.tesla_active_route_minutes_to_arrival + name: Active Route Minutes to Arrival + - entity: sensor.tesla_active_route_traffic_minutes_delay + name: Active Route Traffic Minutes Delay ``` ## Useful Automations From de1bd486d6322ab4fe3f71c1e013ce918a268675 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Thu, 30 May 2024 15:04:24 +0200 Subject: [PATCH 29/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bd5b6d585..7d792b5609 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908 - @JakobLichterfeld) - doc: Update MQTT examples of location/active_route (#3919 - @longzheng) +- doc: Update HomeAssistant docs to use new MQTT values (#3923 - @longzheng) ## [1.29.1] - 2024-05-20 From 35cc15bf8fb73cf48323dc13bedae2c34336b216 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 10:41:46 +0200 Subject: [PATCH 30/61] build(deps): bump docker/login-action from 3.1.0 to 3.2.0 (#3933) Bumps [docker/login-action](https://github.com/docker/login-action) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v3.1.0...v3.2.0) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/buildx.yml | 4 ++-- .github/workflows/ghcr_build.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildx.yml b/.github/workflows/buildx.yml index 8862a5fe19..4a4c00cdd0 100644 --- a/.github/workflows/buildx.yml +++ b/.github/workflows/buildx.yml @@ -77,7 +77,7 @@ jobs: uses: actions/checkout@v4 - name: Login to Docker Hub - uses: docker/login-action@v3.1.0 + uses: docker/login-action@v3.2.0 with: username: teslamate password: ${{ secrets.DOCKER_PASSWORD }} @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@v4 - name: Login to Docker Hub - uses: docker/login-action@v3.1.0 + uses: docker/login-action@v3.2.0 with: username: teslamate password: ${{ secrets.DOCKER_PASSWORD }} diff --git a/.github/workflows/ghcr_build.yml b/.github/workflows/ghcr_build.yml index e78b07bf95..c53893c729 100644 --- a/.github/workflows/ghcr_build.yml +++ b/.github/workflows/ghcr_build.yml @@ -89,7 +89,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v3.1.0 + uses: docker/login-action@v3.2.0 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -114,7 +114,7 @@ jobs: repository: ${{github.event.pull_request.head.repo.full_name}} - name: Login to GitHub Container Registry - uses: docker/login-action@v3.1.0 + uses: docker/login-action@v3.2.0 with: registry: ghcr.io username: ${{ github.repository_owner }} From 0ecf92f11361d79461fb7040a5b0a5d7e07c3a75 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Wed, 5 Jun 2024 10:42:17 +0200 Subject: [PATCH 31/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d792b5609..7e7f5976e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ #### Build, CI, internal - ci: Upgrade PostgreSQL to v16 in elixir workflow (#3916 - @JakobLichterfeld) +- build(deps): bump docker/login-action from 3.1.0 to 3.2.0 (#3933) #### Dashboards From ce57db92dbda1f3b1ab2186d8b0abc36a8bed1b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 10:55:00 +0200 Subject: [PATCH 32/61] build(deps): bump elixir from 1.16.1-otp-26 to 1.16.2-otp-26 (#3935) * build(deps): bump elixir from 1.16.1-otp-26 to 1.16.2-otp-26 Bumps elixir from 1.16.1-otp-26 to 1.16.2-otp-26. --- updated-dependencies: - dependency-name: elixir dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * chore: bump elixir version to 1.16.2 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jakob Lichterfeld --- .github/workflows/elixir.yml | 4 ++-- Dockerfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 589275b5ee..10945074d3 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: include: - - elixir: "1.16.1" + - elixir: "1.16.2" otp: "26" lint: true @@ -123,7 +123,7 @@ jobs: strategy: matrix: include: - - elixir: "1.16.1" + - elixir: "1.16.2" otp: "26" report_coverage: true diff --git a/Dockerfile b/Dockerfile index e1efe079ba..857c7e1899 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM elixir:1.16.1-otp-26 AS builder +FROM elixir:1.16.2-otp-26 AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] From 31cdaac395aa0ad0d59f764d34fb01899c838ce8 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Wed, 5 Jun 2024 10:55:28 +0200 Subject: [PATCH 33/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e7f5976e8..ac2926d933 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - ci: Upgrade PostgreSQL to v16 in elixir workflow (#3916 - @JakobLichterfeld) - build(deps): bump docker/login-action from 3.1.0 to 3.2.0 (#3933) +- build(deps): bump elixir from 1.16.1-otp-26 to 1.16.2-otp-26 (#3935 - @JakobLichterfeld) #### Dashboards From bb123b2cbd76ee6da7653090654fcad2f37505ca Mon Sep 17 00:00:00 2001 From: Suthep Yonphimai Date: Fri, 7 Jun 2024 15:08:28 +0700 Subject: [PATCH 34/61] Update default.po for thai (#3945) Update some msgid --- priv/gettext/th/LC_MESSAGES/default.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/priv/gettext/th/LC_MESSAGES/default.po b/priv/gettext/th/LC_MESSAGES/default.po index 59e05c5aa5..d7da8289fd 100644 --- a/priv/gettext/th/LC_MESSAGES/default.po +++ b/priv/gettext/th/LC_MESSAGES/default.po @@ -657,4 +657,4 @@ msgstr "เวลาที่คาดว่าจะเสร็จสิ้น #: lib/teslamate_web/live/signin_live/index.html.heex:59 #, elixir-autogen, elixir-format, fuzzy msgid "You are using the API key (%{token}) provided by %{url}. It will allow your TeslaMate to access the official Tesla Fleet API and Tesla Telemetry streaming." -msgstr "" \ No newline at end of file +msgstr "คุณกำลังใช้คีย์ API (%{token}) ที่ได้รับจาก %{url} มันจะช่วยให้ TeslaMate ของคุณเข้าถึง Tesla Fleet API อย่างเป็นทางการและการสตรีม Tesla Telemetry" From f34c0876e80171cc4f41b78ad26d6f0652339491 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Fri, 7 Jun 2024 10:09:21 +0200 Subject: [PATCH 35/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac2926d933..8302ade832 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ #### Translations - feat: Update default.po for Thai translation (#3906 - @tomzt) +- feat: Update default.po for thai (#3945 - @tomzt) #### Documentation From b900a98d08c227c0ffe780cae807a0f239284965 Mon Sep 17 00:00:00 2001 From: jlestel Date: Fri, 7 Jun 2024 10:10:35 +0200 Subject: [PATCH 36/61] feat: Respect Retry-After header on 429 response code (#3943) * Respect 429 response code instructions * format * up * up --------- Co-authored-by: Julien --- .gitignore | 1 + lib/tesla_api/vehicle.ex | 12 ++++++++++++ lib/teslamate/api.ex | 4 ++++ lib/teslamate/vehicles/vehicle.ex | 6 ++++++ test/teslamate/api_test.exs | 23 +++++++++++++++++++++++ 5 files changed, 46 insertions(+) diff --git a/.gitignore b/.gitignore index bdae8e91ef..ac8538cc39 100644 --- a/.gitignore +++ b/.gitignore @@ -55,6 +55,7 @@ config/*.env .eclipse/ .elixir_ls/ /.project +.vscode/ # Mac files .DS_Store diff --git a/lib/tesla_api/vehicle.ex b/lib/tesla_api/vehicle.ex index 069f1fe6f5..a78c7304d5 100644 --- a/lib/tesla_api/vehicle.ex +++ b/lib/tesla_api/vehicle.ex @@ -113,6 +113,18 @@ defmodule TeslaApi.Vehicle do %Tesla.Env{status: 408, body: %{"error" => "vehicle unavailable:" <> _}} = env -> {:error, %Error{reason: :vehicle_unavailable, env: env}} + %Tesla.Env{status: 429, headers: headers} -> + retry_after = + case Enum.find(headers, fn {key, _value} -> key == "retry-after" end) do + nil -> + "300" + + {"retry-after", value} -> + value + end + + {:error, %Error{reason: :too_many_request, message: String.to_integer(retry_after)}} + %Tesla.Env{status: 504} = env -> {:error, %Error{reason: :timeout, env: env}} diff --git a/lib/teslamate/api.ex b/lib/teslamate/api.ex index 764496d6eb..9de63d25af 100644 --- a/lib/teslamate/api.ex +++ b/lib/teslamate/api.ex @@ -278,6 +278,10 @@ defmodule TeslaMate.Api do Logger.error("TeslaApi.Error / #{status} – #{inspect(body, pretty: true)}") {:error, reason} + {:error, %TeslaApi.Error{reason: :too_many_request, message: retry_after}} -> + Logger.warning("TeslaApi.Error / :too_many_request #{retry_after}") + {:error, :too_many_request, retry_after} + {:error, %TeslaApi.Error{reason: reason, message: msg}} -> if is_binary(msg) and msg != "", do: Logger.warning("TeslaApi.Error / #{msg}") {:error, reason} diff --git a/lib/teslamate/vehicles/vehicle.ex b/lib/teslamate/vehicles/vehicle.ex index a3e05c2a14..d75c7a9d7a 100644 --- a/lib/teslamate/vehicles/vehicle.ex +++ b/lib/teslamate/vehicles/vehicle.ex @@ -386,6 +386,12 @@ defmodule TeslaMate.Vehicles.Vehicle do {:keep_state, data, [broadcast_fetch(false), broadcast_summary(), schedule_fetch(30, data)]} + {:error, :too_many_request, retry_after} -> + Logger.error("Too many request / Retry after #{retry_after} seconds", car_id: data.car.id) + + {:keep_state, data, + [broadcast_fetch(false), broadcast_summary(), schedule_fetch(retry_after, data)]} + {:error, reason} -> Logger.error("Error / #{inspect(reason)}", car_id: data.car.id) diff --git a/test/teslamate/api_test.exs b/test/teslamate/api_test.exs index 79c7214a04..01eea8b383 100644 --- a/test/teslamate/api_test.exs +++ b/test/teslamate/api_test.exs @@ -343,6 +343,29 @@ defmodule TeslaMate.ApiTest do end end + @tag :capture_log + test ":too_many_requests", %{test: name} do + api_error = %TeslaApi.Error{ + reason: :too_many_requests, + message: 300 + } + + vehicle_mock = + {TeslaApi.Vehicle, [], + [ + get: fn _auth, _id -> {:error, api_error} end, + get_with_state: fn _auth, _id -> {:error, api_error} end + ]} + + with_mocks [auth_mock(self()), vehicle_mock] do + :ok = start_api(name, start_auth: false) + + assert :ok = Api.sign_in(name, @valid_tokens) + assert {:error, :too_many_requests} = Api.get_vehicle(name, 0) + assert {:error, :too_many_requests} = Api.get_vehicle_with_state(name, 0) + end + end + @tag :capture_log test "other error with Env", %{test: name} do api_error = %TeslaApi.Error{ From cf7e8ee7c6de8de159180a3bba95619f10fe66d3 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Fri, 7 Jun 2024 10:11:09 +0200 Subject: [PATCH 37/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8302ade832..530b6e1e69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - fix: Update statistics.json: change back uid (#3907 -@DrMichael) - feat: Update TeslaFi importer to accept newer export formats (#3431 - @ithinuel) - feat: Upgrade PostgreSQL to v16 (#3884 -@enoch85) +- feat: Respect Retry-After header on 429 response code (#3943 - @jlestel) #### Build, CI, internal From 7daf6f4e5ed80e7d43f40b6c35b74aae82e992da Mon Sep 17 00:00:00 2001 From: Matthias Wirtz Date: Fri, 7 Jun 2024 18:55:00 +0200 Subject: [PATCH 38/61] feat: use Grafana 11.0.0 (#3895) --- grafana/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/grafana/Dockerfile b/grafana/Dockerfile index e38ecf7936..4aa3218b4e 100644 --- a/grafana/Dockerfile +++ b/grafana/Dockerfile @@ -1,6 +1,6 @@ # Ensure selecting a tag that is available for arm/v7, arm64, and amd64 # https://hub.docker.com/r/grafana/grafana/tags -FROM grafana/grafana:10.4.2 +FROM grafana/grafana:11.0.0 ENV GF_ANALYTICS_REPORTING_ENABLED=false \ GF_AUTH_ANONYMOUS_ENABLED=false \ @@ -9,7 +9,6 @@ ENV GF_ANALYTICS_REPORTING_ENABLED=false \ GF_SECURITY_ADMIN_USER=admin \ GF_SECURITY_ALLOW_EMBEDDING=true \ GF_SECURITY_DISABLE_GRAVATAR=true \ - GF_SECURITY_ANGULAR_SUPPORT_ENABLED=false \ GF_USERS_ALLOW_SIGN_UP=false \ DATABASE_PORT=5432 \ DATABASE_SSL_MODE=disable From 23654b053a1658b46615a4ccbfd4541a150822c4 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Fri, 7 Jun 2024 18:56:35 +0200 Subject: [PATCH 39/61] doc: update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 530b6e1e69..03b9750f4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - feat: Update TeslaFi importer to accept newer export formats (#3431 - @ithinuel) - feat: Upgrade PostgreSQL to v16 (#3884 -@enoch85) - feat: Respect Retry-After header on 429 response code (#3943 - @jlestel) +- feat: use Grafana 11.0.0 (#3895 - @swiffer) #### Build, CI, internal @@ -26,8 +27,7 @@ #### Translations -- feat: Update default.po for Thai translation (#3906 - @tomzt) -- feat: Update default.po for thai (#3945 - @tomzt) +- feat: Update default.po for Thai translation (#3906, #3945 - @tomzt) #### Documentation From 0dec13ca9cb3af580c5409d87b9ec74bdb435db8 Mon Sep 17 00:00:00 2001 From: FL42 <46161216+fl42@users.noreply.github.com> Date: Sun, 9 Jun 2024 09:28:37 +0200 Subject: [PATCH 40/61] Add network flows that should be authorized (#3886) --- website/docs/faq.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/website/docs/faq.md b/website/docs/faq.md index f4d7977126..284e18c6d7 100644 --- a/website/docs/faq.md +++ b/website/docs/faq.md @@ -63,3 +63,23 @@ Calling the [Vehicle API](https://www.teslaapi.io/vehicles/list#vehicle) does no ## Why are my Docker timestamp logs different than my machine? Docker container timezones default to UTC. To set the timezone for your container, use the `TZ` Environment Variable in your YML file. More information found at [Environment Variables](https://docs.teslamate.org/docs/configuration/environment_variables) + +## Which network flows must be authorized? + +⚠️ This is for advanced users! + +You might want to prohibit all network flows except those necessary for teslamate. +This is a common practice to harden an installation (e.g., to reduce the risk of data leakage). + +The following flows must be authorized (egress traffic and DNS resolution): + +HTTPS (TCP/443) +auth.tesla.com +owner-api.teslamotors.com +streaming.vn.teslamotors.com +nominatim.openstreetmap.org + +HTTP (TCP/80) +step.esa.int + +Note: This may change when Teslamate is updated! From e6324a2fe26d049c94dbdca7acf0d6ba9f42fe9b Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Sun, 9 Jun 2024 09:29:17 +0200 Subject: [PATCH 41/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03b9750f4c..273ab09486 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - doc: update backup path location to current directory to work around no write access to placeholder directory issue (#3908 - @JakobLichterfeld) - doc: Update MQTT examples of location/active_route (#3919 - @longzheng) - doc: Update HomeAssistant docs to use new MQTT values (#3923 - @longzheng) +- doc: Add network flows that should be authorized (#3886 - @fl42) ## [1.29.1] - 2024-05-20 From 136c313fc5496ec89d83577313cbe2ee5feaf0c7 Mon Sep 17 00:00:00 2001 From: woyteck1 Date: Mon, 10 Jun 2024 14:20:46 +0100 Subject: [PATCH 42/61] Projected Range fix (using usable_battery_level) (#3859) * Fix to usable battery level * Update projected-range.json * Update projected-range.json --- grafana/dashboards/projected-range.json | 74 ++++++++++++++++++++----- 1 file changed, 61 insertions(+), 13 deletions(-) diff --git a/grafana/dashboards/projected-range.json b/grafana/dashboards/projected-range.json index 31f7912ac1..4414645bbf 100644 --- a/grafana/dashboards/projected-range.json +++ b/grafana/dashboards/projected-range.json @@ -27,7 +27,6 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "id": null, "links": [ { "icon": "dashboard", @@ -157,7 +156,6 @@ "y": 1 }, "id": 2, - "links": [], "options": { "legend": { "calcs": [ @@ -326,7 +324,6 @@ "y": 22 }, "id": 6, - "links": [], "options": { "legend": { "calcs": [ @@ -348,12 +345,13 @@ { "alias": "", "datasource": "TeslaMate", + "editorMode": "code", "format": "time_series", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, - "rawSql": "SELECT\n\t$__timeGroup(date,[[interval]]) AS time,\n\tconvert_km(sum([[preferred_range]]_battery_range_km) / sum(coalesce(usable_battery_level,battery_level)) * 100, '$length_unit') AS \"Projected Range (using usable_battery_level) [$length_unit]\",\n\tconvert_km(sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100, '$length_unit') AS \"Projected Range (using battery_level)[$length_unit]\"\nFROM\n\t(\n select battery_level, usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from positions\n where\n car_id = $car_id and $__timeFilter(date) and ideal_battery_range_km is not null\n union all\n select battery_level, coalesce(usable_battery_level,battery_level) as usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from charges c\n join\n charging_processes p ON p.id = c.charging_process_id \n where\n $__timeFilter(date) and p.car_id = $car_id\n ) as data\n\nGROUP BY\n\t1\nORDER BY\n\t1,2 DESC", + "rawSql": "SELECT\n\t$__timeGroup(date,[[interval]]) AS time,\n\tconvert_km((sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100 ) - (sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100 * (avg(battery_level)-avg(coalesce(usable_battery_level,battery_level)))/100 ), '$length_unit') AS \"Projected Range (using usable_battery_level) [$length_unit]\",\n\tconvert_km(max([[preferred_range]]_battery_range_km) / max(battery_level) * 100, '$length_unit') AS \"Projected Range (using battery_level)[$length_unit]\"\nFROM\n\t(\n select battery_level, usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from positions\n where\n car_id = $car_id and $__timeFilter(date) and ideal_battery_range_km is not null\n union all\n select battery_level, coalesce(usable_battery_level,battery_level) as usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from charges c\n join\n charging_processes p ON p.id = c.charging_process_id \n where\n $__timeFilter(date) and p.car_id = $car_id\n ) as data\n\nGROUP BY\n\t1\nORDER BY\n\t1,2 DESC", "refId": "A", "select": [ [ @@ -365,6 +363,23 @@ } ] ], + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + }, "timeColumn": "time", "where": [ { @@ -524,7 +539,6 @@ "y": 43 }, "id": 5, - "links": [], "options": { "legend": { "calcs": [ @@ -546,12 +560,13 @@ { "alias": "", "datasource": "TeslaMate", + "editorMode": "code", "format": "time_series", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, - "rawSql": "SELECT\n\t$__timeGroup(date,[[interval]]) AS time,\n\tconvert_km(sum([[preferred_range]]_battery_range_km) / sum(coalesce(usable_battery_level,battery_level)) * 100, '$length_unit') AS \"Projected Range (using usable_battery_level) [$length_unit]\",\n\tconvert_km(sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100, '$length_unit') AS \"Projected Range (using battery_level) [$length_unit]\"\nFROM\n\t(\n select battery_level, usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from positions\n where\n car_id = $car_id and $__timeFilter(date) and ideal_battery_range_km is not null\n union all\n select battery_level, coalesce(usable_battery_level,battery_level) as usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from charges c\n join\n charging_processes p ON p.id = c.charging_process_id \n where\n $__timeFilter(date) and p.car_id = $car_id\n ) as data\n\nGROUP BY\n\t1\nORDER BY\n\t1,2 DESC", + "rawSql": "\nSELECT\n\t$__timeGroup(date,[[interval]]) AS time,\n\tconvert_km((sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100 ) - (sum([[preferred_range]]_battery_range_km) / sum(battery_level) * 100 * (avg(battery_level)-avg(coalesce(usable_battery_level,battery_level)))/100 ), '$length_unit') AS \"Projected Range (using usable_battery_level) [$length_unit]\",\n\tconvert_km(max([[preferred_range]]_battery_range_km) / max(battery_level) * 100, '$length_unit') AS \"Projected Range (using battery_level)[$length_unit]\"\nFROM\n\t(\n select battery_level, usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from positions\n where\n car_id = $car_id and $__timeFilter(date) and ideal_battery_range_km is not null\n union all\n select battery_level, coalesce(usable_battery_level,battery_level) as usable_battery_level, date,\n rated_battery_range_km, ideal_battery_range_km, outside_temp\n from charges c\n join\n charging_processes p ON p.id = c.charging_process_id \n where\n $__timeFilter(date) and p.car_id = $car_id\n ) as data\n\nGROUP BY\n\t1\nORDER BY\n\t1,2 DESC", "refId": "A", "select": [ [ @@ -563,6 +578,23 @@ } ] ], + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + }, "timeColumn": "time", "where": [ { @@ -607,14 +639,18 @@ } ], "refresh": "", - "schemaVersion": 36, + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": {}, + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, @@ -634,7 +670,11 @@ "useTags": false }, { - "current": {}, + "current": { + "selected": false, + "text": "mi", + "value": "mi" + }, "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, @@ -654,7 +694,11 @@ "useTags": false }, { - "current": {}, + "current": { + "selected": false, + "text": "rated", + "value": "rated" + }, "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, @@ -673,7 +717,11 @@ "useTags": false }, { - "current": {}, + "current": { + "selected": false, + "text": "C", + "value": "C" + }, "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, @@ -795,6 +843,6 @@ "timezone": "", "title": "Projected Range", "uid": "riqUfXgRz", - "version": 1, + "version": 2, "weekStart": "" -} \ No newline at end of file +} From 0b8ce556463672f3ee27a5bb9c26cf1da428a78d Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 10 Jun 2024 15:21:28 +0200 Subject: [PATCH 43/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 273ab09486..d1a9003a3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - Remove A lot of empty space on the drive graph (#3927 - @jheredianet) - Add more ways to recognize Supercharger locations (#3863 -@woyteck1) +- Projected Range fix (using usable_battery_level) (#3859 -@woyteck1) #### Translations From 370a78a03f123b294ac686243c48b98750d92342 Mon Sep 17 00:00:00 2001 From: Juan Carlos Heredia <45735191+jheredianet@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:22:05 +0200 Subject: [PATCH 44/61] Update and fix timeline dashboard (#3951) * Update and fix timeline dashboard * Update filter label --- grafana/dashboards/timeline.json | 122 +++++++++++++++++++++---------- 1 file changed, 84 insertions(+), 38 deletions(-) diff --git a/grafana/dashboards/timeline.json b/grafana/dashboards/timeline.json index c398ac8329..5793facf5d 100644 --- a/grafana/dashboards/timeline.json +++ b/grafana/dashboards/timeline.json @@ -1,9 +1,31 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "10.4.2" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", + "definition": "TeslaMate|U2FsdGVkX1/cEWK+8cz7pjEKXtzJnDN7b21ZDXt1MGneFGPWTLqOPtxKmu02mJPLzi/f29I+NBHd3vi0FB8R4Xn0+GtobWDgk6VAVSBTdSNniOKO8i2WPlhRaOsl2+hG7gnZ7wrf1Th2nxR7f1uYCrbwOek0IzkfLzrkjh7gkr6inT6bbDuJqrmogZajLxmAMrQ6V+/vHxBRGiwjJhgiEeq3hM1q2h04JKkNiZ8RHbsF5Cd/xd8Q9u0JVrZzIrtnhM/SFlaApU7RtRMu8CSj1llTX7WEOj6VDZAMSf+XUAanWdk725kEPN9MNu89o2zEq5P3E3cju8IbbBdPzXLV3oVuzD6/tMnxFToIIV1E/BrpF7s2RtNa8+KJJ1PF8xgs6m+/KTD2hy+WsP0636AgObRAmYg7+qotGrgNvpNPdE0EgrB7WHYlV7R/1q66bcq6tCe51X1Un70k+zo+K6AK0o4B1H6IyMlEVuRH/Fz8QVl9aYu2ztd08RbuKJlYVKpkH+pxVETAO9MclYQ90tzE6TfwDZrQZzsAlMenr4s1ZB1OlFXjLjVjnddnUilzO76cqv4yI2THQEuyQ47nuVQ4gUbx02K59vMQhns3C01JOAYokOaSXe66Y7QYdMlk09Lf|aes-256-cbc", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -21,7 +43,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642862616523, + "id": null, "links": [ { "asDropdown": false, @@ -68,13 +90,19 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { "align": "auto", - "displayMode": "auto", - "filterable": false + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "thresholds": { @@ -522,7 +550,9 @@ }, "id": 2, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -537,14 +567,19 @@ } ] }, - "pluginVersion": "8.3.4", + "pluginVersion": "10.4.2", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, - "rawSql": "SELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts,\r\n '🚗 Driving' AS \"Action\",\r\n drives.duration_min AS \"Duration\",\r\n CASE WHEN start_geofence_id IS NULL THEN CONCAT('new?lat=', TP1.latitude, '&lng=', TP1.longitude)\r\n WHEN start_geofence_id IS NOT NULL THEN CONCAT(start_geofence_id, '/edit')\r\n END AS start_path,\r\n CASE WHEN end_geofence_id IS NULL THEN CONCAT('new?lat=', TP2.latitude, '&lng=', TP2.longitude)\r\n WHEN start_geofence_id IS NOT NULL THEN CONCAT(end_geofence_id, '/edit')\r\n END AS end_path,\r\n COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city)) AS \"Start Address\",\r\n COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)) AS \"End Address\",\r\n convert_km(end_km::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n convert_km(distance::NUMERIC, '$length_unit') AS distance_$length_unit,\r\n convert_km(end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') * efficiency AS \"kWh\",\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit,\r\n TP2.battery_level AS \"SoC\",\r\n TP2.battery_level-TP1.battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/zm7wN6Zgz/drive-details?from=', ROUND(EXTRACT(EPOCH FROM start_date))*1000, '&to=', ROUND(EXTRACT(EPOCH FROM end_date))*1000, '&var-car_id=', drives.car_id, '&var-drive_id=', drives.id) AS slotlink\r\nFROM drives\r\n LEFT OUTER JOIN positions AS TP1 on drives.start_position_id = TP1.id\r\n LEFT OUTER JOIN positions AS TP2 on drives.end_position_id = TP2.id\r\n LEFT JOIN addresses start_address ON start_address_id = start_address.id\r\n LEFT JOIN addresses end_address ON end_address_id = end_address.id\r\n LEFT JOIN geofences start_geofence ON start_geofence_id = start_geofence.id\r\n LEFT JOIN geofences end_geofence ON end_geofence_id = end_geofence.id\r\n JOIN cars ON cars.id = drives.car_id\r\nWHERE \r\n $__timeFilter(drives.start_date)\r\n AND drives.car_id = $car_id\r\n AND '🚗 Driving' in ($action_filter)\r\n AND\r\n (COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city))::TEXT like '%$text_filter%' or\r\n COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city))::TEXT like '%$text_filter%')\r\n\r\nUNION\r\nSELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts,\r\n '🔋 Charging' AS \"Action\",\r\n charging_processes.duration_min AS \"Duration\",\r\n CASE WHEN geofence_id IS NULL THEN CONCAT('new?lat=', address.latitude, '&lng=', address.longitude)\r\n WHEN geofence_id IS NOT NULL THEN CONCAT(geofence_id, '/edit')\r\n END AS start_path,\r\n NULL AS end_path,\r\n COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS \"Start Address\",\r\n '' AS \"End Address\",\r\n convert_km(position.odometer::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n convert_km(end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n charging_processes.charge_energy_added AS \"kWh\",\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit, \r\n end_battery_level AS \"SoC\",\r\n end_battery_level - start_battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/BHhxFeZRz/charge-details?from=', ROUND(EXTRACT(EPOCH FROM start_date)-10)*1000, '&to=', ROUND(EXTRACT(EPOCH FROM end_date)+10)*1000, '&var-car_id=', charging_processes.car_id, '&var-charging_process_id=', charging_processes.id) AS slotlink\r\nFROM charging_processes\r\n INNER JOIN positions AS position ON position_id = position.id\r\n LEFT JOIN addresses address ON address_id = address.id\r\n LEFT JOIN geofences geofence ON geofence_id = geofence.id\r\nWHERE\r\n $__timeFilter(charging_processes.start_date)\r\n AND charging_processes.charge_energy_added > 0\r\n AND charging_processes.car_id = $car_id\r\n AND '🔋 Charging' in ($action_filter)\r\n AND COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city))::TEXT like '%$text_filter%'\r\nUNION\r\nSELECT\r\n d.end_date AS \"Start\",\r\n LEAD(d.start_date) over w AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM d.end_date)) * 1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM LEAD(d.start_date) over w))*1000 AS end_date_ts,\r\n '🅿️ Parking' AS \"Action\",\r\n EXTRACT(EPOCH FROM LEAD(d.start_date) over w - d.end_date)/60 AS \"Duration\",\r\n CASE WHEN d.end_geofence_id IS NULL THEN CONCAT('new?lat=', end_position.latitude, '&lng=', end_position.longitude)\r\n WHEN d.end_geofence_id IS NOT NULL THEN CONCAT(d.end_geofence_id, '/edit')\r\n END AS start_path,\r\n NULL AS end_path,\r\n COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS \"Start Address\",\r\n '' AS \"End Address\",\r\n convert_km(end_position.odometer::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n convert_km(LEAD(d.start_[[preferred_range]]_range_km) over w::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n convert_km(((LEAD(d.start_[[preferred_range]]_range_km) over w + (LEAD(d.start_km) over w - d.end_km)) - d.end_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') * efficiency AS \"kWh\",\r\n convert_km(((LEAD(d.start_[[preferred_range]]_range_km) over w + (LEAD(d.start_km) over w - d.end_km)) - d.end_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit,\r\n LEAD(start_position.battery_level) over w AS \"SoC\",\r\n LEAD(start_position.battery_level) over w - end_position.battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/FkUpJpQZk/trip?from=', ROUND(EXTRACT(EPOCH FROM d.end_date))*1000, '&to=', ROUND(EXTRACT(EPOCH FROM LEAD(d.start_date) over w))*1000, '&var-car_id=', d.car_id) AS slotlink\r\nFROM\r\n drives AS d\r\n LEFT OUTER JOIN positions start_position on d.start_position_id = start_position.id\r\n LEFT OUTER JOIN positions end_position on d.end_position_id = end_position.id\r\n LEFT JOIN addresses address ON d.end_address_id = address.id\r\n LEFT JOIN geofences geofence ON d.end_geofence_id = geofence.id\r\n JOIN cars ON cars.id = d.car_id\r\nWHERE\r\n $__timeFilter(d.end_date)\r\n AND d.car_id=$car_id\r\n AND '🅿️ Parking' in ($action_filter)\r\n AND COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city))::TEXT like '%$text_filter%'\r\nWINDOW w as (ORDER BY d.id ASC)\r\n\r\nUNION\r\nSELECT\r\n\tT1.end_date +(1 * interval '1 second') AS \"Start\", -- added 1 sec to get it after the corresponding Parking row\r\n\tT2.start_date AS \"End\",\r\n\tROUND(EXTRACT(EPOCH FROM T2.start_date)) * 1000 - 1 AS start_date_ts,\r\n\tROUND(EXTRACT(EPOCH FROM T2.start_date)) * 1000 - 1 AS end_date_ts,\r\n\t'❓ Missing' AS \"Action\",\r\n\t-- EXTRACT(EPOCH FROM T2.start_date - T1.end_date)/60 AS \"Duration\",\r\n\tNULL AS \"Duration\",\r\n\tCASE WHEN T1.end_geofence_id IS NULL THEN CONCAT('new?lat=', TP1.latitude, '&lng=', TP1.longitude)\r\n\t\tWHEN T1.end_geofence_id IS NOT NULL THEN CONCAT(T1.end_geofence_id, '/edit')\r\n\tEND AS start_path,\r\n\tCASE WHEN T2.start_geofence_id IS NULL THEN CONCAT('new?lat=', TP2.latitude, '&lng=', TP2.longitude)\r\n\t\tWHEN T2.start_geofence_id IS NOT NULL THEN CONCAT(T2.start_geofence_id, '/edit')\r\n\tEND AS end_path,\r\n\tCOALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city)) AS \"Start Address\",\r\n\tCOALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)) AS \"End Address\",\r\n\tconvert_km(TP2.odometer::INTEGER, '$length_unit') AS odometer_$length_unit,\r\n\tconvert_km((TP2.odometer - TP1.odometer)::INTEGER, '$length_unit') AS distance_$length_unit,\r\n convert_km(T2.end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n\tconvert_km(((TP2.[[preferred_range]]_battery_range_km + (TP2.odometer - TP1.odometer)) - TP1.[[preferred_range]]_battery_range_km)::INTEGER, '$length_unit')::INTEGER * efficiency AS \"kWh\",\r\n\tconvert_km(((TP2.[[preferred_range]]_battery_range_km + (TP2.odometer - TP1.odometer)) - TP1.[[preferred_range]]_battery_range_km)::INTEGER, '$length_unit') AS range_diff_$length_unit,\r\n\tNULL AS \"SoC\",\r\n\tNULL AS \"SoC Diff\",\r\n\tNULL AS outside_temp_avg_$temp_unit,\r\n\tNULL AS slotlink\r\n\t-- TP2.battery_level AS \"SoC\",\r\n\t-- TP2.battery_level-TP1.battery_level AS \"SoC Diff\",\r\n\t-- (T1.outside_temp_avg+T2.outside_temp_avg)/2 AS outside_temp_avg_$temp_unit\r\nFROM\r\n\t(SELECT row_number() over(ORDER BY start_date) AS time_id, * FROM drives) AS T1\r\n\tLEFT OUTER JOIN (SELECT row_number() over(ORDER BY start_date) AS time_id, * FROM drives ) AS T2 on T1.time_id + 1 = T2.time_id\r\n\tLEFT OUTER JOIN positions AS TP1 on T1.end_position_id = TP1.id\r\n\tLEFT OUTER JOIN positions AS TP2 on T2.start_position_id = TP2.id\r\n\tLEFT JOIN addresses start_address ON T1.end_address_id = start_address.id\r\n\tLEFT JOIN addresses end_address ON T2.start_address_id = end_address.id\r\n\tLEFT JOIN geofences start_geofence ON T1.end_geofence_id = start_geofence.id\r\n\tLEFT JOIN geofences end_geofence ON T2.start_geofence_id = end_geofence.id\r\n\tJOIN cars ON cars.id = T2.car_id\r\nWHERE\r\n\t$__timeFilter(T1.end_date)\r\n\tAND T1.car_id=$car_id \r\n\tAND T2.car_id=$car_id \r\n\tAND TP2.car_id=$car_id \r\n\tAND TP1.car_id=$car_id \r\n\tAND TP2.odometer - TP1.odometer > 0.5\r\n\tAND T1.end_address_id <> T2.start_address_id AND ((T1.end_geofence_id IS NOT NULL OR T2.end_geofence_id IS NOT NULL) OR T1.end_geofence_id <> T2.start_geofence_id)\r\n\tAND '❓ Missing' in ($action_filter)\r\n\tAND (\r\n\t (COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city))::TEXT like '%$text_filter%') or\r\n\t (COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)))::TEXT like '%$text_filter%')\r\nUNION\r\nSELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts, \r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts, \r\n '💾 Updating' AS \"Action\",\r\n\tEXTRACT(EPOCH FROM end_date - start_date)/60 AS \"Duration\",\r\n NULL AS start_path,\r\n NULL AS end_path,\r\n version AS \"Start Address\",\r\n '' AS \"End Address\",\r\n NULL AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n NULL AS end_range_$length_unit,\r\n NULL AS \"kWh\",\r\n NULL AS range_diff_$length_unit,\r\n NULL AS \"SoC\",\r\n NULL AS \"SoC Diff\",\r\n NULL AS outside_temp_avg_$temp_unit,\r\n CONCAT('https://www.notateslaapp.com/software-updates/version/', split_part(version, ' ', 1), '/release-notes') AS slotlink\r\nFROM updates\r\nWHERE \r\n $__timeFilter(start_date)\r\n AND car_id = $car_id \r\n AND '💾 Updating' in ($action_filter)\r\n AND version::TEXT like '%$text_filter%'\r\n\r\nORDER BY \"Start\" DESC;", + "rawSql": "SELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts,\r\n '🚗 Driving' AS \"Action\",\r\n drives.duration_min AS \"Duration\",\r\n CASE WHEN start_geofence_id IS NULL THEN CONCAT('new?lat=', TP1.latitude, '&lng=', TP1.longitude)\r\n WHEN start_geofence_id IS NOT NULL THEN CONCAT(start_geofence_id, '/edit')\r\n END AS start_path,\r\n CASE WHEN end_geofence_id IS NULL THEN CONCAT('new?lat=', TP2.latitude, '&lng=', TP2.longitude)\r\n WHEN start_geofence_id IS NOT NULL THEN CONCAT(end_geofence_id, '/edit')\r\n END AS end_path,\r\n COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city)) AS \"Start Address\",\r\n COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)) AS \"End Address\",\r\n convert_km(end_km::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n convert_km(distance::NUMERIC, '$length_unit') AS distance_$length_unit,\r\n convert_km(end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') * efficiency AS \"kWh\",\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit,\r\n TP2.battery_level AS \"SoC\",\r\n TP2.battery_level-TP1.battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/zm7wN6Zgz/drive-details?from=', ROUND(EXTRACT(EPOCH FROM start_date))*1000, '&to=', ROUND(EXTRACT(EPOCH FROM end_date))*1000, '&var-car_id=', drives.car_id, '&var-drive_id=', drives.id) AS slotlink\r\nFROM drives\r\n LEFT OUTER JOIN positions AS TP1 on drives.start_position_id = TP1.id\r\n LEFT OUTER JOIN positions AS TP2 on drives.end_position_id = TP2.id\r\n LEFT JOIN addresses start_address ON start_address_id = start_address.id\r\n LEFT JOIN addresses end_address ON end_address_id = end_address.id\r\n LEFT JOIN geofences start_geofence ON start_geofence_id = start_geofence.id\r\n LEFT JOIN geofences end_geofence ON end_geofence_id = end_geofence.id\r\n JOIN cars ON cars.id = drives.car_id\r\nWHERE \r\n $__timeFilter(drives.start_date)\r\n AND drives.car_id = $car_id\r\n AND '🚗 Driving' in ($action_filter)\r\n AND\r\n (COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city))::TEXT ILIKE'%$text_filter%' or\r\n COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city))::TEXT ILIKE'%$text_filter%')\r\n\r\nUNION\r\nSELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts,\r\n '🔋 Charging' AS \"Action\",\r\n charging_processes.duration_min AS \"Duration\",\r\n CASE WHEN geofence_id IS NULL THEN CONCAT('new?lat=', address.latitude, '&lng=', address.longitude)\r\n WHEN geofence_id IS NOT NULL THEN CONCAT(geofence_id, '/edit')\r\n END AS start_path,\r\n NULL AS end_path,\r\n COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS \"Start Address\",\r\n '' AS \"End Address\",\r\n convert_km(position.odometer::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n convert_km(end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n charging_processes.charge_energy_added AS \"kWh\",\r\n convert_km((end_[[preferred_range]]_range_km - start_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit, \r\n end_battery_level AS \"SoC\",\r\n end_battery_level - start_battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/BHhxFeZRz/charge-details?from=', ROUND(EXTRACT(EPOCH FROM start_date)-10)*1000, '&to=', ROUND(EXTRACT(EPOCH FROM end_date)+10)*1000, '&var-car_id=', charging_processes.car_id, '&var-charging_process_id=', charging_processes.id) AS slotlink\r\nFROM charging_processes\r\n INNER JOIN positions AS position ON position_id = position.id\r\n LEFT JOIN addresses address ON address_id = address.id\r\n LEFT JOIN geofences geofence ON geofence_id = geofence.id\r\nWHERE\r\n $__timeFilter(charging_processes.start_date)\r\n AND charging_processes.charge_energy_added > 0\r\n AND charging_processes.car_id = $car_id\r\n AND '🔋 Charging' in ($action_filter)\r\n AND COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city))::TEXT ILIKE'%$text_filter%'\r\nUNION\r\nSELECT\r\n d.end_date AS \"Start\",\r\n LEAD(d.start_date) over w AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM d.end_date)) * 1000 AS start_date_ts,\r\n ROUND(EXTRACT(EPOCH FROM LEAD(d.start_date) over w))*1000 AS end_date_ts,\r\n '🅿️ Parking' AS \"Action\",\r\n EXTRACT(EPOCH FROM LEAD(d.start_date) over w - d.end_date)/60 AS \"Duration\",\r\n CASE WHEN d.end_geofence_id IS NULL THEN CONCAT('new?lat=', end_position.latitude, '&lng=', end_position.longitude)\r\n WHEN d.end_geofence_id IS NOT NULL THEN CONCAT(d.end_geofence_id, '/edit')\r\n END AS start_path,\r\n NULL AS end_path,\r\n COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS \"Start Address\",\r\n '' AS \"End Address\",\r\n convert_km(end_position.odometer::NUMERIC, '$length_unit') AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n convert_km(LEAD(d.start_[[preferred_range]]_range_km) over w::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n convert_km(((LEAD(d.start_[[preferred_range]]_range_km) over w + (LEAD(d.start_km) over w - d.end_km)) - d.end_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') * efficiency AS \"kWh\",\r\n convert_km(((LEAD(d.start_[[preferred_range]]_range_km) over w + (LEAD(d.start_km) over w - d.end_km)) - d.end_[[preferred_range]]_range_km)::NUMERIC, '$length_unit') AS range_diff_$length_unit,\r\n LEAD(start_position.battery_level) over w AS \"SoC\",\r\n LEAD(start_position.battery_level) over w - end_position.battery_level AS \"SoC Diff\",\r\n convert_celsius(outside_temp_avg, '$temp_unit') AS outside_temp_avg_$temp_unit,\r\n CONCAT('d/FkUpJpQZk/trip?from=', ROUND(EXTRACT(EPOCH FROM d.end_date))*1000, '&to=', ROUND(EXTRACT(EPOCH FROM LEAD(d.start_date) over w))*1000, '&var-car_id=', d.car_id) AS slotlink\r\nFROM\r\n drives AS d\r\n LEFT OUTER JOIN positions start_position on d.start_position_id = start_position.id\r\n LEFT OUTER JOIN positions end_position on d.end_position_id = end_position.id\r\n LEFT JOIN addresses address ON d.end_address_id = address.id\r\n LEFT JOIN geofences geofence ON d.end_geofence_id = geofence.id\r\n JOIN cars ON cars.id = d.car_id\r\nWHERE\r\n $__timeFilter(d.end_date)\r\n AND d.car_id=$car_id\r\n AND '🅿️ Parking' in ($action_filter)\r\n AND COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city))::TEXT ILIKE'%$text_filter%'\r\nWINDOW w as (ORDER BY d.id ASC)\r\n\r\nUNION\r\nSELECT\r\n\tT1.end_date +(1 * interval '1 second') AS \"Start\", -- added 1 sec to get it after the corresponding Parking row\r\n\tT2.start_date AS \"End\",\r\n\tROUND(EXTRACT(EPOCH FROM T2.start_date)) * 1000 - 1 AS start_date_ts,\r\n\tROUND(EXTRACT(EPOCH FROM T2.start_date)) * 1000 - 1 AS end_date_ts,\r\n\t'❓ Missing' AS \"Action\",\r\n\t-- EXTRACT(EPOCH FROM T2.start_date - T1.end_date)/60 AS \"Duration\",\r\n\tNULL AS \"Duration\",\r\n\tCASE WHEN T1.end_geofence_id IS NULL THEN CONCAT('new?lat=', TP1.latitude, '&lng=', TP1.longitude)\r\n\t\tWHEN T1.end_geofence_id IS NOT NULL THEN CONCAT(T1.end_geofence_id, '/edit')\r\n\tEND AS start_path,\r\n\tCASE WHEN T2.start_geofence_id IS NULL THEN CONCAT('new?lat=', TP2.latitude, '&lng=', TP2.longitude)\r\n\t\tWHEN T2.start_geofence_id IS NOT NULL THEN CONCAT(T2.start_geofence_id, '/edit')\r\n\tEND AS end_path,\r\n\tCOALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city)) AS \"Start Address\",\r\n\tCOALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)) AS \"End Address\",\r\n\tconvert_km(TP2.odometer::INTEGER, '$length_unit') AS odometer_$length_unit,\r\n\tconvert_km((TP2.odometer - TP1.odometer)::INTEGER, '$length_unit') AS distance_$length_unit,\r\n convert_km(T2.end_[[preferred_range]]_range_km::NUMERIC, '$length_unit') AS end_range_$length_unit,\r\n\tconvert_km(((TP2.[[preferred_range]]_battery_range_km + (TP2.odometer - TP1.odometer)) - TP1.[[preferred_range]]_battery_range_km)::INTEGER, '$length_unit')::INTEGER * efficiency AS \"kWh\",\r\n\tconvert_km(((TP2.[[preferred_range]]_battery_range_km + (TP2.odometer - TP1.odometer)) - TP1.[[preferred_range]]_battery_range_km)::INTEGER, '$length_unit') AS range_diff_$length_unit,\r\n\tNULL AS \"SoC\",\r\n\tNULL AS \"SoC Diff\",\r\n\tNULL AS outside_temp_avg_$temp_unit,\r\n\tNULL AS slotlink\r\n\t-- TP2.battery_level AS \"SoC\",\r\n\t-- TP2.battery_level-TP1.battery_level AS \"SoC Diff\",\r\n\t-- (T1.outside_temp_avg+T2.outside_temp_avg)/2 AS outside_temp_avg_$temp_unit\r\nFROM\r\n\t(SELECT row_number() over(ORDER BY start_date) AS time_id, * FROM drives) AS T1\r\n\tLEFT OUTER JOIN (SELECT row_number() over(ORDER BY start_date) AS time_id, * FROM drives ) AS T2 on T1.time_id + 1 = T2.time_id\r\n\tLEFT OUTER JOIN positions AS TP1 on T1.end_position_id = TP1.id\r\n\tLEFT OUTER JOIN positions AS TP2 on T2.start_position_id = TP2.id\r\n\tLEFT JOIN addresses start_address ON T1.end_address_id = start_address.id\r\n\tLEFT JOIN addresses end_address ON T2.start_address_id = end_address.id\r\n\tLEFT JOIN geofences start_geofence ON T1.end_geofence_id = start_geofence.id\r\n\tLEFT JOIN geofences end_geofence ON T2.start_geofence_id = end_geofence.id\r\n\tJOIN cars ON cars.id = T2.car_id\r\nWHERE\r\n\t$__timeFilter(T1.end_date)\r\n\tAND T1.car_id=$car_id \r\n\tAND T2.car_id=$car_id \r\n\tAND TP2.car_id=$car_id \r\n\tAND TP1.car_id=$car_id \r\n\tAND TP2.odometer - TP1.odometer > 0.5\r\n\tAND T1.end_address_id <> T2.start_address_id AND ((T1.end_geofence_id IS NOT NULL OR T2.end_geofence_id IS NOT NULL) OR T1.end_geofence_id <> T2.start_geofence_id)\r\n\tAND '❓ Missing' in ($action_filter)\r\n\tAND (\r\n\t (COALESCE(start_geofence.name, CONCAT_WS(', ', COALESCE(start_address.name, nullif(CONCAT_WS(' ', start_address.road, start_address.house_number), '')), start_address.city))::TEXT ILIKE'%$text_filter%') or\r\n\t (COALESCE(end_geofence.name, CONCAT_WS(', ', COALESCE(end_address.name, nullif(CONCAT_WS(' ', end_address.road, end_address.house_number), '')), end_address.city)))::TEXT ILIKE'%$text_filter%')\r\nUNION\r\nSELECT\r\n start_date AS \"Start\",\r\n end_date AS \"End\",\r\n ROUND(EXTRACT(EPOCH FROM start_date))*1000 AS start_date_ts, \r\n ROUND(EXTRACT(EPOCH FROM end_date))*1000 AS end_date_ts, \r\n '💾 Updating' AS \"Action\",\r\n\tEXTRACT(EPOCH FROM end_date - start_date)/60 AS \"Duration\",\r\n NULL AS start_path,\r\n NULL AS end_path,\r\n version AS \"Start Address\",\r\n '' AS \"End Address\",\r\n NULL AS odometer_$length_unit,\r\n NULL AS distance_$length_unit,\r\n NULL AS end_range_$length_unit,\r\n NULL AS \"kWh\",\r\n NULL AS range_diff_$length_unit,\r\n NULL AS \"SoC\",\r\n NULL AS \"SoC Diff\",\r\n NULL AS outside_temp_avg_$temp_unit,\r\n CONCAT('https://www.notateslaapp.com/software-updates/version/', split_part(version, ' ', 1), '/release-notes') AS slotlink\r\nFROM updates\r\nWHERE \r\n $__timeFilter(start_date)\r\n AND car_id = $car_id \r\n AND '💾 Updating' in ($action_filter)\r\n AND version::TEXT ILIKE'%$text_filter%'\r\n\r\nORDER BY \"Start\" DESC;", "refId": "A", "select": [ [ @@ -556,6 +591,23 @@ } ] ], + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + }, "table": "candata", "timeColumn": "datum", "timeColumnType": "timestamp", @@ -623,21 +675,19 @@ "type": "table" } ], - "refresh": "1h", - "schemaVersion": 36, - "style": "dark", + "refresh": "", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -656,12 +706,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -737,7 +786,7 @@ "value": "" }, "hide": 0, - "label": "Text Filter", + "label": "Address Filter", "name": "text_filter", "options": [ { @@ -751,12 +800,11 @@ "type": "textbox" }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -775,12 +823,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -799,12 +846,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -824,13 +870,13 @@ ] }, "time": { - "from": "now-14d", + "from": "now-7d", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Timeline", "uid": "SUBgwtigz", - "version": 1, + "version": 2, "weekStart": "" -} +} \ No newline at end of file From 6696b2cb855c818ce36e270e945948aecd0a6ab1 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 10 Jun 2024 15:22:31 +0200 Subject: [PATCH 45/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1a9003a3f..49979eade0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - Remove A lot of empty space on the drive graph (#3927 - @jheredianet) - Add more ways to recognize Supercharger locations (#3863 -@woyteck1) - Projected Range fix (using usable_battery_level) (#3859 -@woyteck1) +- Update and fix timeline dashboard (#3951 -@jheredianet) #### Translations From 16c8adebbb3bdd1af9947e2d2a9978f363ce85b8 Mon Sep 17 00:00:00 2001 From: Juan Carlos Heredia <45735191+jheredianet@users.noreply.github.com> Date: Mon, 10 Jun 2024 15:23:22 +0200 Subject: [PATCH 46/61] Remove A lot of empty space on the drive graph (#3950) From 533baafd06f9d5454b30718553e359d64fbc31a9 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Mon, 10 Jun 2024 15:23:47 +0200 Subject: [PATCH 47/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49979eade0..321a945f72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Add more ways to recognize Supercharger locations (#3863 -@woyteck1) - Projected Range fix (using usable_battery_level) (#3859 -@woyteck1) - Update and fix timeline dashboard (#3951 -@jheredianet) +- Remove A lot of empty space on the drive graph (#3950 -@jheredianet) #### Translations From 8876759df8a935aac19bab54587a32b34673ae57 Mon Sep 17 00:00:00 2001 From: top-gun Date: Tue, 11 Jun 2024 08:36:02 +0200 Subject: [PATCH 48/61] Update projects.md mit new MMM (#3953) MMM-Teslamate has a new maintainer, updated the link to the new repo --- website/docs/projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/projects.md b/website/docs/projects.md index ff1cda6228..d03d8f119c 100644 --- a/website/docs/projects.md +++ b/website/docs/projects.md @@ -8,7 +8,7 @@ An LED illuminated acrylic Tesla Model 3. Its color and scale of light depend on LINK: [github.com/gaussmeter/gaussmeter](https://github.com/gaussmeter/gaussmeter) -## [MMM-Teslamate](https://github.com/denverquane/MMM-Teslamate) +## [MMM-Teslamate](https://github.com/lildude/ha-addon-teslamate) A [Magic Mirror](https://magicmirror.builders/) Module for TeslaMate. From 81c1b5dcae0658db5b6129255a7454f1e9dc5d86 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 11 Jun 2024 08:36:56 +0200 Subject: [PATCH 49/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 321a945f72..bf50d28b99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ - doc: Update MQTT examples of location/active_route (#3919 - @longzheng) - doc: Update HomeAssistant docs to use new MQTT values (#3923 - @longzheng) - doc: Add network flows that should be authorized (#3886 - @fl42) +- doc: Update projects.md with new MMM (#3953 - @top-gun) ## [1.29.1] - 2024-05-20 From 6615acbc712c1fa457128db9f67a324e487593a8 Mon Sep 17 00:00:00 2001 From: Matthias Wirtz Date: Tue, 18 Jun 2024 14:45:26 +0200 Subject: [PATCH 50/61] Integrate LFP specific dashboards into regular dashboards (#3966) * Remove LFP Dashboards * update LFP detect via VIN based on latest info available --- CHANGELOG.md | 1 + grafana/dashboards/battery-health-lfp.json | 1512 ------------- grafana/dashboards/battery-health.json | 110 +- grafana/dashboards/charge-level.json | 139 +- grafana/dashboards/charging-stats-lfp.json | 2276 -------------------- grafana/dashboards/charging-stats.json | 486 ++++- grafana/dashboards/overview-lfp.json | 1699 --------------- grafana/dashboards/overview.json | 494 ++++- grafana/datasource.yml | 32 +- 9 files changed, 991 insertions(+), 5758 deletions(-) delete mode 100644 grafana/dashboards/battery-health-lfp.json delete mode 100644 grafana/dashboards/charging-stats-lfp.json delete mode 100644 grafana/dashboards/overview-lfp.json diff --git a/CHANGELOG.md b/CHANGELOG.md index bf50d28b99..68e258ec58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - Projected Range fix (using usable_battery_level) (#3859 -@woyteck1) - Update and fix timeline dashboard (#3951 -@jheredianet) - Remove A lot of empty space on the drive graph (#3950 -@jheredianet) +- Integrate LFP specific dashboards into regular dashboards (#3966 - @swiffer) #### Translations diff --git a/grafana/dashboards/battery-health-lfp.json b/grafana/dashboards/battery-health-lfp.json deleted file mode 100644 index b6afd03739..0000000000 --- a/grafana/dashboards/battery-health-lfp.json +++ /dev/null @@ -1,1512 +0,0 @@ -{ - "__elements": [], - "__requires": [ - { - "type": "panel", - "id": "bargauge", - "name": "Bar gauge", - "version": "" - }, - { - "type": "panel", - "id": "gauge", - "name": "Gauge", - "version": "" - }, - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "8.5.15" - }, - { - "type": "panel", - "id": "piechart", - "name": "Pie chart", - "version": "" - }, - { - "type": "datasource", - "id": "postgres", - "name": "PostgreSQL", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "stat", - "name": "Stat", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 1, - "id": null, - "iteration": 1681039491922, - "links": [ - { - "icon": "dashboard", - "tags": [], - "title": "TeslaMate", - "tooltip": "", - "type": "link", - "url": "[[base_url:raw]]" - }, - { - "asDropdown": true, - "icon": "external link", - "tags": [ - "tesla" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "**Usable (now)** is the estimated current battery capacity. \n\n**Usable (new)** is the estimated Battery Capacity since you begun to use Teslamate. That's why, the more data you have logged from your brand new car the better. ", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-blue", - "value": null - } - ] - }, - "unit": "kwatth" - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 0, - "y": 0 - }, - "id": 13, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "value_and_name" - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT \n CASE WHEN $custom_kwh_new > 0 THEN $custom_kwh_new ELSE ('$aux'::json -> 'MaxCapacity')::text::float END as \"Usable (new)\", \n ('$aux'::json -> 'CurrentCapacity')::text::float as \"Usable (now)\",\n ('$aux'::json -> 'CurrentCapacity')::text::float - CASE WHEN $custom_kwh_new > 0 THEN $custom_kwh_new ELSE ('$aux'::json -> 'MaxCapacity')::text::float END as \"Difference\"\n \n \n \n \n \n \n ", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Battery Capacity", - "type": "stat" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-blue", - "value": null - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": "/.*_km/" - }, - "properties": [ - { - "id": "unit", - "value": "lengthkm" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/.*_mi/" - }, - "properties": [ - { - "id": "unit", - "value": "lengthmi" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/maxrange_.*/" - }, - "properties": [ - { - "id": "displayName", - "value": "Max range (new)" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/currentrange_.*/" - }, - "properties": [ - { - "id": "displayName", - "value": "Max range (now)" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": "/range_lost.*/" - }, - "properties": [ - { - "id": "displayName", - "value": "Range lost" - } - ] - } - ] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 6, - "y": 0 - }, - "id": 14, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "value_and_name" - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT \n CASE WHEN $custom_max_range > 0 THEN $custom_max_range ELSE ('$aux'::json -> 'MaxRange')::text::float END as \"maxrange_$length_unit\",\n ('$aux'::json -> 'CurrentRange')::text::float as \"currentrange_$length_unit\",\n CASE WHEN $custom_max_range > 0 THEN $custom_max_range ELSE ('$aux'::json -> 'MaxRange')::text::float END - ('$aux'::json -> 'CurrentRange')::text::float as \"range_lost_$length_unit\"", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Ranges", - "type": "stat" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-blue", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 12, - "y": 0 - }, - "id": 32, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/.*/", - "values": false - }, - "textMode": "value_and_name" - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT ROUND(convert_km((max(odometer) - min(odometer))::numeric, '$length_unit'),0)|| ' $length_unit' as \"Logged\"\nfrom positions where car_id = $car_id;", - "refId": "DistanceLogged", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "select ROUND(convert_km(ROUND(odometer::numeric,0), '$length_unit'),0) || ' $length_unit' as \"Odometer\"\nfrom positions \nwhere car_id = $car_id\norder by date desc \nlimit 1;", - "refId": "Odometer", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Mileage", - "type": "stat" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "light-yellow", - "value": null - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Total energy added" - }, - "properties": [ - { - "id": "unit", - "value": "kwatth" - } - ] - } - ] - }, - "gridPos": { - "h": 6, - "w": 6, - "x": 18, - "y": 0 - }, - "id": 36, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "mean" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "value_and_name" - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tsum(charge_energy_added) as \"Total energy added\"\nFROM\n\tcharging_processes\nWHERE\n\tcar_id = $car_id;", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tround(ceil(sum(charge_energy_added) / ('$aux'::json -> 'MaxCapacity')::text::numeric),0) AS \"Estimated charging cycles\"\nFROM charging_processes WHERE car_id = $car_id;", - "refId": "B", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Battery Stats", - "type": "stat" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "This dashboard is meant to have a look of the Battery health based on the data logged in Teslamate. So, the more data you have logged from your brand new car the better.\n\n**Degradation** is just an estimated value to have a reference, measured on **usable battery level** of every charging session with enough kWh added (in order to avoid dirty data form the sample), calculated according to the rated efficiency of the car.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "#EAB839", - "value": 10 - }, - { - "color": "red", - "value": 20 - }, - { - "color": "dark-red", - "value": 30 - } - ] - }, - "unit": "%" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 6 - }, - "id": 17, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [], - "fields": "/^greatest$/", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT GREATEST(0, 100.0 - (('$aux'::json -> 'CurrentCapacity')::text::float * 100.0 / CASE WHEN $custom_kwh_new > 0 THEN $custom_kwh_new ELSE ('$aux'::json -> 'MaxCapacity')::text::float END))\n\n", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Estimated Degradation", - "type": "gauge" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "max": 100, - "min": 1, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "light-red", - "value": null - }, - { - "color": "#EAB839", - "value": 80 - }, - { - "color": "light-green", - "value": 90 - } - ] - }, - "unit": "%" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 6, - "y": 6 - }, - "id": 12, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT \n LEAST(100, (100 - GREATEST(0, 100.0 - (('$aux'::json -> 'CurrentCapacity')::text::float * 100.0 / CASE WHEN $custom_kwh_new > 0 THEN $custom_kwh_new ELSE ('$aux'::json -> 'MaxCapacity')::text::float END)))) as \"Battery Health (%)\"\n \n", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Battery Health", - "type": "bargauge" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "Estimated charging cycles are based on the whole energy added to the battery. So the more data you logged the better. \n", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "super-light-blue", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 12, - "y": 6 - }, - "id": 29, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/.*/", - "values": false - }, - "textMode": "value_and_name" - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT \n round(('$aux'::json -> 'LastChargekWhAdded')::text::numeric,1) || ' kWh' as \"Last Energy added\",\n round(('$aux'::json -> 'LastMileageAdded')::text::numeric,1) || ' $length_unit' as \"Last Range added\"", - "refId": "LastChanging", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charges", - "type": "stat" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "decimals": 2, - "mappings": [], - "unit": "kwatth" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "AC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "semi-dark-green", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "DC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "light-orange", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 6 - }, - "id": 34, - "links": [], - "maxDataPoints": 3, - "options": { - "displayLabels": [ - "name", - "percent", - "value" - ], - "legend": { - "displayMode": "hidden", - "placement": "bottom" - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH data AS (\n SELECT\n\t\tcp.id,\n\t\tcp.charge_energy_added,\n\t\tCASE WHEN NULLIF(mode() within group (order by charger_phases),0) is null THEN 'DC'\n\t\t\t\t ELSE 'AC'\n\t\tEND AS current\n\tFROM charging_processes cp\n RIGHT JOIN charges ON cp.id = charges.charging_process_id\n WHERE\n\t cp.car_id = $car_id\n\t AND cp.charge_energy_added > 0.01\n GROUP BY 1,2\n)\nSELECT\n\tnow() AS time,\n\tsum(charge_energy_added) AS value,\n\tcurrent AS metric\nFROM data\nGROUP BY 3\nORDER BY metric DESC;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "addresses", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Summary AC/DC Energy Added", - "type": "piechart" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "semi-dark-green", - "value": 20 - } - ] - }, - "unit": "%" - }, - "overrides": [] - }, - "gridPos": { - "h": 2, - "w": 6, - "x": 6, - "y": 9 - }, - "id": 25, - "options": { - "displayMode": "lcd", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true, - "text": {} - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "%", - "metricColumn": "none", - "orderByTime": "ASC", - "policy": "default", - "rawQuery": true, - "rawSql": "(SELECT usable_battery_level, date\r\nFROM positions\r\nWHERE car_id = $car_id\r\nORDER BY date DESC\r\nLIMIT 1)\r\nUNION\r\nSELECT usable_battery_level, date\r\nFROM charges c\r\nJOIN charging_processes p ON p.id = c.charging_process_id\r\nWHERE p.car_id = $car_id\r\nORDER BY date DESC\r\nLIMIT 1", - "refId": "SOC", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Current SOC", - "type": "bargauge" - }, - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 1, - "mappings": [], - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-red", - "value": null - }, - { - "color": "dark-green", - "value": 7.84 - }, - { - "color": "semi-dark-orange", - "value": 31.36 - }, - { - "color": "light-blue", - "value": 35.28 - } - ] - }, - "unit": "kwatth" - }, - "overrides": [] - }, - "gridPos": { - "h": 2, - "w": 6, - "x": 6, - "y": 11 - }, - "id": 27, - "options": { - "displayMode": "gradient", - "minVizHeight": 10, - "minVizWidth": 0, - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "/^kwh$/", - "values": false - }, - "showUnfilled": true, - "text": {} - }, - "pluginVersion": "8.5.15", - "targets": [ - { - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "format": "table", - "group": [], - "groupBy": [ - { - "params": [ - "$__interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "%", - "metricColumn": "none", - "orderByTime": "ASC", - "policy": "default", - "rawQuery": true, - "rawSql": "(SELECT usable_battery_level * ('$aux'::json -> 'CurrentCapacity')::text::float / 100 as kWh, date, ('$aux'::json -> 'CurrentCapacity')::text::float as Total\nFROM positions\nWHERE car_id = $car_id\nORDER BY date DESC\nLIMIT 1)\nUNION\nSELECT battery_level * ('$aux'::json -> 'CurrentCapacity')::text::float / 100 as kWh, date, ('$aux'::json -> 'CurrentCapacity')::text::float as Total\nFROM charges c\nJOIN charging_processes p ON p.id = c.charging_process_id\nWHERE p.car_id = $car_id\nORDER BY date DESC\nLIMIT 1", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Current Capacity", - "type": "bargauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "pointSize": { - "fixed": 6 - }, - "scaleDistribution": { - "type": "linear" - }, - "show": "points" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "Median" - }, - "properties": [ - { - "id": "custom.lineWidth", - "value": 2 - }, - { - "id": "custom.show", - "value": "lines" - }, - { - "id": "custom.lineStyle", - "value": { - "fill": "solid" - } - } - ] - } - ] - }, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 13 - }, - "id": 28, - "links": [], - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "series": [ - { - "pointColor": { - "field": "kWh" - }, - "x": "odometer", - "y": "kWh" - }, - { - "pointColor": { - "fixed": "dark-red" - }, - "x": "M-Odometer", - "y": "M-kWh" - } - ], - "seriesMapping": "manual", - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "alias": "", - "datasource": "TeslaMate", - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT convert_km(AVG(p.odometer)::numeric,'$length_unit') AS odometer, \r\n\tAVG(c.rated_battery_range_km) * ('$aux'::json -> 'RatedEfficiency')::text::float / AVG(c.usable_battery_level) AS \"kWh\",\r\n\tMAX(cp.id) AS id,\r\n\tto_char(cp.end_date, 'YYYY-MM-dd') AS Title\r\n\tFROM charging_processes cp\r\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\tFROM charges GROUP BY charging_process_id) AS last_charges\tON cp.id = last_charges.charging_process_id\r\n\t\tINNER JOIN charges c\r\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\r\n\t\tINNER JOIN positions p ON p.id = cp.position_id\r\n\tWHERE cp.car_id = $car_id\r\n\t\tAND cp.end_date IS NOT NULL\r\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\r\n\tGROUP BY 4", - "refId": "Projected Range", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - }, - { - "alias": "", - "datasource": "TeslaMate", - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT \n ROUND(MIN(convert_km(p.odometer::numeric,'$length_unit')),0) AS \"M-Odometer\",\n\tROUND(PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY c.rated_battery_range_km * ('$aux'::json -> 'RatedEfficiency')::text::float / c.usable_battery_level)::numeric,1) AS \"M-kWh\",\n\tto_char(cp.end_date, 'YYYYMM') || CASE WHEN to_char(cp.end_date, 'DD')::int <= 15 THEN '1' ELSE '2' END AS Title\n\tFROM charging_processes cp\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\tFROM charges GROUP BY charging_process_id) AS last_charges\tON cp.id = last_charges.charging_process_id\n\t\tINNER JOIN charges c\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\n\t\tINNER JOIN positions p ON p.id = cp.position_id\n\tWHERE cp.car_id = $car_id\n\t\tAND cp.end_date IS NOT NULL\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\n\tGROUP BY 3", - "refId": "Median", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Battery Capacity by Mileage", - "type": "xychart" - } - ], - "refresh": "", - "schemaVersion": 36, - "style": "dark", - "tags": [ - "tesla" - ], - "templating": { - "list": [ - { - "current": {}, - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "hide": 0, - "includeAll": false, - "label": "Car", - "multi": false, - "name": "car_id", - "options": [], - "query": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": {}, - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "definition": "select unit_of_length from settings limit 1;", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "length_unit", - "options": [], - "query": "select unit_of_length from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": {}, - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "definition": "select base_url from settings limit 1;", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "base_url", - "options": [], - "query": "select base_url from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": {}, - "datasource": { - "type": "postgres", - "uid": "TeslaMate" - }, - "definition": "-- CONCATENATED JOIN QUERIES TO IMPROVE PERFORMANCE\nWITH\naux\tAS\n(\n\tSELECT cp.charge_energy_added,\n\t\tcp.car_id, cp.charge_energy_added / (cp.end_rated_range_km - cp.start_rated_range_km) * 100.0 AS rated_efficiency,\n\t\t(cp.end_rated_range_km - cp.start_rated_range_km) AS added_range_km\n\tFROM charging_processes cp\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\n\t\tFROM charges\n\t\tGROUP BY charging_process_id) AS last_charges\n\t\tON cp.id = last_charges.charging_process_id\n\t\tINNER JOIN charges c\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\n\tWHERE cp.car_id = $car_id\n\t\tAND cp.end_date IS NOT NULL\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\n\tORDER BY cp.end_date DESC \n\tLIMIT 1\n), \nCurrentCapacity\t AS\n(\n\tSELECT AVG(Capacity) AS CurrentCapacity FROM\n (SELECT (100.0 * cp.charge_energy_added) / (GREATEST(1,MAX(usable_battery_level) - MIN(usable_battery_level))) AS Capacity\t\n FROM charging_processes cp\n\t INNER JOIN charges c\tON cp.id = c.charging_process_id\n INNER JOIN aux ON cp.car_id = aux.car_id\n\t WHERE cp.car_id = $car_id AND cp.charge_energy_added >= aux.rated_efficiency AND cp.end_date >= date_trunc('month', current_date - interval '1 month') \n GROUP BY cp.charge_energy_added, cp.end_date\n ) AS lastEstimatedCapacity\n), \nMaxCapacity AS\n(\n\tSELECT MAX(c.rated_battery_range_km * cars.efficiency * 100.0 / c.usable_battery_level) AS MaxCapacity\n\tFROM charging_processes cp\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\n\t\tFROM charges\n\t\tGROUP BY charging_process_id) AS last_charges\n\t\tON cp.id = last_charges.charging_process_id\n\t\tINNER JOIN charges c\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\n\t\tINNER JOIN cars ON cp.car_id = cars.id\n\tWHERE cp.car_id = $car_id\n\t\tAND cp.end_date IS NOT NULL\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\n\t\tAND c.charge_energy_added >= cars. Efficiency\n), \nCurrentRange AS\n(\n SELECT\n\t\tfloor(extract(epoch from date)/86400)*86400 AS timecurrent,\n\t\tsum(rated_battery_range_km) / sum(usable_battery_level) * 100 AS rated_range_km\n\tFROM (\n\t\tSELECT battery_level, usable_battery_level, date, rated_battery_range_km from charges c \n\t\tJOIN charging_processes p ON p.id = c.charging_process_id \n\t\tWHERE p.car_id = $car_id AND usable_battery_level IS NOT NULL) AS data\n\tGROUP BY 1\n\tORDER BY 1 DESC\n\tLIMIT 1\n), \nMaxRange AS\n(\n SELECT\n\t\tfloor(extract(epoch from date)/86400)*86400 AS time,\n\t\tsum(rated_battery_range_km) / sum(usable_battery_level) * 100 AS max_rated_range_km\n\tFROM (\n\t\tSELECT battery_level, usable_battery_level, date, rated_battery_range_km from charges c \n\t\tJOIN charging_processes p ON p.id = c.charging_process_id \n\t\tWHERE p.car_id = $car_id AND usable_battery_level IS NOT NULL) AS data\n\tGROUP BY 1\n\tORDER BY 2 DESC\n\tLIMIT 1\n) \nSELECT CONCAT('{\"LastChargekWhAdded\": ', aux.charge_energy_added, \n ', \"LastMileageAdded\" : ', convert_km(aux.added_range_km,'$length_unit'),\n ', \"MaxRange\": ', convert_km(MaxRange.max_rated_range_km,'$length_unit'),\n ', \"CurrentRange\": ',convert_km(CurrentRange.rated_range_km,'$length_unit'),\n ', \"MaxCapacity\": ', MaxCapacity.MaxCapacity,\n ', \"CurrentCapacity\": ',CurrentCapacity.CurrentCapacity,\n ', \"RatedEfficiency\": ',aux.rated_efficiency, '}') \nFROM MaxRange, CurrentRange, Aux, MaxCapacity, CurrentCapacity;\n-- The following query is the result of many tests and hours of work. This panel is for your own personal use. \n-- If you think you can improve it and contribute, please create a pull request and do not take it to your repository, \n-- much less upload it to another repository as if the original idea were yours, nor do you share it on social media\n-- without mentioning the author. Respect the ingenuity and work of others. Cheers!\n-- 16/04/2023\n-- By @jheredianet - Twitter: @juanheredia", - "hide": 2, - "includeAll": false, - "multi": false, - "name": "aux", - "options": [], - "query": "-- CONCATENATED JOIN QUERIES TO IMPROVE PERFORMANCE\nWITH\naux\tAS\n(\n\tSELECT cp.charge_energy_added,\n\t\tcp.car_id, cp.charge_energy_added / (cp.end_rated_range_km - cp.start_rated_range_km) * 100.0 AS rated_efficiency,\n\t\t(cp.end_rated_range_km - cp.start_rated_range_km) AS added_range_km\n\tFROM charging_processes cp\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\n\t\tFROM charges\n\t\tGROUP BY charging_process_id) AS last_charges\n\t\tON cp.id = last_charges.charging_process_id\n\t\tINNER JOIN charges c\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\n\tWHERE cp.car_id = $car_id\n\t\tAND cp.end_date IS NOT NULL\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\n\tORDER BY cp.end_date DESC \n\tLIMIT 1\n), \nCurrentCapacity\t AS\n(\n\tSELECT AVG(Capacity) AS CurrentCapacity FROM\n (SELECT (100.0 * cp.charge_energy_added) / (GREATEST(1,MAX(usable_battery_level) - MIN(usable_battery_level))) AS Capacity\t\n FROM charging_processes cp\n\t INNER JOIN charges c\tON cp.id = c.charging_process_id\n INNER JOIN aux ON cp.car_id = aux.car_id\n\t WHERE cp.car_id = $car_id AND cp.charge_energy_added >= aux.rated_efficiency AND cp.end_date >= date_trunc('month', current_date - interval '1 month') \n GROUP BY cp.charge_energy_added, cp.end_date\n ) AS lastEstimatedCapacity\n), \nMaxCapacity AS\n(\n\tSELECT MAX(c.rated_battery_range_km * cars.efficiency * 100.0 / c.usable_battery_level) AS MaxCapacity\n\tFROM charging_processes cp\n\t\tJOIN (SELECT charging_process_id, MAX(date) as date\n\t\tFROM charges\n\t\tGROUP BY charging_process_id) AS last_charges\n\t\tON cp.id = last_charges.charging_process_id\n\t\tINNER JOIN charges c\n\t\tON c.charging_process_id = cp.id AND c.date = last_charges.date\n\t\tINNER JOIN cars ON cp.car_id = cars.id\n\tWHERE cp.car_id = $car_id\n\t\tAND cp.end_date IS NOT NULL\n\t\tAND cp.end_rated_range_km > cp.start_rated_range_km\n\t\tAND c.charge_energy_added >= cars. Efficiency\n), \nCurrentRange AS\n(\n SELECT\n\t\tfloor(extract(epoch from date)/86400)*86400 AS timecurrent,\n\t\tsum(rated_battery_range_km) / sum(usable_battery_level) * 100 AS rated_range_km\n\tFROM (\n\t\tSELECT battery_level, usable_battery_level, date, rated_battery_range_km from charges c \n\t\tJOIN charging_processes p ON p.id = c.charging_process_id \n\t\tWHERE p.car_id = $car_id AND usable_battery_level IS NOT NULL) AS data\n\tGROUP BY 1\n\tORDER BY 1 DESC\n\tLIMIT 1\n), \nMaxRange AS\n(\n SELECT\n\t\tfloor(extract(epoch from date)/86400)*86400 AS time,\n\t\tsum(rated_battery_range_km) / sum(usable_battery_level) * 100 AS max_rated_range_km\n\tFROM (\n\t\tSELECT battery_level, usable_battery_level, date, rated_battery_range_km from charges c \n\t\tJOIN charging_processes p ON p.id = c.charging_process_id \n\t\tWHERE p.car_id = $car_id AND usable_battery_level IS NOT NULL) AS data\n\tGROUP BY 1\n\tORDER BY 2 DESC\n\tLIMIT 1\n) \nSELECT CONCAT('{\"LastChargekWhAdded\": ', aux.charge_energy_added, \n ', \"LastMileageAdded\" : ', convert_km(aux.added_range_km,'$length_unit'),\n ', \"MaxRange\": ', convert_km(MaxRange.max_rated_range_km,'$length_unit'),\n ', \"CurrentRange\": ',convert_km(CurrentRange.rated_range_km,'$length_unit'),\n ', \"MaxCapacity\": ', MaxCapacity.MaxCapacity,\n ', \"CurrentCapacity\": ',CurrentCapacity.CurrentCapacity,\n ', \"RatedEfficiency\": ',aux.rated_efficiency, '}') \nFROM MaxRange, CurrentRange, Aux, MaxCapacity, CurrentCapacity;\n-- The following query is the result of many tests and hours of work. This panel is for your own personal use. \n-- If you think you can improve it and contribute, please create a pull request and do not take it to your repository, \n-- much less upload it to another repository as if the original idea were yours, nor do you share it on social media\n-- without mentioning the author. Respect the ingenuity and work of others. Cheers!\n-- 16/04/2023\n-- By @jheredianet - Twitter: @juanheredia", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - }, - { - "current": { - "selected": false, - "text": "0", - "value": "0" - }, - "description": "Set the capacity of your car battery when it was new, in case you started using Teslamate after a while of having it. If not, leave it at 0, it will be calculated with the data that is logged in Teslamate", - "hide": 0, - "label": "Custom Battery Capacity (kWh) when new", - "name": "custom_kwh_new", - "options": [ - { - "selected": true, - "text": "0", - "value": "0" - } - ], - "query": "0", - "skipUrlSync": false, - "type": "textbox" - }, - { - "current": { - "selected": false, - "text": "0", - "value": "0" - }, - "description": "Set the max range to 100% of your car when it was new, in case you started using Teslamate after a while of having it. If not, leave it at 0, the degradation will be calculated with the data that is logged in Teslamate", - "hide": 0, - "label": "Custom Max Range when new", - "name": "custom_max_range", - "options": [ - { - "selected": true, - "text": "0", - "value": "0" - } - ], - "query": "0", - "skipUrlSync": false, - "type": "textbox" - } - ] - }, - - "timepicker": { - "hidden": true, - "refresh_intervals": [] - }, - "timezone": "browser", - "title": "Battery Health - LFP", - "uid": "DuertWeceu", - "version": 7, - "weekStart": "" -} diff --git a/grafana/dashboards/battery-health.json b/grafana/dashboards/battery-health.json index ae0a7c061c..b31d145a7f 100644 --- a/grafana/dashboards/battery-health.json +++ b/grafana/dashboards/battery-health.json @@ -17,7 +17,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "10.4.0" + "version": "11.0.0" }, { "type": "datasource", @@ -149,7 +149,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -296,7 +296,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -381,7 +381,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -603,6 +603,7 @@ "values": false }, "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -723,7 +724,7 @@ "showThresholdMarkers": true, "sizing": "auto" }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -822,7 +823,7 @@ "sizing": "auto", "valueMode": "color" }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -947,7 +948,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -1159,20 +1160,8 @@ "mode": "absolute", "steps": [ { - "color": "dark-red", + "color": "transparent", "value": null - }, - { - "color": "semi-dark-green", - "value": 20 - }, - { - "color": "semi-dark-orange", - "value": 80 - }, - { - "color": "light-blue", - "value": 100 } ] }, @@ -1206,7 +1195,7 @@ "text": {}, "valueMode": "color" }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -1257,9 +1246,74 @@ "type": "macro" } ] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n 0 as lowest,\r\n 20 as lower,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 81\r\n END as upper\r\nfrom cars ", + "refId": "A", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "title": "Current SOC", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "SOC" + }, + "configRefId": "A", + "mappings": [ + { + "fieldName": "lower", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "upper", + "handlerArguments": { + "threshold": { + "color": "orange" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "lowest", + "handlerKey": "threshold1" + } + ] + } + } + ], "type": "bargauge" }, { @@ -1335,7 +1389,7 @@ "textMode": "value", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -1435,7 +1489,7 @@ "text": {}, "valueMode": "color" }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -1611,6 +1665,7 @@ ], "seriesMapping": "manual", "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1882,12 +1937,17 @@ } ] }, - "timepicker": { + "time": { + "from": "now-6h", + "to": "now" + }, + "timeRangeUpdatedDuringEditOrView": false, + "timepicker": { "hidden": true }, "timezone": "browser", "title": "Battery Health", "uid": "jchmRiqUfXgTM", - "version": 18, + "version": 6, "weekStart": "" } \ No newline at end of file diff --git a/grafana/dashboards/charge-level.json b/grafana/dashboards/charge-level.json index 937009e623..5e6a4e9a14 100644 --- a/grafana/dashboards/charge-level.json +++ b/grafana/dashboards/charge-level.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], "annotations": { "list": [ { @@ -21,7 +42,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1656100496202, + "id": null, "links": [ { "icon": "dashboard", @@ -59,13 +80,19 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "Charge Level", "axisPlacement": "auto", "barAlignment": 0, @@ -77,6 +104,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -101,17 +129,9 @@ "thresholds": { "mode": "absolute", "steps": [ - { - "color": "green", - "value": null - }, { "color": "transparent", - "value": 20 - }, - { - "color": "green", - "value": 80 + "value": null } ] }, @@ -126,7 +146,6 @@ "y": 1 }, "id": 2, - "links": [], "options": { "legend": { "calcs": [ @@ -135,9 +154,11 @@ "min" ], "displayMode": "table", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -146,7 +167,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "hide": false, @@ -172,27 +196,86 @@ "type": "macro" } ] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n 20 as lower,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 80\r\n END as upper\r\nfrom cars ", + "refId": "B", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "title": "Charge Level", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "A" + }, + "configRefId": "B", + "mappings": [ + { + "fieldName": "lower", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "upper", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + } + ] + } + } + ], "type": "timeseries" } ], "refresh": false, - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -211,12 +294,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -240,6 +322,7 @@ "from": "now-7d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -268,6 +351,6 @@ "timezone": "", "title": "Charge Level", "uid": "WopVO_mgz", - "version": 1, + "version": 2, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/charging-stats-lfp.json b/grafana/dashboards/charging-stats-lfp.json deleted file mode 100644 index 83ed795728..0000000000 --- a/grafana/dashboards/charging-stats-lfp.json +++ /dev/null @@ -1,2276 +0,0 @@ -{ - "annotations": { - "list": [ - { - "$$hashKey": "object:75", - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 1, - "links": [ - { - "icon": "dashboard", - "tags": [], - "title": "TeslaMate", - "tooltip": "", - "type": "link", - "url": "[[base_url:raw]]" - }, - { - "asDropdown": true, - "icon": "external link", - "tags": [ - "tesla" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "datasource": "TeslaMate", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 12, - "panels": [], - "repeat": "car_id", - "title": "$car_id", - "type": "row" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 0, - "y": 1 - }, - "id": 8, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "mean" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "value", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tcount(*)\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(end_date)\n\tAND charge_energy_added > 0.01\n\tAND car_id = $car_id;", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Number of Charges", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "kwatth" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 5, - "y": 1 - }, - "id": 10, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "mean" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "value", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tsum(charge_energy_added)\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(end_date)\n\tAND car_id = $car_id;\n", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charged in total", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 10, - "y": 1 - }, - "id": 14, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "mean" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "value", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nJOIN\n charges char ON char.charging_process_id = cp.id AND char.date = end_date\t\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%' OR char.fast_charger_brand = 'Tesla')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", - - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "addresses", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charging Cost at SuC", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 13, - "y": 1 - }, - "id": 27, - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "mean" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "value", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tsum(cost)\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(end_date)\n\tAND car_id = $car_id;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "table": "addresses", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Total Charging Cost", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "decimals": 2, - "displayName": "", - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#d8d9da", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 2, - "x": 16, - "y": 1 - }, - "id": 26, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT (\n SELECT sum(cost)\n FROM charging_processes\n WHERE $__timeFilter(end_date) AND car_id = $car_id\n) / (\n\tSELECT convert_km((max(odometer) - min(odometer))::numeric, '$length_unit')\n\tFROM positions\n\tWHERE $__timeFilter(date) AND car_id = $car_id\n) * 100", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Cost per 100 $length_unit", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#d8d9da", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 2, - "x": 18, - "y": 1 - }, - "id": 31, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT (\n SELECT sum(cost)\n FROM charging_processes\n WHERE $__timeFilter(end_date) AND car_id = $car_id\n) / (\n SELECT sum(greatest(charge_energy_added, charge_energy_used))\n FROM charging_processes\n WHERE $__timeFilter(end_date) AND car_id = $car_id\n)", - "refId": "A", - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Average Cost per kWh", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#d8d9da", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 2, - "x": 20, - "y": 1 - }, - "id": 33, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH data AS (\n SELECT\n\t\tcp.id,\n cp.cost,\n cp.end_date,\n cp.car_id,\n cp.charge_energy_added,\n cp.charge_energy_used,\n\t\tCASE WHEN NULLIF(mode() within group (order by charger_phases),0) is null THEN 'DC'\n\t\t\t\t ELSE 'AC'\n\t\tEND AS current\n\tFROM charging_processes cp\n RIGHT JOIN charges ON cp.id = charges.charging_process_id\n WHERE\n\t cp.car_id = $car_id\n\t AND $__timeFilter(end_date)\n GROUP BY 1\n)\nSELECT (\n SELECT \n sum(cost)\n FROM data\n WHERE $__timeFilter(end_date) AND car_id = $car_id AND current = 'DC'\n)/(\n SELECT sum(greatest(charge_energy_added, charge_energy_used))\n FROM data\n WHERE $__timeFilter(end_date) AND car_id = $car_id AND current = 'DC'\n )", - "refId": "A", - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "DC Avg Cost per kWh", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 2, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#d8d9da", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 2, - "x": 22, - "y": 1 - }, - "id": 32, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH data AS (\n SELECT\n\t\tcp.id,\n cp.cost,\n cp.end_date,\n cp.car_id,\n cp.charge_energy_added,\n cp.charge_energy_used,\n\t\tCASE WHEN NULLIF(mode() within group (order by charger_phases),0) is null THEN 'DC'\n\t\t\t\t ELSE 'AC'\n\t\tEND AS current\n\tFROM charging_processes cp\n RIGHT JOIN charges ON cp.id = charges.charging_process_id\n WHERE\n\t cp.car_id = $car_id\n\t AND $__timeFilter(end_date)\n GROUP BY 1\n)\nSELECT (\n SELECT \n sum(cost)\n FROM data\n WHERE $__timeFilter(end_date) AND car_id = $car_id AND current = 'AC'\n)/(\n SELECT sum(greatest(charge_energy_added, charge_energy_used))\n FROM data\n WHERE $__timeFilter(end_date) AND car_id = $car_id AND current = 'AC'\n )", - "refId": "A", - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "AC Avg Cost per kWh", - "type": "stat" - }, - { - "cards": {}, - "color": { - "cardColor": "#b4ff00", - "colorScale": "linear", - "colorScheme": "interpolateGreens", - "exponent": 0.5, - "min": 0, - "mode": "opacity" - }, - "dataFormat": "timeseries", - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "scaleDistribution": { - "type": "linear" - } - } - }, - "overrides": [] - }, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 4 - }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, - "id": 15, - "legend": { - "show": false - }, - "options": { - "calculate": true, - "calculation": { - "yBuckets": { - "mode": "size", - "value": "10.00001" - } - }, - "cellGap": 2, - "cellValues": {}, - "color": { - "exponent": 0.5, - "fill": "#b4ff00", - "min": 0, - "mode": "opacity", - "reverse": false, - "scale": "exponential", - "scheme": "Oranges", - "steps": 128 - }, - "exemplars": { - "color": "rgba(255,0,255,0.7)" - }, - "filterValues": { - "le": 1e-9 - }, - "legend": { - "show": false - }, - "rowsFrame": { - "layout": "auto" - }, - "showValue": "never", - "tooltip": { - "mode": "single", - "showColorScale": false, - "yHistogram": false - }, - "yAxis": { - "axisPlacement": "left", - "max": "100", - "reverse": false, - "unit": "short" - } - }, - "pluginVersion": "10.4.0", - "reverseYBuckets": false, - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\t$__time(start_date),\n\tstart_battery_level,\n\tend_battery_level\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(start_date)\n\tAND duration_min > 3\n\tAND car_id = $car_id\nORDER BY\n\tstart_date;", - "refId": "A", - "select": [ - [ - { - "params": [ - "charge_energy_added" - ], - "type": "column" - } - ] - ], - "table": "charges", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "timeFrom": "6M", - "title": "Charge Heatmap", - "tooltip": { - "show": true, - "showHistogram": false - }, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "short", - "logBase": 1, - "max": "100", - "show": true - }, - "yBucketBound": "auto", - "yBucketSize": 10.00001 - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 35, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": true, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "line" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "dark-green", - "value": null - }, - { - "color": "transparent", - "value": 20 - }, - { - "color": "dark-green", - "value": 80 - } - ] - }, - "unit": "percent" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Start SOC" - }, - "properties": [ - { - "id": "custom.lineWidth", - "value": 0 - }, - { - "id": "custom.fillBelowTo", - "value": "End SOC" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "End SOC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#73BF69", - "mode": "fixed" - } - }, - { - "id": "custom.fillBelowTo", - "value": "Start SOC" - }, - { - "id": "custom.lineWidth", - "value": 0 - } - ] - } - ] - }, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 4 - }, - "id": 16, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "datasource": "TeslaMate", - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH charges AS (\n\tSELECT\n\t\tstart_date,\n\t\tstart_battery_level,\n\t\tend_battery_level,\n\t\tp.odometer,\n\t\tCOALESCE(\n\t\t\tLAG(p.odometer) OVER (\n\t\t\t\tORDER BY cp.start_date\n\t\t\t),\n\t\t\tp.odometer\n\t\t) as odometer_prev\n\tFROM\n\t\tcharging_processes cp\n\tJOIN positions p\n\tON p.id = cp.position_id\n\tWHERE\n\t\t$__timeFilter(cp.start_date)\n\t\tAND cp.duration_min > 3\n\t\tAND cp.car_id = $car_id\n)\nSELECT\n\tMIN(start_date) as time,\n\tMIN(start_battery_level) as \"Start SOC\",\n\tMAX(end_battery_level) as \"End SOC\"\nFROM charges\nGROUP BY\n\tCASE WHEN odometer - odometer_prev < 2 THEN odometer_prev ELSE odometer END\nORDER BY\n\ttime;", - "refId": "A", - "select": [ - [ - { - "params": [ - "charge_energy_added" - ], - "type": "column" - } - ] - ], - "table": "charges", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "timeFrom": "6M", - "title": "Charge Delta", - "type": "timeseries" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "decimals": 0, - "mappings": [], - "unit": "kwatth" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "AC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#73BF69", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "DC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#FADE2A", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 13, - "w": 5, - "x": 0, - "y": 10 - }, - "id": 18, - "maxDataPoints": 3, - "options": { - "displayLabels": [ - "name" - ], - "legend": { - "calcs": [], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "values": [ - "value", - "percent" - ] - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH data AS (\n SELECT\n\t\tcp.id,\n\t\tcp.charge_energy_added,\n\t\tCASE WHEN NULLIF(mode() within group (order by charger_phases),0) is null THEN 'DC'\n\t\t\t\t ELSE 'AC'\n\t\tEND AS current\n\tFROM charging_processes cp\n RIGHT JOIN charges ON cp.id = charges.charging_process_id\n WHERE\n\t cp.car_id = $car_id\n\t AND cp.charge_energy_added > 0.01\n\t AND $__timeFilter(start_date)\n GROUP BY 1,2\n)\nSELECT\n\tnow() AS time,\n\tsum(charge_energy_added) AS value,\n\tcurrent AS metric\nFROM data\nGROUP BY 3\nORDER BY metric DESC;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "addresses", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "AC/DC - kWh", - "type": "piechart" - }, - { - "datasource": "TeslaMate", - "description": "", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-reds" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "pct" - }, - "properties": [ - { - "id": "unit", - "value": "percent" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "chg_total" - }, - "properties": [ - { - "id": "unit", - "value": "kwatth" - } - ] - } - ] - }, - "gridPos": { - "h": 13, - "w": 14, - "x": 5, - "y": 10 - }, - "id": 24, - "maxDataPoints": 1, - "options": { - "basemap": { - "config": {}, - "name": "Layer 0", - "tooltip": true, - "type": "osm-standard" - }, - "controls": { - "mouseWheelZoom": true, - "showAttribution": true, - "showDebug": false, - "showMeasure": false, - "showScale": false, - "showZoom": true - }, - "layers": [ - { - "config": { - "showLegend": false, - "style": { - "color": { - "field": "pct", - "fixed": "red" - }, - "opacity": 0.4, - "rotation": { - "fixed": 0, - "max": 360, - "min": -360, - "mode": "mod" - }, - "size": { - "field": "chg_total", - "fixed": 5, - "max": 30, - "min": 5 - }, - "symbol": { - "fixed": "img/icons/marker/circle.svg", - "mode": "fixed" - }, - "symbolAlign": { - "horizontal": "center", - "vertical": "center" - }, - "text": { - "field": "chg_total", - "fixed": "", - "mode": "field" - }, - "textConfig": { - "fontSize": 12, - "offsetX": 15, - "offsetY": 0, - "textAlign": "left", - "textBaseline": "middle" - } - } - }, - "location": { - "mode": "auto" - }, - "name": "Charge location", - "tooltip": true, - "type": "markers" - } - ], - "tooltip": { - "mode": "details" - }, - "view": { - "allLayers": true, - "id": "fit", - "lat": 0, - "lon": 0, - "zoom": 15 - } - }, - "pluginVersion": "10.4.0", - "targets": [ - { - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH charge_data AS (\r\nSELECT COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS loc_nm\r\n, AVG(position.latitude) AS latitude\r\n, AVG(position.longitude) AS longitude\r\n, sum(charge.charge_energy_added) AS chg_total\r\n, count(*) as charges\r\nFROM charging_processes charge\r\nLEFT JOIN addresses address ON charge.address_id = address.id\r\nLEFT JOIN positions position ON charge.position_id = position.id\r\nLEFT JOIN geofences geofence ON charge.geofence_id = geofence.id\r\nWHERE $__timeFilter(charge.start_date) \r\nAND charge.car_id = $car_id\r\nGROUP BY COALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city))\r\n) \r\nSELECT loc_nm\r\n\t,latitude\r\n\t,longitude\r\n\t,chg_total\r\n\t,chg_total * 1.0 / (SELECT sum(chg_total) FROM charge_data) * 100 AS pct\r\n\t,charges\r\nFROM charge_data", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charging heat map by kWh", - "type": "geomap" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "decimals": 1, - "mappings": [], - "unit": "dtdurations" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "AC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#73BF69", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "DC" - }, - "properties": [ - { - "id": "color", - "value": { - "fixedColor": "#FADE2A", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 13, - "w": 5, - "x": 19, - "y": 10 - }, - "id": 20, - "maxDataPoints": 3, - "options": { - "displayLabels": [ - "name" - ], - "legend": { - "calcs": [], - "displayMode": "table", - "placement": "bottom", - "showLegend": true, - "values": [ - "value", - "percent" - ] - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "sum" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH data AS (\n SELECT\n\t\tcp.id,\n\t\tcp.duration_min,\n\t\tCASE WHEN NULLIF(mode() within group (order by charger_phases),0) is null THEN 'DC'\n\t\t\t\t ELSE 'AC'\n\t\tEND AS current\n\tFROM charging_processes cp\n RIGHT JOIN charges ON cp.id = charges.charging_process_id\n WHERE\n\t cp.car_id = $car_id\n\t AND cp.charge_energy_added > 0.01\n\t AND $__timeFilter(start_date)\n GROUP BY 1,2\n)\nSELECT\n\tnow() AS time,\n\tsum(duration_min) * 60 AS value,\n\tcurrent AS metric\nFROM data\nGROUP BY 3\nORDER BY metric DESC;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "addresses", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "AC/DC - Duration", - "type": "piechart" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-RdYlGr", - "seriesBy": "last" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "pointSize": { - "fixed": 3 - }, - "scaleDistribution": { - "type": "linear" - }, - "show": "points" - }, - "fieldMinMax": false, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byFrameRefID", - "options": "A" - }, - "properties": [ - { - "id": "links", - "value": [ - { - "title": "Show charge details", - "url": "d/BHhxFeZRz?from=${__data.fields.start_date.numeric}&to=${__data.fields.end_date.numeric}&var-car_id=${car_id}&var-charging_process_id=${__data.fields.charging_process_id.numeric}" - } - ] - } - ] - } - ] - }, - "gridPos": { - "h": 16, - "w": 24, - "x": 0, - "y": 23 - }, - "id": 29, - "options": { - "dims": { - "exclude": [ - "charging_process_id" - ], - "frame": 0 - }, - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": false - }, - "series": [ - { - "pointColor": { - "field": "Power [kW]" - }, - "x": "SOC [%]", - "y": "Power [kW]" - }, - { - "pointColor": { - "field": "B - Avg Power [kW]" - }, - "pointSize": { - "fixed": 15, - "max": 100, - "min": 1 - }, - "x": "B - SOC [%]", - "y": "B - Avg Power [kW]" - } - ], - "seriesMapping": "manual", - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "7.5.11", - "targets": [ - { - "alias": "", - "datasource": "TeslaMate", - "editorMode": "code", - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\r\n c.battery_level as \"SOC [%]\",\r\n round(avg(c.charger_power), 0) as \"Power [kW]\",\r\n c.charging_process_id as \"charging_process_id\",\r\n p.start_date as \"start_date\",\r\n p.end_date as \"end_date\",\r\n COALESCE(g.name, a.name) || ' ' || to_char(c.date, 'YYYY-MM-dd') as \"Charge\"\r\nFROM\r\n charges c\r\nJOIN charging_processes p ON p.id = c.charging_process_id \r\nJOIN addresses a ON a.id = p.address_id\r\nLEFT JOIN geofences g ON g.id = p.geofence_id\r\nWHERE\r\n $__timeFilter(date)\r\n AND p.car_id = $car_id\r\n AND charger_power > 0\r\n AND c.fast_charger_present\r\nGROUP BY c.battery_level, c.charging_process_id, a.name, g.name, p,start_date, p.end_date, to_char(c.date, 'YYYY-MM-dd')", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "sql": { - "columns": [ - { - "parameters": [], - "type": "function" - } - ], - "groupBy": [ - { - "property": { - "type": "string" - }, - "type": "groupBy" - } - ], - "limit": 50 - }, - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - }, - { - "datasource": "TeslaMate", - "format": "table", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n c.battery_level as \"B - SOC [%]\",\n PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY charger_power) as \"B - Avg Power [kW]\"\nFROM\n charges c\njoin\n charging_processes p ON p.id = c.charging_process_id \nWHERE\n $__timeFilter(date)\n AND p.car_id = $car_id\n AND charger_power > 0\n AND c.fast_charger_present\nGROUP BY battery_level", - "refId": "B", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "DC Charging Curve", - "type": "xychart" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "soc" - }, - "properties": [ - { - "id": "custom.width", - "value": 70 - }, - { - "id": "displayName", - "value": "SOC" - }, - { - "id": "custom.cellOptions", - "value": { - "type": "color-text" - } - }, - { - "id": "unit", - "value": "percent" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "n" - }, - "properties": [ - { - "id": "displayName", - "value": "# of Charges" - }, - { - "id": "custom.cellOptions", - "value": { - "mode": "gradient", - "type": "gauge" - } - }, - { - "id": "max" - }, - { - "id": "min", - "value": 0 - } - ] - } - ] - }, - "gridPos": { - "h": 18, - "w": 3, - "x": 0, - "y": 39 - }, - "id": 2, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tROUND(end_battery_level / 5, 0) * 5 AS SOC,\n\tcount(*) AS n\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(end_date)\n\tAND duration_min > 3\n\tAND car_id = $car_id\nGROUP BY\n\tROUND(end_battery_level / 5, 0) * 5\nORDER BY\n\tSOC DESC", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charge Stats", - "type": "table" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "soc" - }, - "properties": [ - { - "id": "displayName", - "value": "SOC" - }, - { - "id": "unit", - "value": "percent" - }, - { - "id": "thresholds", - "value": { - "mode": "absolute", - "steps": [ - { - "color": "red" - }, - { - "color": "#EAB839", - "value": 10 - }, - { - "color": "green", - "value": 20 - } - ] - } - }, - { - "id": "custom.cellOptions", - "value": { - "type": "color-text" - } - }, - { - "id": "custom.width", - "value": 70 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "n" - }, - "properties": [ - { - "id": "displayName", - "value": "# of Discharges" - }, - { - "id": "custom.cellOptions", - "value": { - "mode": "gradient", - "type": "gauge" - } - }, - { - "id": "min", - "value": 0 - } - ] - } - ] - }, - "gridPos": { - "h": 18, - "w": 3, - "x": 3, - "y": 39 - }, - "id": 13, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [] - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tROUND(start_battery_level / 5, 0) * 5 AS SOC,\n\tcount(*) AS n\nFROM\n\tcharging_processes\nWHERE\n\t$__timeFilter(end_date)\n\tAND duration_min > 3\n\tAND car_id = $car_id\nGROUP BY\n 1\nORDER BY\n\tSOC DESC", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Discharge Stats", - "type": "table" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "location" - }, - "properties": [ - { - "id": "displayName", - "value": "Location" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "charge_energy_added" - }, - "properties": [ - { - "id": "displayName", - "value": "Charged" - }, - { - "id": "custom.width", - "value": 120 - }, - { - "id": "custom.align", - "value": "left" - } - ] - } - ] - }, - "gridPos": { - "h": 18, - "w": 9, - "x": 6, - "y": 39 - }, - "id": 4, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tCOALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, nullif(CONCAT_WS(' ', address.road, address.house_number), '')), address.city)) AS location,\n\tCASE\n WHEN SUM(charge_energy_added) < 1000 THEN SUM(charge_energy_added)::NUMERIC(4,0)::VARCHAR || ' kWh' \n WHEN SUM(charge_energy_added) < 1000000 THEN (SUM(charge_energy_added) / 1000)::NUMERIC(9, 3)::VARCHAR || ' MWh' \n WHEN SUM(charge_energy_added) >= 1000000 THEN (SUM(charge_energy_added) / 1000000)::NUMERIC(9, 3)::VARCHAR || ' GWh' \n END as charge_energy_added\nFROM\n\tcharging_processes c\nLEFT JOIN addresses address ON c.address_id = address.id\nLEFT JOIN geofences geofence ON geofence_id = geofence.id\nWHERE\n\t$__timeFilter(end_date)\n\tAND car_id = $car_id\nGROUP BY\n\t1\nORDER BY\n\tSUM(charge_energy_added) DESC\nLIMIT 17;", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Top Charging Stations (Charged)", - "type": "table" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "location" - }, - "properties": [ - { - "id": "displayName", - "value": "Location" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "cost" - }, - "properties": [ - { - "id": "displayName", - "value": "Cost" - }, - { - "id": "custom.width", - "value": 120 - }, - { - "id": "decimals", - "value": 2 - }, - { - "id": "custom.align", - "value": "left" - } - ] - } - ] - }, - "gridPos": { - "h": 18, - "w": 9, - "x": 15, - "y": 39 - }, - "id": 6, - "options": { - "footer": { - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "8.5.6", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\tCOALESCE(geofence.name, CONCAT_WS(', ', COALESCE(address.name, CONCAT_WS(' ', address.road, address.house_number)), address.city)) AS location,\n\tsum(cost) as cost\nFROM\n\tcharging_processes c\n\tLEFT JOIN addresses address ON c.address_id = address.id\n\tLEFT JOIN geofences geofence ON geofence_id = geofence.id\nWHERE\n $__timeFilter(end_date) AND\n\tcar_id = $car_id AND\n\tCOST IS NOT NULL\nGROUP BY\n\t1\nORDER BY\n\t2 DESC NULLS LAST\nLIMIT 17;", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Top Charging Stations (Cost)", - "type": "table" - } - ], - "refresh": false, - "schemaVersion": 39, - "tags": [ - "tesla" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": "TeslaMate", - "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "hide": 2, - "includeAll": true, - "label": "Car", - "multi": false, - "name": "car_id", - "options": [], - "query": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" - }, - "datasource": "TeslaMate", - "definition": "select base_url from settings limit 1;", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "base_url", - "options": [], - "query": "select base_url from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "km", - "value": "km" - }, - "datasource": "TeslaMate", - "definition": "select unit_of_length from settings limit 1;", - "hide": 2, - "includeAll": false, - "multi": false, - "name": "length_unit", - "options": [], - "query": "select unit_of_length from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-10y", - "to": "now" - }, - "timepicker": { - "hidden": false, - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "Charging Stats - LFP", - "uid": "UcjFKmUtpt", - "version": 2, - "weekStart": "" -} diff --git a/grafana/dashboards/charging-stats.json b/grafana/dashboards/charging-stats.json index 44f9bbc1b5..5d9613a389 100644 --- a/grafana/dashboards/charging-stats.json +++ b/grafana/dashboards/charging-stats.json @@ -1,4 +1,61 @@ { + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "geomap", + "name": "Geomap", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "heatmap", + "name": "Heatmap", + "version": "" + }, + { + "type": "panel", + "id": "piechart", + "name": "Pie chart", + "version": "" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + }, + { + "type": "panel", + "id": "xychart", + "name": "XY Chart", + "version": "" + } + ], "annotations": { "list": [ { @@ -22,6 +79,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, + "id": null, "links": [ { "icon": "dashboard", @@ -59,7 +117,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -105,7 +166,7 @@ "textMode": "value", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -133,14 +194,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Number of Charges", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -186,7 +254,7 @@ "textMode": "value", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -214,14 +282,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Charged in total", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 2, @@ -268,16 +343,18 @@ "textMode": "value", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT\n\tsum(cp.cost)\nFROM\n\tcharging_processes cp\nLEFT JOIN \n\taddresses addr ON addr.id = address_id\nLEFT JOIN\n geofences geo ON geo.id = geofence_id\nJOIN\n charges char ON char.charging_process_id = cp.id AND char.date = end_date\t\nWHERE\n $__timeFilter(end_date)\n AND (addr.name ILIKE '%supercharger%' OR geo.name ILIKE '%supercharger%' OR char.fast_charger_brand = 'Tesla')\n\tAND cp.cost IS NOT NULL\n\tAND cp.car_id = $car_id;", - "refId": "A", "select": [ [ @@ -305,7 +382,10 @@ "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 2, @@ -352,7 +432,7 @@ "textMode": "value", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -380,14 +460,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Total Charging Cost", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 2, @@ -428,7 +515,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -456,14 +543,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Cost per 100 $length_unit", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -506,7 +600,7 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -524,14 +618,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Average Cost per kWh", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -574,10 +675,13 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "table", "group": [], @@ -618,7 +722,10 @@ "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -661,10 +768,13 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "table", "group": [], @@ -715,7 +825,10 @@ "mode": "opacity" }, "dataFormat": "timeseries", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { @@ -778,6 +891,7 @@ }, "showValue": "never", "tooltip": { + "maxHeight": 600, "mode": "single", "showColorScale": false, "yHistogram": false @@ -789,7 +903,7 @@ "unit": "short" } }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "reverseYBuckets": false, "targets": [ { @@ -818,7 +932,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "timeFrom": "6M", @@ -841,7 +959,10 @@ "yBucketSize": 10.00001 }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -885,17 +1006,9 @@ "thresholds": { "mode": "absolute", "steps": [ - { - "color": "dark-green", - "value": null - }, { "color": "transparent", - "value": 20 - }, - { - "color": "dark-green", - "value": 80 + "value": null } ] }, @@ -958,6 +1071,7 @@ "showLegend": false }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "desc" } @@ -965,7 +1079,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -992,14 +1109,78 @@ "type": "macro" } ] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n 20 as lower,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 80\r\n END as upper\r\nfrom cars ", + "refId": "B", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "timeFrom": "6M", "title": "Charge Delta", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "A" + }, + "configRefId": "B", + "mappings": [ + { + "fieldName": "lower", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "upper", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + } + ] + } + } + ], "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1080,6 +1261,7 @@ "values": false }, "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1111,14 +1293,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "AC/DC - kWh", "type": "piechart" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -1257,10 +1446,13 @@ "zoom": 15 } }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "table", "group": [], @@ -1311,7 +1503,10 @@ "type": "geomap" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1392,6 +1587,7 @@ "values": false }, "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1423,14 +1619,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "AC/DC - Duration", "type": "piechart" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1535,6 +1738,7 @@ ], "seriesMapping": "manual", "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1543,7 +1747,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "table", "group": [], @@ -1589,7 +1796,10 @@ ] }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "hide": false, @@ -1623,7 +1833,10 @@ "type": "xychart" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { @@ -1638,7 +1851,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null } ] } @@ -1664,25 +1878,6 @@ "type": "color-text" } }, - { - "id": "thresholds", - "value": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "yellow", - "value": 80 - }, - { - "color": "red", - "value": 91 - } - ] - } - }, { "id": "unit", "value": "percent" @@ -1725,7 +1920,9 @@ }, "id": 2, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -1735,9 +1932,13 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "8.5.6", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -1762,13 +1963,72 @@ "type": "macro" } ] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 81\r\n END as high,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 91\r\n END as highest\r\nfrom cars ", + "refId": "B", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "title": "Charge Stats", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byName", + "options": "soc" + }, + "configRefId": "B", + "mappings": [ + { + "fieldName": "high", + "handlerArguments": { + "threshold": { + "color": "yellow" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "highest", + "handlerKey": "threshold1" + } + ] + } + } + ], "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { @@ -1783,7 +2043,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -1813,7 +2074,8 @@ "mode": "absolute", "steps": [ { - "color": "red" + "color": "red", + "value": null }, { "color": "#EAB839", @@ -1871,7 +2133,9 @@ }, "id": 13, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -1881,7 +2145,7 @@ "showHeader": true, "sortBy": [] }, - "pluginVersion": "8.5.6", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1907,14 +2171,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Discharge Stats", "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { @@ -1929,7 +2200,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -1981,7 +2253,9 @@ }, "id": 4, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -1990,7 +2264,7 @@ }, "showHeader": true }, - "pluginVersion": "8.5.6", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -2016,14 +2290,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Top Charging Stations (Charged)", "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { @@ -2038,7 +2319,8 @@ "mode": "absolute", "steps": [ { - "color": "green" + "color": "green", + "value": null }, { "color": "red", @@ -2094,7 +2376,9 @@ }, "id": 6, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -2103,7 +2387,7 @@ }, "showHeader": true }, - "pluginVersion": "8.5.6", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -2131,7 +2415,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Top Charging Stations (Cost)", @@ -2146,12 +2434,11 @@ "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -2170,12 +2457,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -2194,12 +2480,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -2222,6 +2507,7 @@ "from": "now-10y", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "hidden": false, "refresh_intervals": [ @@ -2253,4 +2539,4 @@ "uid": "-pkIkhmRz", "version": 5, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/overview-lfp.json b/grafana/dashboards/overview-lfp.json deleted file mode 100644 index 4d042a562e..0000000000 --- a/grafana/dashboards/overview-lfp.json +++ /dev/null @@ -1,1699 +0,0 @@ -{ - "annotations": { - "list": [ - { - "$$hashKey": "object:286", - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "A high level overview of your car", - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 1, - "iteration": 1656103268002, - "links": [ - { - "icon": "dashboard", - "tags": [], - "title": "TeslaMate", - "tooltip": "", - "type": "link", - "url": "[[base_url:raw]]" - }, - { - "asDropdown": true, - "icon": "external link", - "tags": [ - "tesla" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "liveNow": false, - "panels": [ - { - "collapsed": false, - "datasource": "TeslaMate", - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 18, - "panels": [], - "repeat": "car_id", - "title": "$car_id", - "type": "row" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "displayName": "", - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "light-red", - "value": null - }, - { - "color": "semi-dark-yellow", - "value": 10 - }, - { - "color": "semi-dark-green", - "value": 20 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 0, - "y": 1 - }, - "id": 4, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "(SELECT battery_level, date\nFROM positions\nWHERE car_id = $car_id\nORDER BY date DESC\nLIMIT 1)\nUNION\nSELECT battery_level, date\nFROM charges c\nJOIN charging_processes p ON p.id = c.charging_process_id\nWHERE $__timeFilter(date) AND p.car_id = $car_id\nORDER BY date DESC\nLIMIT 1", - "refId": "A", - "select": [ - [ - { - "params": [ - "battery_level" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [] - } - ], - "title": "Battery Level", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [], - "max": 260, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "semi-dark-green", - "value": null - } - ] - }, - "unit": "volt" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 3, - "y": 1 - }, - "id": 10, - "links": [], - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "firstNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH charging_process AS (\n SELECT id, end_date\n FROM charging_processes\n WHERE car_id = $car_id\n ORDER BY start_date DESC\n LIMIT 1\n)\nSELECT\n $__time(date),\n CASE WHEN charging_process.end_date IS NULL THEN charger_voltage\n ELSE 0\n END AS \"Charging Voltage [V]\"\nFROM charges, charging_process\nWHERE charging_process.id = charging_process_id\nORDER BY date DESC\nLIMIT 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "outside_temp" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charging Voltage", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [], - "max": 170, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "semi-dark-green", - "value": null - } - ] - }, - "unit": "kwatt" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 6, - "y": 1 - }, - "id": 11, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "firstNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH charging_process AS (\n SELECT id, end_date\n FROM charging_processes\n WHERE car_id = $car_id\n ORDER BY start_date DESC\n LIMIT 1\n)\nSELECT\n $__time(date),\n CASE WHEN charging_process.end_date IS NULL THEN charger_power\n ELSE 0\n END AS \"Power [kW]\"\nFROM charges, charging_process\nWHERE charging_process.id = charging_process_id\nORDER BY date DESC\nLIMIT 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "outside_temp" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charging kW", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 15, - "x": 9, - "y": 1 - }, - "id": 13, - "links": [ - { - "targetBlank": true, - "title": "Drive details", - "url": "/d/zm7wN6Zgz/drive-details?orgId=1" - } - ], - "options": { - "legend": { - "calcs": [ - "max", - "min" - ], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "datasource": "TeslaMate", - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT $__time(date), battery_level AS \"SOC\"\nFROM (\n\tSELECT battery_level, date\n\tFROM positions\n\tWHERE car_id = $car_id AND $__timeFilter(date)\n\tUNION ALL\n\tSELECT battery_level, date\n\tFROM charges c \n JOIN charging_processes p ON p.id = c.charging_process_id\n\tWHERE $__timeFilter(date) AND p.car_id = $car_id) AS data\nORDER BY date ASC;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charge Level", - "type": "timeseries" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "decimals": 0, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "range_km" - }, - "properties": [ - { - "id": "unit", - "value": "lengthkm" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "range_mi" - }, - "properties": [ - { - "id": "unit", - "value": "lengthmi" - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 0, - "y": 5 - }, - "id": 14, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "first" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "value" - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT $__time(date), range as \"range_$length_unit\"\nFROM (\n\t(SELECT date, convert_km([[preferred_range]]_battery_range_km, '$length_unit') AS range\n\tFROM positions\n\tWHERE car_id = $car_id AND [[preferred_range]]_battery_range_km IS NOT NULL\n ORDER BY date DESC\n\tLIMIT 1)\n\tUNION ALL\n\t(SELECT date, convert_km([[preferred_range]]_battery_range_km, '$length_unit') AS range\n\tFROM charges c\n\tJOIN charging_processes p ON p.id = c.charging_process_id\n\tWHERE p.car_id = $car_id\n\tORDER BY date DESC\n\tLIMIT 1)\n) AS data\nORDER BY date DESC\nLIMIT 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Range", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": ".*_km" - }, - "properties": [ - { - "id": "unit", - "value": "Wh/km" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": ".*_mi" - }, - "properties": [ - { - "id": "unit", - "value": "Wh/mi" - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 3, - "y": 5 - }, - "id": 22, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n sum(GREATEST(start_[[preferred_range]]_range_km - end_[[preferred_range]]_range_km, 0) * car.efficiency * 1000) / \n convert_km(sum(distance)::numeric, '$length_unit') as \"consumption_$length_unit\"\nFROM drives\nJOIN cars car ON car.id = car_id\nWHERE $__timeFilter(start_date) AND car_id = $car_id", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Net", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [ - { - "matcher": { - "id": "byRegexp", - "options": ".*_km" - }, - "properties": [ - { - "id": "unit", - "value": "Wh/km" - } - ] - }, - { - "matcher": { - "id": "byRegexp", - "options": ".*_mi" - }, - "properties": [ - { - "id": "unit", - "value": "Wh/mi" - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 6, - "y": 5 - }, - "id": 24, - "options": { - "colorMode": "value", - "graphMode": "none", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH d AS (\n\tSELECT\n\t\tc.car_id,\n\t\tlag(end_[[preferred_range]]_range_km) OVER (ORDER BY start_date) - start_[[preferred_range]]_range_km AS range_loss,\n\t\tp.odometer - lag(p.odometer) OVER (ORDER BY start_date) AS distance\n\tFROM charging_processes c\n\tLEFT JOIN positions p ON p.id = c.position_id \n\tWHERE\n\t end_date IS NOT NULL AND\n\t c.car_id = $car_id AND\n\t $__timeFilter(start_date)\n\tORDER BY start_date\n),\n\nrange_loss_between_charges AS (\n SELECT sum(range_loss) AS range_loss\n FROM d\n WHERE distance >= 0 AND range_loss >= 0\n GROUP BY car_id\n),\n\ncharge_dates AS (\n\tSELECT\n\t\tmin(start_date) as first_charge,\n\t\tmax(end_date) as last_charge\n\tFROM\n\t\tcharging_processes\n\tWHERE\n\t\tend_date IS NOT NULL\n\t\tAND car_id = $car_id\n\t\tAND $__timeFilter(start_date)\n),\n\nrange_loss_before_first_charge AS (\n\tSELECT\n\t\tmax([[preferred_range]]_battery_range_km) - min([[preferred_range]]_battery_range_km) AS range_loss\n\tFROM positions, charge_dates\n\tWHERE\n\t\tcar_id = $car_id\n\t\tAND $__timeFilter(date)\n\t\tAND ((select first_charge from charge_dates) is null OR date < (select first_charge from charge_dates))\n),\n\nrange_loss_after_last_charge AS (\n\tSELECT\n\t\tmax([[preferred_range]]_battery_range_km) - min([[preferred_range]]_battery_range_km) AS range_loss\n\tFROM positions, charge_dates\n\tWHERE\n\t\tcar_id = $car_id\n\t\tAND $__timeFilter(date)\n\t\tAND date > (select last_charge from charge_dates)\t\n),\n\ntotal_range_loss AS (\n SELECT sum(range_loss) as range_loss\n FROM (\n SELECT range_loss FROM range_loss_between_charges\n UNION ALL\n SELECT range_loss FROM range_loss_before_first_charge\n UNION ALL\n SELECT range_loss FROM range_loss_after_last_charge\n ) r\n),\n\ndistance AS (\n SELECT max(odometer) - min(odometer) as distance\n FROM positions\n WHERE car_id = $car_id AND $__timeFilter(date)\n)\n\nSELECT \n NULLIF(range_loss, 0) * (c.efficiency * 1000) / convert_km(NULLIF(distance::numeric, 0), '$length_unit') as \"consumption_$length_unit\"\nFROM total_range_loss, distance\nLEFT JOIN cars c ON c.id = $car_id", - "refId": "A", - "select": [ - [ - { - "params": [ - "start_km" - ], - "type": "column" - } - ] - ], - "table": "drives", - "timeColumn": "start_date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Gross", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "version" - }, - "properties": [ - { - "id": "unit", - "value": "string" - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 4, - "x": 0, - "y": 8 - }, - "id": 2, - "links": [ - { - "targetBlank": true, - "title": "Updates", - "url": "/d/IiC07mgWz/updates?orgId=1" - } - ], - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "first" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "/^version$/", - "values": true - }, - "textMode": "value" - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "select split_part(version, ' ', 1) as version \nfrom updates \nwhere car_id = $car_id \norder by start_date desc \nlimit 1", - "refId": "A", - "select": [ - [ - { - "params": [ - "efficiency" - ], - "type": "column" - } - ] - ], - "table": "cars", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Firmware", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#c7d0d9", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "odometer_km" - }, - "properties": [ - { - "id": "unit", - "value": "km" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "odometer_mi" - }, - "properties": [ - { - "id": "unit", - "value": "mi" - } - ] - } - ] - }, - "gridPos": { - "h": 3, - "w": 5, - "x": 4, - "y": 8 - }, - "id": 6, - "links": [ - { - "targetBlank": true, - "title": "Mileage", - "url": "/d/NjtMTFggz/mileage?orgId=1" - } - ], - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "fieldOptions": { - "calcs": [ - "first" - ] - }, - "graphMode": "none", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "value" - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "select $__time(date), convert_km(odometer::numeric, '$length_unit') as \"odometer_$length_unit\"\nfrom positions \nwhere car_id = $car_id \norder by date desc \nlimit 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "column" - } - ] - ], - "timeColumn": "time", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Odometer", - "type": "stat" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 10, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "stepAfter", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "never", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "short" - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "Charging Voltage [V]" - }, - "properties": [ - { - "id": "min", - "value": 0 - }, - { - "id": "max", - "value": 250 - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "charger_power" - }, - "properties": [ - { - "id": "displayName", - "value": "Power" - }, - { - "id": "unit", - "value": "kwatt" - }, - { - "id": "custom.axisPlacement", - "value": "hidden" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "battery_heater" - }, - "properties": [ - { - "id": "displayName", - "value": "Battery heater" - }, - { - "id": "custom.axisPlacement", - "value": "hidden" - }, - { - "id": "unit", - "value": "bool_on_off" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "charger_actual_current" - }, - "properties": [ - { - "id": "displayName", - "value": "Current" - }, - { - "id": "unit", - "value": "amp" - }, - { - "id": "custom.axisPlacement", - "value": "hidden" - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "charge_energy_added" - }, - "properties": [ - { - "id": "displayName", - "value": "Energy added" - }, - { - "id": "unit", - "value": "kwatth" - } - ] - } - ] - }, - "gridPos": { - "h": 7, - "w": 15, - "x": 9, - "y": 8 - }, - "id": 15, - "links": [ - { - "targetBlank": true, - "title": "Charging Details", - "url": "/d/BHhxFeZRz/charge-details?orgId=1" - } - ], - "options": { - "legend": { - "calcs": [ - "max", - "min" - ], - "displayMode": "list", - "placement": "bottom" - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "datasource": "TeslaMate", - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n $__time(date),\n charger_power,\n (case when battery_heater_on then 1 else 0 end) as battery_heater,\n charger_actual_current,\n c.charge_energy_added\nFROM\n charges c\njoin\n charging_processes p ON p.id = c.charging_process_id \nWHERE\n $__timeFilter(date) and\n p.car_id = $car_id\nORDER BY\n date ASC", - "refId": "B", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - }, - { - "format": "time_series", - "group": [], - "hide": false, - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n $__time(date),\n charger_voltage as \"Charging Voltage [V]\"\nFROM\n charges c\njoin\n charging_processes p ON p.id = c.charging_process_id \nWHERE\n $__timeFilter(date) and\n p.car_id = $car_id\nORDER BY\n date ASC", - "refId": "C", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Charging Details", - "type": "timeseries" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "semi-dark-green", - "value": null - } - ] - }, - "unit": "degree" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 0, - "y": 11 - }, - "id": 16, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "firstNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n\t$__time(date),\n\tconvert_celsius(driver_temp_setting, '$temp_unit') as \"Driver Temperature [°$temp_unit]\"\nFROM positions\nWHERE driver_temp_setting IS NOT NULL AND car_id = $car_id AND date AT TIME ZONE 'Etc/UTC' >= (NOW() - interval '60m')\nORDER BY date DESC\nLIMIT 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "outside_temp" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Driver Temp", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "semi-dark-green", - "value": null - } - ] - }, - "unit": "degree" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 3, - "y": 11 - }, - "id": 8, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "firstNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH last_position AS (\n\tSELECT date, convert_celsius(outside_temp, '$temp_unit') AS \"Outside Temperature [°$temp_unit]\"\n\tFROM positions\n\tWHERE car_id = $car_id AND outside_temp IS NOT NULL AND date AT TIME ZONE 'Etc/UTC' >= (NOW() - interval '60m')\n\tORDER BY date DESC\n\tLIMIT 1\n),\nlast_charge AS (\n\tSELECT date, convert_celsius(outside_temp, '$temp_unit') AS \"Outside Temperature [°$temp_unit]\"\n\tFROM charges\n\tJOIN charging_processes ON charges.charging_process_id = charging_processes.id\n\tWHERE car_id = $car_id AND outside_temp IS NOT NULL AND date AT TIME ZONE 'Etc/UTC' >= (NOW() - interval '60m')\n\tORDER BY date DESC\n\tLIMIT 1\n)\nSELECT * FROM last_position\nUNION ALL\nSELECT * FROM last_charge\nORDER BY date DESC\nLIMIT 1;", - "refId": "A", - "select": [ - [ - { - "params": [ - "outside_temp" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Outside Temp", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "decimals": 0, - "mappings": [], - "max": 100, - "min": 0, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "semi-dark-green", - "value": null - } - ] - }, - "unit": "degree" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 3, - "x": 6, - "y": 11 - }, - "id": 9, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "firstNotNull" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": true - }, - "pluginVersion": "8.5.4", - "targets": [ - { - "format": "table", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "SELECT\n date,\n convert_celsius(inside_temp, '$temp_unit') AS \"Inside Temperature [°$temp_unit]\"\nFROM positions\nWHERE\n car_id = $car_id\n and inside_temp is not null AND date AT TIME ZONE 'Etc/UTC' >= (NOW() - interval '60m')\norder by date desc\nlimit 1 ", - "refId": "A", - "select": [ - [ - { - "params": [ - "outside_temp" - ], - "type": "column" - } - ] - ], - "table": "positions", - "timeColumn": "date", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "Inside Temp", - "type": "gauge" - }, - { - "datasource": "TeslaMate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "continuous-GrYlRd" - }, - "custom": { - "fillOpacity": 100, - "lineWidth": 0, - "spanNulls": false - }, - "mappings": [ - { - "options": { - "0": { - "color": "#6ED0E0", - "index": 0, - "text": "online" - }, - "1": { - "color": "#8F3BB8", - "index": 1, - "text": "driving" - }, - "2": { - "color": "#F2CC0C", - "index": 2, - "text": "charging" - }, - "3": { - "color": "#FFB357", - "index": 3, - "text": "offline" - }, - "4": { - "color": "#56A64B", - "index": 4, - "text": "asleep" - }, - "5": { - "color": "#6ED0E0", - "index": 5, - "text": "online" - }, - "6": { - "color": "#E02F44", - "index": 6, - "text": "updating" - }, - "null": { - "index": 7, - "text": "N/A" - } - }, - "type": "value" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 15 - }, - "id": 20, - "links": [ - { - "title": "States", - "url": "/d/xo4BNRkZz/states" - } - ], - "options": { - "alignValue": "center", - "legend": { - "displayMode": "list", - "placement": "bottom" - }, - "mergeValues": true, - "rowHeight": 0.9, - "showValue": "auto", - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "format": "time_series", - "group": [], - "metricColumn": "none", - "rawQuery": true, - "rawSql": "WITH states AS (\n SELECT\n unnest(ARRAY [start_date + interval '1 second', end_date]) AS date,\n unnest(ARRAY [2, 0]) AS state\n FROM charging_processes\n WHERE\n car_id = $car_id AND \n ($__timeFrom() :: timestamp - interval '30 day') < start_date AND \n (end_date < ($__timeTo() :: timestamp + interval '30 day') OR end_date IS NULL)\n UNION\n SELECT\n unnest(ARRAY [start_date + interval '1 second', end_date]) AS date,\n unnest(ARRAY [1, 0]) AS state\n FROM drives\n WHERE\n car_id = $car_id AND \n ($__timeFrom() :: timestamp - interval '30 day') < start_date AND \n (end_date < ($__timeTo() :: timestamp + interval '30 day') OR end_date IS NULL)\n UNION\n SELECT\n start_date AS date,\n CASE\n WHEN state = 'offline' THEN 3\n WHEN state = 'asleep' THEN 4\n WHEN state = 'online' THEN 5\n END AS state\n FROM states\n WHERE\n car_id = $car_id AND \n ($__timeFrom() :: timestamp - interval '30 day') < start_date AND \n (end_date < ($__timeTo() :: timestamp + interval '30 day') OR end_date IS NULL)\n UNION\n SELECT\n unnest(ARRAY [start_date + interval '1 second', end_date]) AS date,\n unnest(ARRAY [6, 0]) AS state\n FROM updates\n WHERE\n car_id = $car_id AND \n ($__timeFrom() :: timestamp - interval '30 day') < start_date AND \n (end_date < ($__timeTo() :: timestamp + interval '30 day') OR end_date IS NULL)\n)\nSELECT date AS \"time\", state\nFROM states\nWHERE \n date IS NOT NULL AND\n ($__timeFrom() :: timestamp - interval '30 day') < date AND \n date < ($__timeTo() :: timestamp + interval '30 day') \nORDER BY date ASC, state ASC;", - "refId": "A", - "select": [ - [ - { - "params": [ - "latitude" - ], - "type": "column" - } - ] - ], - "table": "geofences", - "timeColumn": "inserted_at", - "timeColumnType": "timestamp", - "where": [ - { - "name": "$__timeFilter", - "params": [], - "type": "macro" - } - ] - } - ], - "title": "States", - "type": "state-timeline" - } - ], - "refresh": "30s", - "schemaVersion": 36, - "style": "dark", - "tags": [ - "tesla" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "All", - "value": "$__all" - }, - "datasource": "TeslaMate", - "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "hide": 2, - "includeAll": true, - "label": "Car", - "multi": false, - "name": "car_id", - "options": [], - "query": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "km", - "value": "km" - }, - "datasource": "TeslaMate", - "definition": "select unit_of_length from settings limit 1;", - "hide": 2, - "includeAll": false, - "multi": false, - "name": "length_unit", - "options": [], - "query": "select unit_of_length from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "C", - "value": "C" - }, - "datasource": "TeslaMate", - "definition": "select unit_of_temperature from settings limit 1;", - "hide": 2, - "includeAll": false, - "multi": false, - "name": "temp_unit", - "options": [], - "query": "select unit_of_temperature from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" - }, - "datasource": "TeslaMate", - "definition": "select preferred_range from settings limit 1;", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "preferred_range", - "options": [], - "query": "select preferred_range from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" - }, - "datasource": "TeslaMate", - "definition": "select base_url from settings limit 1;", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "base_url", - "options": [], - "query": "select base_url from settings limit 1;", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-24h", - "to": "now" - }, - "timepicker": { - "hidden": false, - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "Overview - LFP", - "uid": "EVzVGnwSq", - "version": 1, - "weekStart": "" -} diff --git a/grafana/dashboards/overview.json b/grafana/dashboards/overview.json index 92ca0e60e5..811c99a91f 100644 --- a/grafana/dashboards/overview.json +++ b/grafana/dashboards/overview.json @@ -1,4 +1,43 @@ { + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "state-timeline", + "name": "State timeline", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], "annotations": { "list": [ { @@ -23,7 +62,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "iteration": 1656103268002, + "id": null, "links": [ { "icon": "dashboard", @@ -61,7 +100,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -75,24 +117,8 @@ "mode": "absolute", "steps": [ { - "color": "light-red", + "color": "transparent", "value": null - }, - { - "color": "semi-dark-yellow", - "value": 10 - }, - { - "color": "semi-dark-green", - "value": 20 - }, - { - "color": "semi-dark-yellow", - "value": 81 - }, - { - "color": "light-red", - "value": 91 } ] }, @@ -108,6 +134,8 @@ }, "id": 4, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -117,11 +145,16 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -142,13 +175,99 @@ "timeColumn": "date", "timeColumnType": "timestamp", "where": [] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n 0 as lowest,\r\n 10 as low,\r\n 20 as mid,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 81\r\n END as high,\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 100\r\n ELSE 91\r\n END as highest\r\nfrom cars ", + "refId": "B", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "title": "Battery Level", + "transformations": [ + { + "id": "configFromData", + "options": { + "applyTo": { + "id": "byFrameRefID", + "options": "A" + }, + "configRefId": "B", + "mappings": [ + { + "fieldName": "lowest", + "handlerKey": "threshold1" + }, + { + "fieldName": "low", + "handlerArguments": { + "threshold": { + "color": "yellow" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "mid", + "handlerArguments": { + "threshold": { + "color": "green" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "high", + "handlerArguments": { + "threshold": { + "color": "yellow" + } + }, + "handlerKey": "threshold1" + }, + { + "fieldName": "highest", + "handlerArguments": { + "threshold": { + "color": "red" + } + }, + "handlerKey": "threshold1" + } + ] + } + } + ], "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -178,8 +297,9 @@ "y": 1 }, "id": 10, - "links": [], "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -189,9 +309,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "time_series", @@ -219,22 +340,29 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Charging Voltage", "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 0, + "fieldMinMax": false, "mappings": [], - "max": 250, "min": 0, "thresholds": { "mode": "absolute", @@ -257,6 +385,8 @@ }, "id": 11, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -266,11 +396,16 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -297,19 +432,68 @@ "type": "macro" } ] + }, + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "editorMode": "code", + "format": "table", + "hide": false, + "rawQuery": true, + "rawSql": "SELECT\r\n CASE\r\n WHEN substring(vin, 7, 1) = 'F' or (substring(vin, 0, 3) != 'LRW' and substring(vin, 8, 1) = 'S' and substring(vin, 7, 1) = 'E')\r\n THEN 170\r\n ELSE 250\r\n END as max_charging_kw\r\nfrom cars ", + "refId": "B", + "sql": { + "columns": [ + { + "parameters": [], + "type": "function" + } + ], + "groupBy": [ + { + "property": { + "type": "string" + }, + "type": "groupBy" + } + ], + "limit": 50 + } } ], "title": "Charging kW", + "transformations": [ + { + "id": "configFromData", + "options": { + "configRefId": "B", + "mappings": [ + { + "fieldName": "max_charging_kw", + "handlerKey": "max" + } + ] + } + } + ], "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -321,6 +505,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -378,9 +563,11 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -388,7 +575,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -421,7 +611,10 @@ "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 0, @@ -481,7 +674,6 @@ "y": 5 }, "id": 14, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -500,9 +692,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "time_series", @@ -528,14 +722,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Range", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -595,9 +796,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -625,14 +828,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Net", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -692,9 +902,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -722,14 +934,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Gross", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -791,9 +1010,11 @@ "fields": "/^version$/", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -821,14 +1042,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Firmware", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 0, @@ -903,9 +1131,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "time_series", @@ -931,20 +1161,30 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Odometer", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -956,6 +1196,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -1104,9 +1345,11 @@ "min" ], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -1114,7 +1357,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -1169,14 +1415,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Charging Details", "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1207,6 +1460,8 @@ }, "id": 16, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -1216,9 +1471,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1246,14 +1502,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Driver Temp", "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1284,6 +1547,8 @@ }, "id": 8, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -1293,9 +1558,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1323,14 +1589,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Outside Temp", "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1361,6 +1634,8 @@ }, "id": 9, "options": { + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", "reduceOptions": { "calcs": [ @@ -1370,9 +1645,10 @@ "values": false }, "showThresholdLabels": false, - "showThresholdMarkers": true + "showThresholdMarkers": true, + "sizing": "auto" }, - "pluginVersion": "8.5.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1400,14 +1676,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Inside Temp", "type": "gauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1415,6 +1698,12 @@ }, "custom": { "fillOpacity": 100, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, "lineWidth": 0, "spanNulls": false }, @@ -1498,12 +1787,14 @@ "alignValue": "center", "legend": { "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "mergeValues": true, "rowHeight": 0.9, "showValue": "auto", "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1535,7 +1826,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "States", @@ -1543,20 +1838,18 @@ } ], "refresh": "30s", - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -1575,12 +1868,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -1598,12 +1890,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -1621,12 +1912,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -1645,12 +1935,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -1674,6 +1963,7 @@ "from": "now-24h", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "hidden": false, "refresh_intervals": [ @@ -1703,6 +1993,6 @@ "timezone": "", "title": "Overview", "uid": "kOuP_Fggz", - "version": 1, + "version": 4, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/datasource.yml b/grafana/datasource.yml index 72e20923f7..7e9572d3b4 100644 --- a/grafana/datasource.yml +++ b/grafana/datasource.yml @@ -1,19 +1,19 @@ apiVersion: 1 datasources: -- name: TeslaMate - type: postgres - url: $DATABASE_HOST:$DATABASE_PORT - user: $DATABASE_USER - database: $DATABASE_NAME - access: proxy - basicAuth: false - withCredentials: false - isDefault: true - secureJsonData: - password: $DATABASE_PASS - jsonData: - postgresVersion: 1500 - sslmode: $DATABASE_SSL_MODE - version: 1 - editable: true + - name: TeslaMate + type: postgres + url: $DATABASE_HOST:$DATABASE_PORT + user: $DATABASE_USER + database: $DATABASE_NAME + access: proxy + basicAuth: false + withCredentials: false + isDefault: true + secureJsonData: + password: $DATABASE_PASS + jsonData: + postgresVersion: 1500 + sslmode: $DATABASE_SSL_MODE + version: 1 + editable: true From 73245cbcd64a5b87bbdd9299b327e1efc0648b4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:51:05 +0200 Subject: [PATCH 51/61] build(deps): bump braces from 3.0.2 to 3.0.3 in /website (#3967) Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 74f6f1ea42..8949eed404 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -4249,11 +4249,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -6132,9 +6132,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, From a6eee7e80e9a9283358686b0d5e08692fe62c37c Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 18 Jun 2024 14:51:32 +0200 Subject: [PATCH 52/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68e258ec58..540c786372 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - ci: Upgrade PostgreSQL to v16 in elixir workflow (#3916 - @JakobLichterfeld) - build(deps): bump docker/login-action from 3.1.0 to 3.2.0 (#3933) - build(deps): bump elixir from 1.16.1-otp-26 to 1.16.2-otp-26 (#3935 - @JakobLichterfeld) +- build(deps): bump braces from 3.0.2 to 3.0.3 in /website #3967 #### Dashboards From 796e13c82da1f324d8c426956a52ec90864d35bf Mon Sep 17 00:00:00 2001 From: Matthias Wirtz Date: Tue, 18 Jun 2024 18:16:04 +0200 Subject: [PATCH 53/61] Export all Dashboards via Grafana 11.0.0 (#3971) --- grafana/dashboards/charges.json | 45 +-- grafana/dashboards/drive-stats.json | 395 ++++++++++++------------ grafana/dashboards/drives.json | 104 ++++--- grafana/dashboards/efficiency.json | 365 ++++++++++++---------- grafana/dashboards/locations.json | 245 +++++++++++---- grafana/dashboards/mileage.json | 75 +++-- grafana/dashboards/projected-range.json | 121 ++++++-- grafana/dashboards/states.json | 134 ++++++-- grafana/dashboards/statistics.json | 146 ++++----- grafana/dashboards/timeline.json | 9 +- grafana/dashboards/trip.json | 347 +++++++++++++++------ grafana/dashboards/updates.json | 125 +++++--- grafana/dashboards/vampire-drain.json | 97 ++++-- grafana/dashboards/visited.json | 20 +- 14 files changed, 1402 insertions(+), 826 deletions(-) diff --git a/grafana/dashboards/charges.json b/grafana/dashboards/charges.json index d793a3706b..4c21697858 100644 --- a/grafana/dashboards/charges.json +++ b/grafana/dashboards/charges.json @@ -5,7 +5,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "10.4.0" + "version": "11.0.0" }, { "type": "datasource", @@ -873,7 +873,7 @@ } ] }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -997,9 +997,13 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -1025,11 +1029,7 @@ "params": [], "type": "macro" } - ], - "datasource": { - "type": "grafana-postgresql-datasource", - "uid": "TeslaMate" - } + ] } ], "title": "Energy added", @@ -1098,9 +1098,13 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -1126,11 +1130,7 @@ "params": [], "type": "macro" } - ], - "datasource": { - "type": "grafana-postgresql-datasource", - "uid": "TeslaMate" - } + ] } ], "title": "Energy used", @@ -1200,9 +1200,13 @@ "textMode": "auto", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -1228,11 +1232,7 @@ "params": [], "type": "macro" } - ], - "datasource": { - "type": "grafana-postgresql-datasource", - "uid": "TeslaMate" - } + ] } ], "title": "Cost", @@ -1429,6 +1429,7 @@ "from": "now-6M", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -1457,6 +1458,6 @@ "timezone": "", "title": "Charges", "uid": "TSmNYvRRk", - "version": 5, + "version": 3, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/drive-stats.json b/grafana/dashboards/drive-stats.json index b8b5af28a4..c19e225b5f 100644 --- a/grafana/dashboards/drive-stats.json +++ b/grafana/dashboards/drive-stats.json @@ -1,9 +1,39 @@ { + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + } + ], "annotations": { "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -13,9 +43,9 @@ ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1644505954964, + "id": null, "links": [ { "icon": "dashboard", @@ -38,7 +68,10 @@ "panels": [ { "collapsed": false, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "gridPos": { "h": 1, "w": 24, @@ -48,24 +81,27 @@ "id": 12, "panels": [], "repeat": "car_id", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" + "repeatDirection": "h", + "targets": [ + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "refId": "A" } - }, + ], "title": "$car_id", "type": "row" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -86,8 +122,6 @@ "y": 1 }, "id": 20, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -106,18 +140,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -146,19 +179,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Number of drives", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -204,8 +235,6 @@ "y": 1 }, "id": 16, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -224,18 +253,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -264,19 +292,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "$length_unit driven", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -297,8 +323,6 @@ "y": 1 }, "id": 22, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -317,18 +341,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -357,27 +380,27 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "kWh used", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [ { - "id": 0, - "op": "=", - "text": "N/A", - "type": 1, - "value": "null" + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" } ], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -423,8 +446,6 @@ "y": 5 }, "id": 26, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -443,18 +464,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -483,19 +503,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Average distance of a drive", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -541,8 +559,6 @@ "y": 5 }, "id": 8, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -561,18 +577,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -601,19 +616,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Average distance driven per day", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -634,8 +647,6 @@ "y": 5 }, "id": 14, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -654,18 +665,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -694,19 +704,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Average kWh used per day", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -752,8 +760,6 @@ "y": 8 }, "id": 32, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -772,18 +778,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -812,19 +817,17 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Extrapolated monthly mileage", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -870,8 +873,6 @@ "y": 8 }, "id": 30, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -890,18 +891,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -930,19 +930,19 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Extrapolated annual mileage", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, - "custom": {}, "displayName": "$__cell_0", "mappings": [], "max": 100, @@ -973,6 +973,10 @@ "id": 24, "options": { "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -981,18 +985,17 @@ "fields": "", "values": true }, - "showUnfilled": true - }, - "pluginVersion": "7.1.4", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -1021,28 +1024,23 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Top Destinations", "type": "bargauge" } ], "refresh": false, - "schemaVersion": 26, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -1056,23 +1054,19 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, - "label": null, "multi": false, "name": "length_unit", "options": [], @@ -1082,23 +1076,19 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, - "label": null, "multi": false, "name": "temp_unit", "options": [], @@ -1108,19 +1098,16 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -1134,19 +1121,16 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -1160,7 +1144,6 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false @@ -1171,6 +1154,7 @@ "from": "now-1y", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "hidden": false, "refresh_intervals": [ @@ -1200,5 +1184,6 @@ "timezone": "", "title": "Drive Stats", "uid": "_7WkNSyWk", - "version": 1 -} + "version": 3, + "weekStart": "" +} \ No newline at end of file diff --git a/grafana/dashboards/drives.json b/grafana/dashboards/drives.json index ede4cbd701..130e7ff7db 100644 --- a/grafana/dashboards/drives.json +++ b/grafana/dashboards/drives.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { @@ -22,7 +43,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642770916740, + "id": null, "links": [ { "icon": "dashboard", @@ -59,6 +80,10 @@ "type": "row" }, { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -66,7 +91,10 @@ }, "custom": { "align": "auto", - "displayMode": "auto" + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -350,8 +378,10 @@ "value": "percentunit" }, { - "id": "custom.displayMode", - "value": "color-text" + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } }, { "id": "custom.align" @@ -666,8 +696,10 @@ "value": "❄" }, { - "id": "custom.displayMode", - "value": "color-text" + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } }, { "id": "custom.align", @@ -763,9 +795,10 @@ "y": 1 }, "id": 2, - "links": [], "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -774,11 +807,14 @@ }, "showHeader": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -805,7 +841,6 @@ ] } ], - "datasource": "TeslaMate", "title": "Drive", "transformations": [ { @@ -818,20 +853,18 @@ "type": "table" } ], - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -850,12 +883,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -874,12 +906,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -898,12 +929,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -922,12 +952,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -981,6 +1010,7 @@ "from": "now-30d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", diff --git a/grafana/dashboards/efficiency.json b/grafana/dashboards/efficiency.json index 1bd2bcb865..a91e2fb91a 100644 --- a/grafana/dashboards/efficiency.json +++ b/grafana/dashboards/efficiency.json @@ -1,9 +1,49 @@ { + "__inputs": [ + { + "name": "DS_TESLAMATE", + "label": "TeslaMate", + "description": "", + "type": "datasource", + "pluginId": "grafana-postgresql-datasource", + "pluginName": "PostgreSQL" + } + ], + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -13,9 +53,9 @@ ] }, "editable": true, - "gnetId": null, + "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1598013087999, + "id": null, "links": [ { "icon": "dashboard", @@ -38,7 +78,10 @@ "panels": [ { "collapsed": false, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "gridPos": { "h": 1, "w": 24, @@ -48,25 +91,27 @@ "id": 10, "panels": [], "repeat": "car_id", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" + "targets": [ + { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, + "refId": "A" } - }, + ], "title": "$car_id", "type": "row" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "decimals": 0, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -112,8 +157,6 @@ "y": 1 }, "id": 4, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -132,18 +175,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -172,20 +214,18 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Consumption (net)", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "decimals": 0, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -231,8 +271,6 @@ "y": 1 }, "id": 8, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -251,18 +289,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -291,20 +328,18 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Consumption (gross) ", "type": "stat" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "decimals": 0, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -350,8 +385,6 @@ "y": 1 }, "id": 6, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -370,18 +403,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -410,18 +442,22 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Logged Distance", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { - "align": null, - "filterable": false + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "max": 100, @@ -496,8 +532,11 @@ "value": 1 }, { - "id": "custom.displayMode", - "value": "lcd-gauge" + "id": "custom.cellOptions", + "value": { + "mode": "lcd", + "type": "gauge" + } }, { "id": "thresholds", @@ -654,8 +693,16 @@ "y": 4 }, "id": 2, - "links": [], "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true, "sortBy": [ { @@ -664,16 +711,13 @@ } ] }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } - }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -702,20 +746,18 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Temperature – Efficiency", "type": "table" }, { - "cacheTimeout": null, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { - "custom": {}, "decimals": 0, "mappings": [], - "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ @@ -761,8 +803,6 @@ "y": 16 }, "id": 14, - "interval": null, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -781,18 +821,17 @@ "fields": "", "values": false }, - "textMode": "value" - }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -821,18 +860,22 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Current $preferred_range efficiency", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { - "align": null, - "filterable": false + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "thresholds": { @@ -888,18 +931,24 @@ }, "id": 12, "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } - }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -928,18 +977,22 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Derived ideal efficiencies", "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { - "align": null, - "filterable": false + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "thresholds": { @@ -995,18 +1048,24 @@ }, "id": 15, "options": { + "cellHeight": "sm", + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, "showHeader": true }, - "pluginVersion": "7.2.1", - "scopedVars": { - "car_id": { - "selected": true, - "text": "1", - "value": "1" - } - }, + "pluginVersion": "11.0.0", "targets": [ { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -1035,27 +1094,22 @@ ] } ], - "timeFrom": null, - "timeShift": null, "title": "Derived rated efficiencies", "type": "table" } ], - "schemaVersion": 26, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "allValue": null, - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -1069,19 +1123,16 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -1095,19 +1146,16 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -1121,23 +1169,19 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, - "label": null, "multi": false, "name": "preferred_range", "options": [], @@ -1147,15 +1191,13 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { - "allValue": null, "current": { - "selected": true, + "selected": false, "text": "1", "value": "1" }, @@ -1197,13 +1239,11 @@ "type": "custom" }, { - "allValue": null, - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -1217,7 +1257,6 @@ "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", - "tags": [], "tagsQuery": "", "type": "query", "useTags": false @@ -1228,6 +1267,7 @@ "from": "now-6h", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "hidden": true, "refresh_intervals": [ @@ -1257,5 +1297,6 @@ "timezone": "", "title": "Efficiency", "uid": "fu4SiQgWz", - "version": 1 -} + "version": 2, + "weekStart": "" +} \ No newline at end of file diff --git a/grafana/dashboards/locations.json b/grafana/dashboards/locations.json index e65299e75a..24288b45c8 100644 --- a/grafana/dashboards/locations.json +++ b/grafana/dashboards/locations.json @@ -1,4 +1,37 @@ { + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { @@ -21,7 +54,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642771806943, + "id": null, "links": [ { "icon": "dashboard", @@ -44,7 +77,10 @@ "liveNow": false, "panels": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -68,7 +104,6 @@ "y": 0 }, "id": 12, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -87,9 +122,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -117,14 +154,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Total addresses", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -148,7 +192,6 @@ "y": 0 }, "id": 20, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -167,9 +210,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -197,14 +242,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Cities", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -228,7 +280,6 @@ "y": 0 }, "id": 18, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -247,9 +298,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -277,14 +330,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "States", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -308,7 +368,6 @@ "y": 0 }, "id": 16, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -327,9 +386,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -357,14 +418,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Countries", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -398,6 +466,10 @@ "id": 10, "options": { "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -406,9 +478,11 @@ "fields": "", "values": true }, - "showUnfilled": true + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -434,14 +508,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Cities", "type": "bargauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -475,6 +556,10 @@ "id": 14, "options": { "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -483,9 +568,11 @@ "fields": "", "values": true }, - "showUnfilled": true + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -513,22 +600,33 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "States", "type": "bargauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { - "displayMode": "auto", - "filterable": false + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "max": 100, @@ -586,7 +684,9 @@ }, "id": 22, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -601,7 +701,7 @@ } ] }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -629,7 +729,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Last visited", @@ -648,14 +752,21 @@ "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { - "displayMode": "auto" + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "decimals": 2, "displayName": "", @@ -844,9 +955,10 @@ "y": 22 }, "id": 2, - "links": [], "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -855,7 +967,7 @@ }, "showHeader": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -883,7 +995,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Addresses", @@ -898,14 +1014,21 @@ "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { - "displayMode": "auto" + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "decimals": 2, "displayName": "", @@ -1003,7 +1126,9 @@ }, "id": 6, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -1012,7 +1137,7 @@ }, "showHeader": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1038,7 +1163,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Geo-fences", @@ -1053,24 +1182,18 @@ "type": "table" } ], - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": true, - "text": [ - "All" - ], - "value": [ - "$__all" - ] + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 1, "includeAll": true, @@ -1089,12 +1212,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -1138,6 +1260,7 @@ "from": "now-30d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "hidden": true, "refresh_intervals": [ @@ -1167,6 +1290,6 @@ "timezone": "", "title": "Locations", "uid": "ZzhF-aRWz", - "version": 1, + "version": 2, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/mileage.json b/grafana/dashboards/mileage.json index 16ca7ce583..21703fc2e7 100644 --- a/grafana/dashboards/mileage.json +++ b/grafana/dashboards/mileage.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], "annotations": { "list": [ { @@ -21,7 +42,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1656100778202, + "id": null, "links": [ { "icon": "dashboard", @@ -58,13 +79,19 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, @@ -76,6 +103,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, @@ -156,7 +184,6 @@ "y": 1 }, "id": 2, - "links": [], "options": { "legend": { "calcs": [ @@ -164,9 +191,11 @@ "max" ], "displayMode": "table", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -175,7 +204,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "hide": false, @@ -208,20 +240,18 @@ } ], "refresh": false, - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -240,12 +270,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -264,12 +293,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -293,6 +321,7 @@ "from": "now-6M", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -323,4 +352,4 @@ "uid": "NjtMTFggz", "version": 1, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/projected-range.json b/grafana/dashboards/projected-range.json index 4414645bbf..19ac772f45 100644 --- a/grafana/dashboards/projected-range.json +++ b/grafana/dashboards/projected-range.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], "annotations": { "list": [ { @@ -11,7 +32,10 @@ "type": "dashboard" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "enable": false, "hide": false, "iconColor": "rgba(255, 96, 96, 1)", @@ -27,6 +51,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, + "id": null, "links": [ { "icon": "dashboard", @@ -70,7 +95,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -168,6 +196,7 @@ "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -176,7 +205,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "hide": false, @@ -204,7 +236,10 @@ ] }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -237,7 +272,10 @@ "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -336,6 +374,7 @@ "showLegend": true }, "tooltip": { + "maxHeight": 600, "mode": "multi", "sort": "none" } @@ -344,7 +383,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "time_series", "group": [], @@ -390,7 +432,10 @@ ] }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -423,7 +468,10 @@ "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -469,8 +517,7 @@ "mode": "absolute", "steps": [ { - "color": "green", - "value": null + "color": "green" }, { "color": "red", @@ -559,7 +606,10 @@ "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "time_series", "group": [], @@ -606,7 +656,10 @@ }, { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "hide": false, @@ -646,12 +699,11 @@ "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -670,12 +722,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "mi", - "value": "mi" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -694,12 +745,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "rated", - "value": "rated" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -717,12 +767,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -742,7 +791,10 @@ }, { "current": {}, - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -815,6 +867,7 @@ "from": "now-6M", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -845,4 +898,4 @@ "uid": "riqUfXgRz", "version": 2, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/states.json b/grafana/dashboards/states.json index a9bdca0516..fa23dac62a 100644 --- a/grafana/dashboards/states.json +++ b/grafana/dashboards/states.json @@ -1,4 +1,31 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "state-timeline", + "name": "State timeline", + "version": "" + } + ], "annotations": { "list": [ { @@ -22,7 +49,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642780620514, + "id": null, "links": [ { "icon": "dashboard", @@ -59,7 +86,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "Only distinguishes between online, offline and asleep.", "fieldConfig": { "defaults": { @@ -84,7 +114,6 @@ "y": 1 }, "id": 2, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -103,9 +132,11 @@ "fields": "/^time$/", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -133,14 +164,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Last state change", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "Only distinguishes between online, offline and asleep.", "fieldConfig": { "defaults": { @@ -165,7 +203,6 @@ "y": 1 }, "id": 6, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -184,9 +221,11 @@ "fields": "/^state$/", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -214,14 +253,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Current State", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "based on any data ever recorded.", "fieldConfig": { "defaults": { @@ -258,7 +304,6 @@ "y": 1 }, "id": 8, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -277,9 +322,11 @@ "fields": "", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "time_series", @@ -307,14 +354,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "parked (%)", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -322,7 +376,14 @@ }, "custom": { "fillOpacity": 100, - "lineWidth": 0 + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineWidth": 0, + "spanNulls": false }, "mappings": [ { @@ -387,20 +448,23 @@ "h": 7, "w": 24, "x": 0, - "y": 3 + "y": 4 }, "id": 14, "options": { "alignValue": "center", "legend": { "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "mergeValues": true, "rowHeight": 0.9, "showValue": "auto", "tooltip": { - "mode": "single" + "maxHeight": 600, + "mode": "single", + "sort": "none" } }, "targets": [ @@ -430,7 +494,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "States", @@ -438,20 +506,18 @@ } ], "refresh": false, - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -470,12 +536,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -499,6 +564,7 @@ "from": "now-2d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", diff --git a/grafana/dashboards/statistics.json b/grafana/dashboards/statistics.json index 64af8be63e..94e2791db8 100644 --- a/grafana/dashboards/statistics.json +++ b/grafana/dashboards/statistics.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { @@ -21,7 +42,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642773094880, + "id": null, "links": [ { "icon": "dashboard", @@ -58,14 +79,20 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { "custom": { "align": "left", - "displayMode": "auto", + "cellOptions": { + "type": "auto" + }, "filterable": false, + "inspect": false, "width": 120 }, "mappings": [], @@ -137,10 +164,6 @@ "id": "unit", "value": "percentunit" }, - { - "id": "custom.displayMode", - "value": "color-text" - }, { "id": "thresholds", "value": { @@ -287,10 +310,6 @@ "id": "displayName", "value": "Temperature" }, - { - "id": "custom.displayMode", - "value": "color-text" - }, { "id": "thresholds", "value": { @@ -460,7 +479,6 @@ ] } } - ] }, { @@ -510,7 +528,9 @@ "id": 2, "maxPerRow": 2, "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -526,7 +546,7 @@ } ] }, - "pluginVersion": "10.4.1", + "pluginVersion": "11.0.0", "repeatDirection": "h", "targets": [ { @@ -555,7 +575,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } }, { "format": "table", @@ -581,7 +605,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } }, { "format": "table", @@ -608,7 +636,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "per ${period}", @@ -751,8 +783,8 @@ "indexByName": { "avg_consumption_kwh": 9, "avg_cost_km": 19, - "avg_cost_mi": 20, "avg_cost_kwh": 11, + "avg_cost_mi": 20, "avg_outside_temp_c": 5, "avg_outside_temp_f": 5, "cnt": 6, @@ -775,8 +807,8 @@ "renameByName": { "avg_consumption_kwh": "Avg charged", "avg_cost_km": "Avg cost per km", - "avg_cost_mi": "Avg cost per mi", "avg_cost_kwh": "Avg cost per kWh", + "avg_cost_mi": "Avg cost per mi", "avg_outside_temp_c": "", "cnt": "# drives", "cnt_charges": "# charges", @@ -799,19 +831,17 @@ ], "refresh": false, "schemaVersion": 39, - "style": "dark", "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -830,12 +860,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -855,13 +884,11 @@ "useTags": false }, { - "allValue": null, - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -881,7 +908,7 @@ }, { "current": { - "selected": true, + "selected": false, "text": "month", "value": "month" }, @@ -918,12 +945,11 @@ "type": "custom" }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -941,36 +967,11 @@ "useTags": false }, { - "current": { - "selected": false, - - - - - - - - - - - - - - - - - - - - - - - - - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -993,6 +994,7 @@ "from": "now-10y", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -1010,6 +1012,6 @@ "timezone": "browser", "title": "Statistics", "uid": "1EZnXszMk", - "version": 2, + "version": 1, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/timeline.json b/grafana/dashboards/timeline.json index 5793facf5d..7e884bf89f 100644 --- a/grafana/dashboards/timeline.json +++ b/grafana/dashboards/timeline.json @@ -5,7 +5,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "10.4.2" + "version": "11.0.0" }, { "type": "datasource", @@ -567,7 +567,7 @@ } ] }, - "pluginVersion": "10.4.2", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -729,7 +729,7 @@ }, { "current": { - "selected": false, + "selected": true, "text": [ "All" ], @@ -873,10 +873,11 @@ "from": "now-7d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": {}, "timezone": "", "title": "Timeline", "uid": "SUBgwtigz", - "version": 2, + "version": 3, "weekStart": "" } \ No newline at end of file diff --git a/grafana/dashboards/trip.json b/grafana/dashboards/trip.json index b273e0339b..c0b020fbf0 100644 --- a/grafana/dashboards/trip.json +++ b/grafana/dashboards/trip.json @@ -1,4 +1,61 @@ { + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "bargauge", + "name": "Bar gauge", + "version": "" + }, + { + "type": "panel", + "id": "geomap", + "name": "Geomap", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "piechart", + "name": "Pie chart", + "version": "" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "state-timeline", + "name": "State timeline", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], "annotations": { "list": [ { @@ -22,7 +79,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "iteration": 1656104359102, + "id": null, "links": [ { "icon": "doc", @@ -68,7 +125,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -170,10 +230,13 @@ "zoom": 15 } }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "editorMode": "code", "format": "time_series", "group": [], @@ -220,12 +283,14 @@ ] } ], - "transformations": [], "transparent": true, "type": "geomap" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -282,7 +347,6 @@ "y": 1 }, "id": 10, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -301,9 +365,11 @@ "fields": "", "values": true }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -331,13 +397,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -409,7 +482,6 @@ "y": 1 }, "id": 38, - "links": [], "maxDataPoints": 3, "options": { "displayLabels": [ @@ -434,6 +506,7 @@ "values": true }, "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -465,7 +538,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } }, { "format": "time_series", @@ -493,13 +570,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "piechart" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -567,7 +651,6 @@ "y": 3 }, "id": 26, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -586,9 +669,11 @@ "fields": "", "values": false }, - "textMode": "value_and_name" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -616,13 +701,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -679,7 +771,6 @@ "y": 5 }, "id": 28, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -698,9 +789,11 @@ "fields": "", "values": false }, - "textMode": "value_and_name" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -728,13 +821,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -793,7 +893,6 @@ "y": 7 }, "id": 30, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -812,10 +911,12 @@ "fields": "", "values": true }, + "showPercentChange": false, "text": {}, - "textMode": "auto" + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -843,13 +944,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -908,7 +1016,6 @@ "y": 7 }, "id": 32, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -927,9 +1034,11 @@ "fields": "", "values": true }, - "textMode": "value_and_name" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -957,13 +1066,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -999,7 +1115,6 @@ "y": 9 }, "id": 22, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", @@ -1018,9 +1133,11 @@ "fields": "", "values": true }, - "textMode": "value_and_name" + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1048,13 +1165,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 1, @@ -1092,8 +1216,10 @@ "id": 40, "options": { "displayMode": "gradient", + "maxVizHeight": 300, "minVizHeight": 10, "minVizWidth": 0, + "namePlacement": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ @@ -1103,9 +1229,10 @@ "values": true }, "showUnfilled": false, + "sizing": "auto", "valueMode": "color" }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -1133,7 +1260,11 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } }, { "format": "table", @@ -1162,13 +1293,20 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "type": "bargauge" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "description": "", "fieldConfig": { "defaults": { @@ -1262,6 +1400,7 @@ "rowHeight": 1, "showValue": "never", "tooltip": { + "maxHeight": 600, "mode": "single", "sort": "none" } @@ -1293,14 +1432,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "transparent": true, "type": "state-timeline" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -1622,7 +1768,6 @@ "y": 16 }, "id": 2, - "links": [], "options": { "cellHeight": "sm", "footer": { @@ -1641,11 +1786,14 @@ } ] }, - "pluginVersion": "10.1.2", + "pluginVersion": "11.0.0", "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -1673,11 +1821,13 @@ } ], "title": "Drives", - "transformations": [], "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -2121,7 +2271,6 @@ "y": 27 }, "id": 36, - "links": [], "options": { "footer": { "fields": "", @@ -2141,7 +2290,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -2180,7 +2332,10 @@ "type": "table" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -2323,7 +2478,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -2356,7 +2514,10 @@ "type": "timeseries" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -2477,7 +2638,10 @@ "pluginVersion": "8.5.4", "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "time_series", "group": [], "metricColumn": "none", @@ -2511,20 +2675,18 @@ } ], "refresh": "", - "schemaVersion": 38, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -2543,12 +2705,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "C", - "value": "C" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_temperature from settings limit 1;", "hide": 2, "includeAll": false, @@ -2567,12 +2728,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -2591,12 +2751,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "m", - "value": "m" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select case when unit_of_length = 'km' then 'm' when unit_of_length = 'mi' then 'ft' end from settings limit 1;", "hide": 2, "includeAll": false, @@ -2615,12 +2774,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -2639,12 +2797,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -2663,12 +2820,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "1642593521525", - "value": "1642593521525" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "with last_drives as (select start_date from drives order by start_date desc limit 3)\nselect extract(epoch from min(start_date)) * 1000 from last_drives;", "hide": 2, "includeAll": false, @@ -2691,6 +2847,7 @@ "from": "now/d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -2721,4 +2878,4 @@ "uid": "FkUpJpQZk", "version": 2, "weekStart": "" -} +} \ No newline at end of file diff --git a/grafana/dashboards/updates.json b/grafana/dashboards/updates.json index 40e8164d45..b63b874c4f 100644 --- a/grafana/dashboards/updates.json +++ b/grafana/dashboards/updates.json @@ -1,4 +1,31 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { @@ -22,7 +49,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1643273221821, + "id": null, "links": [ { "icon": "dashboard", @@ -59,7 +86,10 @@ "type": "row" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "mappings": [], @@ -94,9 +124,11 @@ "fields": "", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -124,14 +156,21 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Updates", "type": "stat" }, { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "decimals": 1, @@ -168,9 +207,11 @@ "fields": "", "values": true }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "format": "table", @@ -198,19 +239,30 @@ "params": [], "type": "macro" } - ] + ], + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + } } ], "title": "Median time between updates", "type": "stat" }, { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "custom": { "align": "auto", - "displayMode": "auto", - "filterable": false + "cellOptions": { + "type": "auto" + }, + "filterable": false, + "inspect": false }, "mappings": [], "thresholds": { @@ -443,9 +495,10 @@ "y": 4 }, "id": 2, - "links": [], "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -460,7 +513,7 @@ } ] }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "scroll": true, "showHeader": true, "sort": { @@ -566,7 +619,10 @@ ], "targets": [ { - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -595,25 +651,22 @@ ] } ], - "datasource": "TeslaMate", "title": "Updates", "type": "table" } ], - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -632,12 +685,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -655,12 +707,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -678,12 +729,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -707,6 +757,7 @@ "from": "now-10y", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "10s", diff --git a/grafana/dashboards/vampire-drain.json b/grafana/dashboards/vampire-drain.json index b045e656eb..7d16a3d38f 100644 --- a/grafana/dashboards/vampire-drain.json +++ b/grafana/dashboards/vampire-drain.json @@ -1,4 +1,25 @@ { + "__elements": {}, + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "11.0.0" + }, + { + "type": "datasource", + "id": "grafana-postgresql-datasource", + "name": "PostgreSQL", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + } + ], "annotations": { "list": [ { @@ -21,7 +42,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "iteration": 1642779900099, + "id": null, "links": [ { "icon": "dashboard", @@ -59,6 +80,10 @@ "type": "row" }, { + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "fieldConfig": { "defaults": { "color": { @@ -66,7 +91,10 @@ }, "custom": { "align": "auto", - "displayMode": "auto" + "cellOptions": { + "type": "auto" + }, + "inspect": false }, "mappings": [], "thresholds": { @@ -186,8 +214,10 @@ "value": 1 }, { - "id": "custom.displayMode", - "value": "color-text" + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } }, { "id": "custom.align" @@ -279,8 +309,10 @@ "value": "percentunit" }, { - "id": "custom.displayMode", - "value": "color-text" + "id": "custom.cellOptions", + "value": { + "type": "color-text" + } }, { "id": "custom.align" @@ -504,9 +536,10 @@ "y": 1 }, "id": 2, - "links": [], "options": { + "cellHeight": "sm", "footer": { + "countRows": false, "fields": "", "reducer": [ "sum" @@ -515,11 +548,14 @@ }, "showHeader": true }, - "pluginVersion": "8.3.4", + "pluginVersion": "11.0.0", "targets": [ { "alias": "", - "datasource": "TeslaMate", + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "format": "table", "group": [], "metricColumn": "none", @@ -546,7 +582,6 @@ ] } ], - "datasource": "TeslaMate", "title": "Vampire Drain", "transformations": [ { @@ -559,20 +594,18 @@ "type": "table" } ], - "schemaVersion": 36, - "style": "dark", + "schemaVersion": 39, "tags": [ "tesla" ], "templating": { "list": [ { - "current": { - "selected": false, - "text": "All", - "value": "$__all" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "SELECT name AS __text, id AS __value FROM cars ORDER BY display_priority ASC, name ASC;", "hide": 2, "includeAll": true, @@ -592,7 +625,7 @@ }, { "current": { - "tags": [], + "selected": false, "text": "6", "value": "6" }, @@ -643,12 +676,11 @@ "type": "custom" }, { - "current": { - "selected": false, - "text": "km", - "value": "km" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select unit_of_length from settings limit 1;", "hide": 2, "includeAll": false, @@ -667,12 +699,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "ideal", - "value": "ideal" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select preferred_range from settings limit 1;", "hide": 2, "includeAll": false, @@ -690,12 +721,11 @@ "useTags": false }, { - "current": { - "selected": false, - "text": "http://localhost:4000", - "value": "http://localhost:4000" + "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" }, - "datasource": "TeslaMate", "definition": "select base_url from settings limit 1;", "hide": 2, "includeAll": false, @@ -719,6 +749,7 @@ "from": "now-90d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", diff --git a/grafana/dashboards/visited.json b/grafana/dashboards/visited.json index 720bd4a565..ed7cea3c5b 100644 --- a/grafana/dashboards/visited.json +++ b/grafana/dashboards/visited.json @@ -11,7 +11,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "10.4.0" + "version": "11.0.0" }, { "type": "datasource", @@ -34,9 +34,9 @@ "type": "grafana", "uid": "-- Grafana --" }, + "definition": "TeslaMate|U2FsdGVkX1/cEWK+8cz7pjEKXtzJnDN7b21ZDXt1MGneFGPWTLqOPtxKmu02mJPLzi/f29I+NBHd3vi0FB8R4Xn0+GtobWDgk6VAVSBTdSNniOKO8i2WPlhRaOsl2+hG7gnZ7wrf1Th2nxR7f1uYCrbwOek0IzkfLzrkjh7gkr6inT6bbDuJqrmogZajLxmAMrQ6V+/vHxBRGiwjJhgiEeq3hM1q2h04JKkNiZ8RHbsF5Cd/xd8Q9u0JVrZzIrtnhM/SFlaApU7RtRMu8CSj1llTX7WEOj6VDZAMSf+XUAanWdk725kEPN9MNu89o2zEq5P3E3cju8IbbBdPzXLV3oVuzD6/tMnxFToIIV1E/BrpF7s2RtNa8+KJJ1PF8xgs6m+/KTD2hy+WsP0636AgObRAmYg7+qotGrgNvpNPdE0EgrB7WHYlV7R/1q66bcq6tCe51X1Un70k+zo+K6AK0o4B1H6IyMlEVuRH/Fz8QVl9aYu2ztd08RbuKJlYVKpkH+pxVETAO9MclYQ90tzE6TfwDZrQZzsAlMenr4s1ZB1OlFXjLjVjnddnUilzO76cqv4yI2THQEuyQ47nuVQ4gUbx02K59vMQhns3C01JOAYokOaSXe66Y7QYdMlk09Lf|aes-256-cbc", "enable": true, "hide": true, - "definition": "TeslaMate|U2FsdGVkX1/cEWK+8cz7pjEKXtzJnDN7b21ZDXt1MGneFGPWTLqOPtxKmu02mJPLzi/f29I+NBHd3vi0FB8R4Xn0+GtobWDgk6VAVSBTdSNniOKO8i2WPlhRaOsl2+hG7gnZ7wrf1Th2nxR7f1uYCrbwOek0IzkfLzrkjh7gkr6inT6bbDuJqrmogZajLxmAMrQ6V+/vHxBRGiwjJhgiEeq3hM1q2h04JKkNiZ8RHbsF5Cd/xd8Q9u0JVrZzIrtnhM/SFlaApU7RtRMu8CSj1llTX7WEOj6VDZAMSf+XUAanWdk725kEPN9MNu89o2zEq5P3E3cju8IbbBdPzXLV3oVuzD6/tMnxFToIIV1E/BrpF7s2RtNa8+KJJ1PF8xgs6m+/KTD2hy+WsP0636AgObRAmYg7+qotGrgNvpNPdE0EgrB7WHYlV7R/1q66bcq6tCe51X1Un70k+zo+K6AK0o4B1H6IyMlEVuRH/Fz8QVl9aYu2ztd08RbuKJlYVKpkH+pxVETAO9MclYQ90tzE6TfwDZrQZzsAlMenr4s1ZB1OlFXjLjVjnddnUilzO76cqv4yI2THQEuyQ47nuVQ4gUbx02K59vMQhns3C01JOAYokOaSXe66Y7QYdMlk09Lf|aes-256-cbc", "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" @@ -46,6 +46,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, + "id": null, "links": [ { "icon": "dashboard", @@ -201,7 +202,7 @@ "zoom": 15 } }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -281,7 +282,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -427,7 +428,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -603,7 +604,7 @@ "textMode": "value_and_name", "wideLayout": true }, - "pluginVersion": "10.4.0", + "pluginVersion": "11.0.0", "targets": [ { "datasource": { @@ -714,6 +715,10 @@ }, { "current": {}, + "datasource": { + "type": "grafana-postgresql-datasource", + "uid": "TeslaMate" + }, "definition": "SELECT unit_of_length FROM settings LIMIT 1", "hide": 2, "includeAll": false, @@ -733,6 +738,7 @@ "from": "now-90d", "to": "now" }, + "timeRangeUpdatedDuringEditOrView": false, "timepicker": { "refresh_intervals": [ "5s", @@ -761,6 +767,6 @@ "timezone": "", "title": "Visited", "uid": "RG_DxSmgk", - "version": 12, + "version": 3, "weekStart": "" } \ No newline at end of file From c909295b016c2c2e0f4106a5a866dc1fcdd878d4 Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 18 Jun 2024 18:16:50 +0200 Subject: [PATCH 54/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 540c786372..d4afc9be64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - Update and fix timeline dashboard (#3951 -@jheredianet) - Remove A lot of empty space on the drive graph (#3950 -@jheredianet) - Integrate LFP specific dashboards into regular dashboards (#3966 - @swiffer) +- Export all Dashboards via Grafana 11.0.0 (#3971 - @swiffer) #### Translations From 19b6e9ad5272e2b330c527e943decadaaf21d76f Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 18 Jun 2024 18:27:37 +0200 Subject: [PATCH 55/61] build: release v1.29.2 --- CHANGELOG.md | 7 +++++-- VERSION | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4afc9be64..b653517526 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog -## [unreleased] +## [1.29.2] + +This release improve TeslaMate behavior on Tesla API rate limits, which occur from time to time. We respect the retry-after header on 429 response code to not hammer the API unnecessarily in these cases. ### New features @@ -1968,7 +1970,8 @@ New users need to sign in via the web interface. ## [1.0.0] - 2019-07-25 -[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.29.1...HEAD +[unreleased]: https://github.com/teslamate-org/teslamate/compare/v1.29.2...HEAD +[1.29.2]: https://github.com/teslamate-org/teslamate/compare/v1.29.1...v1.29.2 [1.29.1]: https://github.com/teslamate-org/teslamate/compare/v1.29.0...v1.29.1 [1.29.0]: https://github.com/teslamate-org/teslamate/compare/v1.28.5...v1.29.0 [1.28.5]: https://github.com/teslamate-org/teslamate/compare/v1.28.4...v1.28.5 diff --git a/VERSION b/VERSION index 1816bd0182..3410b780c0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.29.2-dev \ No newline at end of file +1.29.2 \ No newline at end of file From 57589802b651eb83cf8cf5653f49df6cb3894b9b Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 18 Jun 2024 18:28:40 +0200 Subject: [PATCH 56/61] build: prepare v1.29.3-dev --- CHANGELOG.md | 14 ++++++++++++++ VERSION | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b653517526..194cb68f9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [unreleased] + +### New features + +### Improvements and bug fixes + +#### Build, CI, internal + +#### Dashboards + +#### Translations + +#### Documentation + ## [1.29.2] This release improve TeslaMate behavior on Tesla API rate limits, which occur from time to time. We respect the retry-after header on 429 response code to not hammer the API unnecessarily in these cases. diff --git a/VERSION b/VERSION index 3410b780c0..33ab15e912 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.29.2 \ No newline at end of file +1.29.3-dev \ No newline at end of file From eaa518d8a5c83e257b05c7b8bf4e47ff23cc5ce2 Mon Sep 17 00:00:00 2001 From: JakobLichterfeld Date: Tue, 18 Jun 2024 19:01:49 +0200 Subject: [PATCH 57/61] doc: remove outdated, unsupported, unmaintained portainer doc (#3972) * doc:remove outdated, unmaintained portainer doc * doc: Remove unmaintained Portainer documentation * doc: update changelog --- CHANGELOG.md | 2 ++ website/docs/guides/portainer.md | 31 ------------------------------- website/sidebars.js | 2 +- 3 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 website/docs/guides/portainer.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 194cb68f9c..0f3b6bfc26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ #### Documentation +- doc: remove outdated, unsupported, unmaintained portainer doc (#3972 - @JakobLichterfeld) + ## [1.29.2] This release improve TeslaMate behavior on Tesla API rate limits, which occur from time to time. We respect the retry-after header on 429 response code to not hammer the API unnecessarily in these cases. diff --git a/website/docs/guides/portainer.md b/website/docs/guides/portainer.md deleted file mode 100644 index 2982566828..0000000000 --- a/website/docs/guides/portainer.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Web based management of your docker installation ---- - -To manage your docker installation of TeslaMate you could use the open-source management UI [portainer](https://portainer.io). - -## Installation - -Add a new `portainer` service and a `portainer-data` volume to your `docker-compose.yml`: - -```yml docker-compose.yml {4-12,15} -services: - portainer: - image: portainer/portainer - restart: always - ports: - - 9000:9000 - command: -H unix:///var/run/docker.sock - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - portainer-data:/data - -volumes: - portainer-data: -``` - -Afterwards, access the docker management console at http://yourhost:9000. - -:::caution -Exposing the docker socket (`docker.sock`) is a security risk. Giving an application access to it is equivalent to giving a unrestricted root access to your host. For more information see [OWASP: Do not expose the Docker daemon socket](https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html#rule-1---do-not-expose-the-docker-daemon-socket-even-to-the-containers). -::: diff --git a/website/sidebars.js b/website/sidebars.js index c227ede43e..76aade76ef 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -19,7 +19,7 @@ module.exports = { { type: "category", label: "Guides", - items: ["guides/traefik", "guides/apache", "guides/portainer", "guides/unix_domain_sockets"], + items: ["guides/traefik", "guides/apache", "guides/unix_domain_sockets"], }, { type: "category", From be2609c475a2ab9044abbcf733d780357df963c5 Mon Sep 17 00:00:00 2001 From: Olex S Date: Tue, 18 Jun 2024 19:03:29 +0200 Subject: [PATCH 58/61] doc: fix MMM-Teslamate and ha-addon-teslamate project links (#3973) Fixes an incorrect change made in #3953 --- website/docs/projects.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/projects.md b/website/docs/projects.md index d03d8f119c..446275f6d8 100644 --- a/website/docs/projects.md +++ b/website/docs/projects.md @@ -8,17 +8,17 @@ An LED illuminated acrylic Tesla Model 3. Its color and scale of light depend on LINK: [github.com/gaussmeter/gaussmeter](https://github.com/gaussmeter/gaussmeter) -## [MMM-Teslamate](https://github.com/lildude/ha-addon-teslamate) +## [MMM-Teslamate](https://github.com/denverquane/MMM-Teslamate) A [Magic Mirror](https://magicmirror.builders/) Module for TeslaMate. LINK: [github.com/denverquane/MMM-Teslamate](https://github.com/denverquane/MMM-Teslamate) -## [Home Assistant Addon](https://github.com/matt-FFFFFF/hassio-addon-teslamate) +## [Home Assistant Addon](https://github.com/lildude/ha-addon-teslamate) An unofficial Home Assistant addon for TeslaMate, with a PostgreSQL addon too. Works with the existing community Grafana and Mosquitto addons to provide a complete solution. -LINK: [github.com/matt-FFFFFF/hassio-addon-teslamate](https://github.com/matt-FFFFFF/hassio-addon-teslamate) +LINK: [github.com/lildude/ha-addon-teslamate](https://github.com/lildude/ha-addon-teslamate) ## [TeslaMateAgile](https://github.com/MattJeanes/TeslaMateAgile) From 5c6372919e08780654411d24070297268f4e43cd Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Tue, 18 Jun 2024 19:04:14 +0200 Subject: [PATCH 59/61] doc: update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f3b6bfc26..78510f8b12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ #### Documentation - doc: remove outdated, unsupported, unmaintained portainer doc (#3972 - @JakobLichterfeld) +- doc: fix MMM-Teslamate and ha-addon-teslamate project links (#3973 - @olexs) ## [1.29.2] From 195433c319d13ff23208b940077e24f5ec6b5d07 Mon Sep 17 00:00:00 2001 From: Saswat Padhi Date: Wed, 19 Jun 2024 01:28:19 -0700 Subject: [PATCH 60/61] Track open/close states for individual doors (#3962) * feat: track open/close states for individual doors * doc: add individual door open states --- .../mqtt/pubsub/vehicle_subscriber.ex | 3 +- lib/teslamate/vehicles/vehicle/summary.ex | 29 ++++++++++++++++++- website/docs/integrations/mqtt.md | 6 +++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex b/lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex index 8a4a05f91e..d3873eebd5 100644 --- a/lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex +++ b/lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex @@ -83,7 +83,8 @@ defmodule TeslaMate.Mqtt.PubSub.VehicleSubscriber do display_name state since healthy latitude longitude heading battery_level charging_state 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 doors_open + plugged_in scheduled_charging_start_time charge_limit_soc charger_power windows_open + doors_open driver_front_door_open driver_rear_door_open passenger_front_door_open passenger_rear_door_open odometer shift_state charge_port_door_open time_to_full_charge charger_phases charger_actual_current charger_voltage version update_available update_version is_user_present model trim_badging exterior_color wheel_type spoiler_type trunk_open frunk_open elevation power diff --git a/lib/teslamate/vehicles/vehicle/summary.ex b/lib/teslamate/vehicles/vehicle/summary.ex index 1d372451b8..cc7a139a1f 100644 --- a/lib/teslamate/vehicles/vehicle/summary.ex +++ b/lib/teslamate/vehicles/vehicle/summary.ex @@ -9,7 +9,8 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do car display_name state since healthy latitude longitude heading battery_level charging_state 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 doors_open + plugged_in scheduled_charging_start_time charge_limit_soc charger_power windows_open + doors_open driver_front_door_open driver_rear_door_open passenger_front_door_open passenger_rear_door_open odometer shift_state charge_port_door_open time_to_full_charge charger_phases charger_actual_current charger_voltage version update_available update_version is_user_present geofence model trim_badging exterior_color wheel_type spoiler_type trunk_open frunk_open elevation power @@ -129,6 +130,10 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do sentry_mode: get_in_struct(vehicle, [:vehicle_state, :sentry_mode]), windows_open: window_open(vehicle), doors_open: doors_open(vehicle), + driver_front_door_open: driver_front_door_open(vehicle), + driver_rear_door_open: driver_rear_door_open(vehicle), + passenger_front_door_open: passenger_front_door_open(vehicle), + passenger_rear_door_open: passenger_rear_door_open(vehicle), trunk_open: trunk_open(vehicle), frunk_open: frunk_open(vehicle), is_user_present: get_in_struct(vehicle, [:vehicle_state, :is_user_present]), @@ -182,6 +187,28 @@ defmodule TeslaMate.Vehicles.Vehicle.Summary do end end + defp driver_front_door_open(%Vehicle{vehicle_state: %VehicleState{df: df}}) when is_number(df), + do: df > 0 + + defp driver_front_door_open(_vehicle), do: nil + + defp driver_rear_door_open(%Vehicle{vehicle_state: %VehicleState{dr: dr}}) when is_number(dr), + do: dr > 0 + + defp driver_rear_door_open(_vehicle), do: nil + + defp passenger_front_door_open(%Vehicle{vehicle_state: %VehicleState{pf: pf}}) + when is_number(pf), + do: pf > 0 + + defp passenger_front_door_open(_vehicle), do: nil + + defp passenger_rear_door_open(%Vehicle{vehicle_state: %VehicleState{pr: pr}}) + when is_number(pr), + do: pr > 0 + + defp passenger_rear_door_open(_vehicle), do: nil + defp trunk_open(%Vehicle{vehicle_state: %VehicleState{rt: rt}}) when is_number(rt), do: rt > 0 defp trunk_open(_vehicle), do: nil diff --git a/website/docs/integrations/mqtt.md b/website/docs/integrations/mqtt.md index bc6a8565c8..d19a8e3981 100644 --- a/website/docs/integrations/mqtt.md +++ b/website/docs/integrations/mqtt.md @@ -40,6 +40,10 @@ Vehicle data will be published to the following topics: | `teslamate/cars/$car_id/sentry_mode` | false | Indicates if Sentry Mode is active | | `teslamate/cars/$car_id/windows_open` | false | Indicates if any of the windows are open | | `teslamate/cars/$car_id/doors_open` | false | Indicates if any of the doors are open | +| `teslamate/cars/$car_id/driver_front_door_open` | false | Indicates if the driver-side front door is open | +| `teslamate/cars/$car_id/driver_rear_door_open` | false | Indicates if the driver-side rear door is open | +| `teslamate/cars/$car_id/passenger_front_door_open` | false | Indicates if the passenger-side front door is open | +| `teslamate/cars/$car_id/passenger_rear_door_open` | false | Indicates if the passenger-side rear door is open | | `teslamate/cars/$car_id/trunk_open` | false | Indicates if the trunk is open | | `teslamate/cars/$car_id/frunk_open` | false | Indicates if the frunk is open | | `teslamate/cars/$car_id/is_user_present` | false | Indicates if a user is present in the vehicle | @@ -110,4 +114,4 @@ Not routing to a destination. { "error": "No active route available" } -``` \ No newline at end of file +``` From 9df4e7c9320915c25b39c66caadc803d86e64f2d Mon Sep 17 00:00:00 2001 From: Jakob Lichterfeld Date: Wed, 19 Jun 2024 10:31:21 +0200 Subject: [PATCH 61/61] doc: update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78510f8b12..ed7ed37468 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### New features +- Track open/close states for individual doors (#3962 - @SaswatPadhi), new MQTT values see [documentation](https://docs.teslamate.org/docs/integrations/mqtt) + ### Improvements and bug fixes #### Build, CI, internal