Skip to content

Releases: teslamate-org/teslamate

v4.0.1

14 Jun 17:09
46a755b

Choose a tag to compare

This release resolves the issue with refresh tokens. This was a community effort: the community conducted research, submitted pull requests, and the maintainers provided test images. We love to see, and we hope, we do not need another quick hotfix in the next days, weeks, ... .
To make your TeslaMate experience even better, we have also made more than 8 other improvements.

Enjoy!

New features

Improvements and bug fixes

Build, CI, internal

  • ci: remove now obsolete ARMv7 buildcache (#5397 - @swiffer)
  • build: remove now unused zstd compression tool to reduce docker image size (#5397 - @swiffer)
  • build(deps): bump floki from 0.38.1 to 0.38.3 (#5359)
  • ci(osv-scanner): don't fail on main pushes and merge queue (#5410 - @JakobLichterfeld)

Dashboards

Translations

Documentation

  • docs: clarify Grafana and Erlang requirements (#5397 - @swiffer)
  • docs: clarify which docker images are provided and what to do if the user have a Raspberry Pi with ARMv7 OS (#5397 - @swiffer)
  • docs: clarify Erlang and OTP support in contributing guide (#5397 - @swiffer)

complete changelog

v4.0.0

13 Jun 12:17
a8e7ffa

Choose a tag to compare

This is a breaking change release:

This release resolves the issue of 403 Forbidden errors with Owner API tokens. To accomplish this, we had to drop ARMv7 support, a plan that had been in place for a long time, as it held us back from recent updates. The need for this change in such a short time span was unforeseeable.
To make your TeslaMate experience even better, we have also made more than 4 other improvements.

Enjoy!

New features

Improvements and bug fixes

  • fix: restore vehicle_unavailable fallback for streaming fetches to prevent unwanted vehicle online state (#5378 - @ciyahu)
  • fix: properly clean up state and delete tokens on sign out (#5379 - @jlestel)

Build, CI, internal

Dashboards

Translations

Documentation

complete changelog

v3.1.0

07 Jun 12:34
2a1076f

Choose a tag to compare

MCU2 upgraded cars are now fully supported in the main release (please switch from the now deprecated mcu2 branch aka pr-4453).

As always, there have been many improvements. We now use the latest version of Grafana (13.0.1+security-01). The dashboards have been improved in terms of performance, and all dashboards now function as expected even if no geofence exists. BRIN indexes are now maintained to prevent performance degradation over time.
To make your TeslaMate experience even better, we have also made more than 80 other improvements.

Enjoy!

ARMv7 deprecation

This is the last TeslaMate release to include ARMv7 Docker images. To keep up with current Elixir versions, ARMv7 support will be dropped going forward. Please migrate your OS to ARM64 or AMD64 before upgrading to the next release. If this is not possible, please inform us in #5304.

New features

Improvements and bug fixes

  • feat(webview): Sort vehicles by display_priority (#5188 - @olsoybakk and @swiffer)
  • feat(webview): Make icons inherit text color for better contrast in dark mode (#5193 - @olsoybakk)
  • feat(webview): Add dark mode support for background and buttons in the map (#5240 - @olsoybakk and @swiffer)
  • fix(webview): Prevent rounding of map tiles via Bulma CSS (#5265 - @swiffer)
  • perf: ensure BRIN indexes don't degrade over time (#5276 - @swiffer)
  • fix: fix folder creation and bash 3.2 compatibility in dashboards.sh (#5233 - @svennergr)
  • fix: handle nil tire pressure values in summary view (#5297 - @elemated)
  • feat: use Grafana 13.0.1+security-01 (#5324 - @swiffer)

Build, CI, internal

  • build(deps): bump ex_cldr from 2.46.0 to 2.47.1 to fix 100% CPU lock when accessing TeslaMate web (#5166)
  • ci: migrate runners for arm from buildjet to gha native (#5206 - @adriankumpf)
  • ci: limit DevOps workflow runs of type push to branch main to prevent duplicate runs on PR (#5211 - @swiffer)
  • build(deps): update flake.lock (#5186)
  • fix(nix): update mix dependency hash in nix builds (#5186 - @JakobLichterfeld)
  • build(deps): bump actions/stale from 10.1.1 to 10.2.0 (#5162)
  • build(deps): bump crate-ci/typos from 1.42.3 to 1.44.0 (#5163)
  • build(deps): bump finch from 0.20.0 to 0.21.0 (#5165)
  • build(deps): bump immutable from 5.1.4 to 5.1.5 in /assets (#5176)
  • build(deps): bump svgo from 3.3.2 to 3.3.3 in /website (#5177)
  • ci: bump actions to avoid warnings for node 20 (#5213 - @swiffer)
  • ci: ensure fully purging PR related tags for images hosted on GHCR on PR close (#5212 - @swiffer)
  • ci: build images for main branch and use buildcache of main as fallback for PR builds (#5212 - @swiffer)
  • ci: run Purge PR images workflow only if PR is from our own repo (#5217 - @swiffer)
  • ci: for check_paths ensure the job value is retrieved and set as workflow output correctly (#5219 - @swiffer)
  • build(deps): bump castore from 1.0.17 to 1.0.18 (#5255)
  • build(deps-dev): bump credo from 1.7.16 to 1.7.17 (#5254)
  • build(deps): bump floki from 0.38.0 to 0.38.1 (#5249)
  • build(deps): bump crate-ci/typos from 1.44.0 to 1.45.0 (#5251)
  • build(deps): bump actions/cache from 5.0.3 to 5.0.4 (#5248)
  • build(deps): bump dorny/paths-filter from 4.0.0 to 4.0.1 (#5247)
  • build(deps): bump ecto_sql from 3.13.4 to 3.13.5 (#5260 - @swiffer)
  • build(deps): bump ex_cldr from 2.47.1 to 2.47.2 (#5260 - @swiffer)
  • build(deps-dev): bump esbuild from 0.27.3 to 0.27.7 in /assets (#5261 - @swiffer)
  • build(deps-dev): bump esbuild-sass-plugin from 3.6.0 to 3.7.0 in /assets (#5261 - @swiffer)
  • build(deps-dev): bump sass from 1.97.3 to 1.99.0 in /assets (#5261 - @swiffer)
  • build(deps): update packages in /website and remove obsolete overrides (#5266 - @swiffer)
  • build(deps): update flake.lock (#5275)
  • build(deps): update flake.lock (#5288)
  • build(deps): bump docusaurus from 3.9.2 to 3.10.0 in /website (#5302 - @swiffer)
  • refactor: replace fake_online_state integer with typed mcu2_online_check atom (#5245 - @brianmay)
  • fix: update GitHub Actions configuration for Dependabot to include action directories (#5316 - @swiffer)
  • build(deps): bump docker/login-action from 4.0.0 to 4.1.0, docker/build-push-action from 7.0.0 to 7.1.0, actions/upload-artifact from 7.0.0 to 7.0.1, actions/upload-artifact/merge from 7.0.0 to 7.0.1, erlef/setup-beam from 1.18.1 to 1.24.0, actions/cache from 5.0.4 to 5.0.5, actions/cache/restore from 5.0.4 to 5.0.5, actions/cache/save from 5.0.4 to 5.0.5 and crate-ci/typos from 1.45.0 to 1.46.0 (#5317)
  • build(deps): bump leaflet-geoman-free from 2.19.2 to 2.19.3 in /assets (#5301 - @swiffer)
  • build(deps): bump plug_cowboy from 2.8.0 to 2.8.1 (#5314)
  • build(deps-dev): bump esbuild from 0.27.7 to 0.28.0 in /assets (#5312)
  • build(deps-dev): bump credo from 1.7.17 to 1.7.18 (#5315)
  • sec(deps): add uuid override to version 14.0.0 in /website (#5320 - @JakobLichterfeld)
  • build(deps): bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /website (#5328)
  • build(deps): bump fast-uri from 3.1.0 to 3.1.2 in /website (#5327)
  • build(deps): update flake.lock (#5326)
  • sec(deps): fix OSV vulnerabilities - update cowlib, decimal, and phoenix to patched versions (#5332 - @brianmay)
  • ci: add osv scanner to scan for vulnerabilities (#5332 - @brianmay and @JakobLichterfeld)
  • build(deps): update flake.lock (#5338)
  • refactor: use frame key when specifying window to improve readability (#5339 - @swiffer)
  • build(deps): bump cowlib from 2.16.0 to 2.16.1 (#5342 - @JakobLichterfeld)
  • build(deps): bump cowboy from 2.14.2 to 2.15.0 (#5342 - @JakobLichterfeld)
  • build(deps): bump plug from 1.19.1 to 1.19.2 (#5342 - @JakobLichterfeld)
  • build(deps): bump postgrex from 0.22.0 to 0.22.2 and db_connection from 2.9.0 to 2.10.1 (#5342 - @JakobLichterfeld)
  • build(deps): update flake.lock (#5342 - @JakobLichterfeld)
  • build(deps): bump webpack-dev-server from 5.2.3 to 5.2.4 in /website (#5343)
  • sec(deps): add ws override to version 8.20.1 in /website (#5344 - @JakobLichterfeld)
  • feat(nix): update NixOS version to 26.05 (#5350 - @JakobLichterfeld)
  • fix(nix): correct URL format for PostgreSQL connection in Grafana 13+ (#5351 - @JakobLichterfeld)
  • fix(nix): make grafana.secretKeyFile optional with old insecure grafana default fallback (#5352 - @JakobLichterfeld)
  • build(deps): bump ex_cldr from 2.47.2 to 2.47.4 (#5361)
  • ci(deps): bump the actions-deps group across 4 directories with 11 updates (#5368)
  • build(deps): update flake.lock (#5354)
  • build(deps): bump finch from 0.21.0 to 0.22.0 (#5358)
  • build(deps): bump react and react-dom from 19.2.5 to 19.2.6 in /website (#5366)
  • build(deps-dev): bump sass from 1.99.0 to 1.100.0 in /assets (#5360)
  • build(deps): bump @docusaurus/core, /faster and /preset-classic from 3.10.0 to 3.10.1 in /website (#5365)

Dashboards

  • fix: use FLOOR/CEIL over ROUND for timestamps used in dashboard links to avoid timeranges becoming to narrow (#5187 - @swiffer)
  • fix: ensure Charges / Drives dashboards load correctly if no Geofence exists (#5199, #5335 - @swiffer)
  • fix: division by zero in SQL query for cost_mileage in Trips dashboard (#5198 - @DrMichael)
  • fix: handle incomplete data correctly in Charging Stats / Statistics / Trips dashboards (#5229 - @swiffer)
  • feat: enable timepicker in efficiency dashboard (#5257 - @swiffer)
  • fix: ensure low precision mode is used for consumption gross for larger intervals (#5257 - @swiffer)
  • feat: improve filters in Statistics dashboard (#5340 - @DrMichael)
  • feat: add geofence filter to Charging Stats dashboard with default to all (#5355 - @faekz0r)

Translations

Documentation

  • docs: drop private schema before restore (#5190 - @brianmay)
  • docs: remove references to mcu2-upgraded-cars branch (#5371- @brianmay)
  • docs: update DROP SCHEMA commands to include IF EXISTS to avoid issues with old installations (@5372- @JakobLichterfeld)

complete changelog

v.3.0.0

28 Feb 15:41
c91473e

Choose a tag to compare

Let's start with a quote: "Why do programmers like dark mode? Because light attracts bugs.". Yes, you read that right. TeslaMate Webview now has a dark mode.

As always, lots of improvements have been made. Memory usage has been reduced, while performance has been increased — it sounds too good to be true, but it's the reality.
Battery heating is now also shown on the overview dashboard, and the drives dashboard now always shows the consumption.
To make your TeslaMate experience even better, we have also made more than 52 other improvements.

Enjoy!

📄 License Change Notice

As of PR #5131, TeslaMate has transitioned from the MIT License to the GNU Affero General Public License v3.0 (AGPLv3).

What does this mean for you?

  • For Private Users: Nothing changes. You can continue to use, host, and modify TeslaMate for your personal use for free, just as before.
  • For the Community: This change ensures that TeslaMate remains open and free. It prevents companies from taking the community's hard work and turning it into a closed-source commercial service without giving back.
  • For Developers: If you modify or use TeslaMate, you must now share your source code modifications under the same license.

We believe this step is necessary to protect the project from exploitation and to ensure its long-term sustainability.

Known issues

  • We have received reports from users suffering with "No Data" errors when viewing dashboards in Grafana (#5157).
    This issue is currently assumed to be instance specific and caused by changes in Grafana (v12.1.1 -> v12.4.0). If you are affected please try saving the TeslaMate datasource by clicking on "Save & test" in Grafana -> Connections -> Data sources -> TeslaMate.
  • Dashboards containing a Geofence filter fail to load if no Geofence is defined (#5191). While being a regression in Grafana v12.4.0 most likely it can be fixed by defining at least one Geofence. We will provide a workaround in TeslaMate v3.0.1 until it's fixed upstream.

New features

Improvements and bug fixes

  • feat: use Logger instead of IO.puts in DB check (#5050 - @swiffer)
  • feat: Increase max_header_value_length to support oauth2-proxy (#5031 - @ultravail)
  • perf: Replace positions indexes from BTREE to BRIN to reduce memory usage (#5075 - @ilya-y-synth)
  • feat(grafana): disable update checks as version is handled via docker image (#5115 - @fatbasstard)
  • perf: use static asset compression via brotli and zstandard to enhance HTTP Compression (#5113 - @swiffer)
  • feat: use Grafana 12.4.0 (#4965 - @swiffer)
  • fix(vehicle): update state transition to handle offline scenario after a drive end with no network (#5152 - @jlestel)

Build, CI, internal

  • build(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /website (#5059)
  • build(deps): bump js-yaml from 3.14.1 to 3.14.2 in /website (#5043)
  • build(deps): bump crate-ci/typos from 1.39.0 to 1.40.0 (#5055)
  • build(deps): bump DeterminateSystems/update-flake-lock from 27 to 28 (#5056)
  • build(deps): bump express from 4.21.2 to 4.22.1 in /website (#5060)
  • build(deps): update flake.lock (#5027)
  • fix(website): Bump node-forge to 1.3.3 to resolve CVE-2025-12816, CVE-2025-66030 and CVE-2025-66031 (#5071 - @JakobLichterfeld)
  • chore(website): bump qs to fix CVE-2025-15284 (#5091 - @JakobLichterfeld)
  • build(deps): bump react and react-dom from 19.2.0 to 19.2.3 in /website (#5084)
  • build(deps): bump nix-community/cache-nix-action from 6.1.3 to 7.0.0 (#5082)
  • build(deps): bump actions/cache from 4.3.0 to 5.0.1 (#5077)
  • build(deps): bump crate-ci/typos from 1.40.0 to 1.41.0 (#5079)
  • build(deps): bump actions/stale from 10.1.0 to 10.1.1 (#5080)
  • build(deps): bump lodash from 4.17.21 to 4.17.23 in /website (#5109)
  • build(deps): bump lodash and @geoman-io/leaflet-geoman-free in /assets (#5126)
  • build(deps): bump react and react-dom from 19.2.3 to 19.2.4 in /website (#5124)
  • build(deps): bump crate-ci/typos from 1.41.0 to 1.42.3 (#5123)
  • build(deps): bump docker/login-action from 3.6.0 to 3.7.0 (#5119)
  • build(deps): bump nix-community/cache-nix-action from 7.0.0 to 7.0.2 (#5122)
  • build(deps): bump actions/cache from 5.0.1 to 5.0.3 (#5120)
  • build(deps): bump webpack from 5.102.0 to 5.105.0 in /website (#5135)
  • feat(nix): use nixos-25.11 (#5062 - @JakobLichterfeld)
  • chore(nix): update flake.lock with new dependency revisions (#5062 - @JakobLichterfeld)
  • build(nix): use elixir 1.19 to align with dockerfile (#5062 - @JakobLichterfeld)
  • chore: reorganize CLI definition to avoid elixir 1.19 warning (#5062 - @JakobLichterfeld)
  • build: update db_connection to version 2.9.0 (#5062 - @JakobLichterfeld)
  • build: use Elixir 1.19.5 OTP 26 (#5130 - @swiffer, @brianmay and @JakobLichterfeld)
  • build(deps): bump qs from 6.14.1 to 6.14.2 in /website (#5140)
  • build(deps): update & bump mix deps (#5139 - @swiffer)
  • build(deps): bump ex_cldr from 2.42.0 to 2.46.0 (#5053 - @JakobLichterfeld)
  • build(deps): bump floki & gettext, remove override on ranch, require elixir 1.19 (#5142 - @swiffer)
  • feat(grafana-home-dashboard): change cors proxy (#5143 - @swiffer)
  • build(deps): update flake.lock (#5141)
  • build(deps): relax requirement for elixir to allow 1.17+ and clarify what is supported (#5145 - @swiffer)
  • build(deps): update flake.lock (#5148)
  • build(deps): update flake.lock (#5154)
  • build(deps): bump ajv in /website (#5149)
  • chore(website): bump mimimatch to version 3.1.5 to solve CVE-2026-26996, CVE-2026-27903 and CVE-2026-27904 (#5155 - @JakobLichterfeld)
  • chore(website): bump serialize-javascript to version 7.0.3 to solve CWE-96 (#5156 - @JakobLichterfeld)

Dashboards

  • feat(overview): show battery heating on overview dashboard as well (#5090 - @kaistian)
  • feat: optimize reduced_range query and always show consumption kwh in drives dashboard (#5089 - @swiffer)

Translations

Documentation

  • docs(traefik): update to v3.6 as 3.6.1 solves issues with docker 29.0 (#5034 - @JakobLichterfeld)
  • docs: fix the formatting of the DATABASE_SOCKET_DIR description (#5026 - @IngmarStein)
  • docs: fix external image rendering with Traefik SSL (#5074 - @swiffer)
  • docs(home_assistant): default tesla_active_route_distance_to_arrival sensor to kilometers (#5086 - @kenni)
  • docs: Remove hints to now deprecated Grafana VS Code Extension in contribution guide (#5110 - @swiffer)
  • docs: Add reference to TeslaMate Achievements (#5134 - @crstian19)

complete changelog

v2.2.0

06 Nov 08:17
904bf70

Choose a tag to compare

As always, there have been many improvements. We now support a proxy for the OpenStreetMap API. If you live in a geo-blocked location, this could simplify your setup. Your tokens are now more secure.
We use the latest dependencies and support PostgreSQL 18 (To update, back up your data and follow the guide. Please note: Volume mounts have changed in PostgreSQL18, see point 4 of the guide.).
We also avoid memory bloat on misconfigured Docker hosts. If your host has limited hardware, this will greatly improve your experience.
The dashboards have been improved in terms of performance, and all dashboards now function as expected when set to miles.

Enjoy it.

New features

Improvements and bug fixes

  • sec: set tokens to private schema (#4968 -@brianmay)
  • build(deps): use elixir 1.18.4, node 22 & debian trixie (#4889 - @swiffer)
  • fix: allow using different PostgreSQL port than default when using socket_dir connection (#4979 - @jaypark0006)
  • perf: use anti join for short-circuit evaluation when getting non streamed drives (#4990 - @swiffer)
  • feat: Add ulimit cap to prevent memory bloat in some misconfigured versions of Docker/containerd Hosts (e.g. on Debian 13) (#5025 - @JakobLichterfeld)
  • feat: officially support PostgreSQL 18 (#4890 - @swiffer)

Build, CI, internal

  • build(deps): update flake.lock (#4911)
  • build(deps): bump @docusaurus/core from 3.8.1 to 3.9.1, @docusaurus/preset-classic from 3.8.1 to 3.9.1, bump dependencies in /website (#4977 - @JakobLichterfeld)
  • build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (#4933)
  • build(deps): bump actions/cache from 4.2.3 to 4.3.0 (#4972)
  • build(deps): bump nixbuild/nix-quick-install-action from 32 to 34 (#4974)
  • build(deps): bump docker/login-action from 3.4.0 to 3.6.0 (#4975)
  • build(deps): bump crate-ci/typos from 1.34.0 to 1.37.0 (#4976)
  • build(deps): bump finch from 0.19.0 to 0.20.0 (#4929)
  • build(deps): update flake.lock (#4991)
  • build(deps): update flake.lock (#4997)
  • build(deps): bump actions/stale from 9.1.0 to 10.1.0 (#5019)
  • build(deps): bump @docusaurus/core from 3.9.1 to 3.9.2, @docusaurus/preset-classic from 3.9.1 to 3.9.2 and dependencies in /website (#5020)

Dashboards

  • fix: charging stats now correctly calculate cost when set to miles (#4983 - @DrMichael)
  • perf: Optimize Grafana query for trip view to leverage indexes more effectively (#4964 - @jaypark0006)
  • feat: add shared buffers size to db info dashboard (#4989 - @swiffer)
  • fix: cast to numeric instead of integer when converting from km to miles to avoid rounding issues in all dashboards (#4986 - @swiffer)
  • fix: correctly determine charging phases in charge detail dashboard (#4988 - @swiffer)

Translations

  • i18n: add spanish car location translation (#4892 - @jpizquierdo)
  • i18n: add missing italian translations, correct the gender of some words and use more uniform translations (#4920 - @giovaorama)
  • i18n: add thai car location translation (#4956 - @tomzt)
  • i18n: update Traditional Chinese translations with missing translations and to avoid PRC terms and ensure consistency across UI strings (#4995 - @occultsound)

Documentation

  • docs: for new installs, pin postgres container to debian trixie to avoid collation version mismatch (#4901 - @swiffer)
  • docs: Update FreeBSD and Debian instructions to use GRAFANA_API_TOKEN for the dashboard writes (#4942 - @uqs)
  • docs: rename Home Assistant object_id to default_entity_id to be compliant with latest HA (#4980 - @MrPaulAR)
  • docs: explain MQTT in Readme via link to Wikipedia (#4985 - @DanCard)
  • docs(dev): provide guidelines for checking dependency updates before merging (#4969 - @JakobLichterfeld)
  • docs: add domain prefix to Home Assistant default_entity_id (#5014 - @gym22)
  • docs: add star history (#5024 - @JakobLichterfeld)
  • docs: bump Traefik to v3.5 and enable http3 in advanced guide (#5023 - @swiffer)
  • docs: add docs for volume mount change with PostgreSQL 18 (#4890 - @swiffer)

complete changelog

v2.1.1

16 Aug 08:29
73f12e8

Choose a tag to compare

As always, there have been many improvements. We now use the latest version of Grafana (12.1.1) and have enhanced the database migration process to include the new ascent and descent values, allowing successful migration even when entries are faulty. Previously, this prevented the migration from succeeding for some users. This highlights the importance of user feedback. Such cases never occurred in our testing.

Enjoy it.

New features

Improvements and bug fixes

  • feat(webview): show offline duration in extended view on mobile as well to improve UX (#4848 - @JakobLichterfeld)
  • feat: use Grafana 12.1.0 (#4855 - @swiffer)
  • feat(nix): use datasources.settings.datasources to allow merging Grafana sources from multiple modules (#4870 - @JakobLichterfeld)
  • fix(nix): correctly set default Grafana dashboard path (#4870 - @JakobLichterfeld)
  • feat(nix): allow disabling default Grafana dashboard with setDefaultDashboard option (#4870 - @JakobLichterfeld)
  • fix: set descent and ascent to 0 when out of bounds (> 32767 meters) to ensure migration succeeds (#4882 - @swiffer)
  • feat: use Grafana 12.1.1 (#4886 - @swiffer)
  • feat(webview): update wording to View car location on Google Maps for clarity (#4875 - @JakobLichterfeld)

Build, CI, internal

  • style(issue-template): typo fix in Unraid (#4842 - @JakobLichterfeld)
  • build(deps): update flake.lock (#4858)
  • build(deps): bump DeterminateSystems/update-flake-lock from 25 to 27 (#4864)
  • build(deps): bump react and react-dom from 19.1.0 to 19.1.1 in /website (#4865 - @JakobLichterfeld)
  • build(deps): bump ecto_sql from 3.12.1 to 3.13.2 (#4863)
  • build(deps): update flake.lock (#4867)
  • build(deps): bump phoenix_ecto from 4.6.4 to 4.6.5 (#4862)
  • build(deps): update flake.lock (#4881)
  • build(deps): update flake.lock (#4888)

Dashboards

Translations

Documentation

complete changelog

v2.1.0

21 Jul 12:24
92b504b

Choose a tag to compare

As always, there are many improvements. We have introduced new database fields to store the total ascent and descent of a drive, which can be used in the drives and efficiency dashboards. This is a valuable addition for users who wish to analyze their driving patterns and performance in hilly areas, and it enhances the efficiency metrics.
The database will be migrated automatically to include these new fields. Depending on your host and the size of your database, this process may take some time. Please be patient and wait for the process to finish (depending on your host, it takes a few seconds to about a minute on a Raspberry Pi 3B+ with a 1 GB database).

We now use the latest Grafana 12.0.1, and you can now open a Google Maps link for the car's current location by clicking on the location marker icon in the webview to quickly navigate to your car's location, without having to open the Tesla app.
Additionally, we have fixed some issues with the consumption for drives with a positive SOC difference, and we have aligned the usage of time-range filters to resolve consumption gross issues in some edge cases.
The charging stats are now even more consistent. We now detect consecutive charges and exclude them from the charge / discharge stats (PV surplus charging: we've got you covered).

Enjoy it.

New features

  • feat(webview): add map marker icon to open Google Maps link with car's current location (#4838 - @JakobLichterfeld)
  • feat: add total ascent & descent to the drive table to use in the drives dashboards (#4798 - @swiffer)
  • feat(nix): add idiomatic backup and restore scripts (#4835 - @JakobLichterfeld)

Improvements and bug fixes

  • fix(nix): update cldr hash (#4723 - @brianmay)
  • feat: use Grafana 12.0.0 (#4721 - @swiffer)
  • feat: use Grafana 12.0.1 (#4756 - @swiffer)
  • feat: preserve the folders when restoring dashboards (#4715 - @IngmarStein)
  • feat: use Grafana 12.0.1+security-01 (#4799 - @swiffer)
  • feat: use Grafana 12.0.2 (#4805 - @swiffer)
  • feat(mqtt): always publish healthy status and disable retain to prevent stale healthy status via mqtt (#4817 - @allivshits)
  • feat: use the k8s-style API introduced in Grafana v12 if using manual dashboard setup (#4764- @IngmarStein)
  • feat(db-check): allow beta / rc PostgreSQL versions for testing (#4795 - @swiffer)
  • feat: enhance HTTP limits for managing fleets with over 10 vehicles (#4607 - @jlestel)

Build, CI, internal

  • build(deps): bump tzdata from 1.1.2 to 1.1.3 (#4713)
  • build(deps-dev): bump mock from 0.3.8 to 0.3.9 (#4712)
  • build(deps-dev): bump credo from 1.7.11 to 1.7.12 (#4711)
  • build(deps): bump crate-ci/typos from 1.31.1 to 1.31.2 (#4710)
  • fix(nix): update mix dependency hash in nix builds (08fe0ac - @JakobLichterfeld)
  • feat(nix): use nixos-25.05 (#4716 - @JakobLichterfeld)
  • build(deps): update flake.lock (#4716)
  • fix(nix): skip duplicate cldr download to fix build on darwin and improve reproducibility (#4763 - @JakobLichterfeld)
  • build(deps): bump DeterminateSystems/update-flake-lock from 24 to 25 (#4774)
  • build(deps): bump crate-ci/typos from 1.31.2 to 1.32.0 (#4775)
  • build(deps): bump castore from 1.0.12 to 1.0.14 (#4778)
  • build(deps): update flake.lock (#4772)
  • build(deps): bump phoenix_ecto from 4.6.3 to 4.6.4 (#4779)
  • build(deps): bump @docusaurus/preset-classic from 3.7.0 to 3.8.0 in /website (#4776)
  • build(deps): bump @docusaurus/core from 3.7.0 to 3.8.0, @docusaurus/preset-classic from 3.8.0 to 3.8.1, bump dependencies in /website (#4777 - @JakobLichterfeld)
  • build(deps): bump nixbuild/nix-quick-install-action from 30 to 32 (#4813)
  • build(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /website (#4821)
  • build(deps): bump plug_cowboy from 2.7.3 to 2.7.4 (#4816)
  • build(deps): bump crate-ci/typos from 1.33.1 to 1.34.0 (#4814)
  • build(deps): bump timex from 3.7.11 to 3.7.13 (#4815)
  • build(deps): update flake.lock (#4828 - @JakobLichterfeld)
  • build(nix): update mix dependency hash in nix builds (#4828 - @JakobLichterfeld)
  • chore(issue-template): enhance bug report template with additional fields and guidance (#4827 - @JakobLichterfeld)
  • build(deps): bump on-headers from 1.0.2 to 1.1.0 and compression from 1.0.2 to 1.1.0 in /website (#4831)
  • sec(deps): override webpack-dev-server to version 5.2.1 to fix CVE-2025-30360 (#4833 - @JakobLichterfeld)
  • ci(coverage): explicitly set mix-env to test (322c2a2 and e6931ab - @JakobLichterfeld)
  • fix(mix): add "coveralls.github" to preferred_cli_env to avoid missing task error in CI runs (1c76994 - @JakobLichterfeld)
  • build(deps): update flake.lock (#4834)
  • chore(issue-template): update bug report template to include Unraid as unsupported installation method (#4829 - @JakobLichterfeld)

Dashboards

  • fix: new image on home dashboard as old got removed from Tesla mediaserver (#4702 - @JakobLichterfeld, @swiffer)
  • feat: update image on home dashboard to juniper and back to dark (#4742 - @swiffer)
  • fix: consumption for drives with positive soc diff (#4746 - @swiffer)
  • fix: align usage of time-range filters to fix consumption gross issues in some edge cases (#4787 - @swiffer)
  • feat(dashboards-Charging-Stats): align query conditions and introduce a min duration filter applied to all panels to ensure consistent charging stats (#4791 - @swiffer)
  • feat(dashboards): reliably calculate charging costs per 100 km for shorter periods and align across trip, statistics and charging stats dashboards (#4791 - @swiffer)
  • feat(dashboards): detect consecutive charges and exclude from Charge / Discharge Stats (#4791 - @swiffer)
  • feat(dashboards): introduce slope-adjusted efficiency metric in drives dashboard (#4798 - @swiffer)

Translations

Documentation

complete Changelog

v2.0.0

26 Apr 09:54
c37638b

Choose a tag to compare

This is a breaking change release: TeslaMate uses PostgreSQL as database, this is an external dependency and needs to be updated by yourself. We now require PostgreSQL 16.7 or 17.3 or higher as we are upgrading the bundled earthdistance extension to v1.2. TeslaMate will now fail to start if you are using an older version. Ensure to upgrade your database before upgrading TeslaMate. To upgrade PostgreSQL, you need to follow these instructions:

Note for user which revoked permissions: If the SUPERUSER privilege has been revoked after the initial (manual) installation, it must be temporarily granted for pending earthdistance migrations to succeed. The privilege can then be safely revoked.

As always, there are also many improvements. The webview now shows the TPMS values in the low pressure tooltip. We use the latest Grafana 11.6.1 and have improved the battery health dashboard and aligned the range calculation through the dashboards. Additionally time zone handling has been improved and the date formats are now based on the browser locale.

Enjoy it.

Note for contributors: The default branch was renamed to main. Please update your local repository accordingly (see GitHub hint when visiting teslamate-org/teslamate or GitHub documentation for more information).

Breaking Changes

  • feat: check Postgres version on startup, require 16.7 / 17.3, update earthdistance extension (#4648 - @swiffer)

New features

  • feat: show tpms value to the low pressure tooltip in webview (#4654 - @NirKli)

Improvements and bug fixes

Build, CI, internal

  • build(deps): bump image-size from 1.2.0 to 1.2.1 in /website (#4622)
  • ci: switch to cache-nix-action as Magic Nix Cache is deprecated (#4626 - @JakobLichterfeld)
  • build(deps): update flake.lock (#4603)
  • build(deps): bump crate-ci/typos from 1.30.0 to 1.31.1 (#4611)
  • build(deps): bump docker/login-action from 3.3.0 to 3.4.0 (#4612)
  • build(deps): bump actions/cache from 4.2.2 to 4.2.3 (#4613)
  • build(deps): bump tesla from 1.13.2 to 1.14.1 (#4616)
  • ci(sec): remove pull_request_target workflow triggers to improve sec even further, the downside is that test images are now only created for repo's own PRs (#4637 - @JakobLichterfeld / Thanks to @Firebasky for responsibly disclosing the vulnerability)
  • ci: fix ghcr build (..ddf85e6 - @JakobLichterfeld)
  • ci: ensure ghcr images build correctly even if branch contains backslash (#4655 - @JakobLichterfeld)
  • ci: skip ghcr build for PRs from outside repo (#4660 and 462b568 - @JakobLichterfeld)
  • build(deps): bump estree-util-value-to-estree in /website (#4641)
  • build(deps): update flake.lock (#4653)
  • fix(nix): update mix dependency hash in nix builds (3d08431 - @JakobLichterfeld)
  • ci(dependabot): add ignore rules for path-based dependencies (#4666 - @JakobLichterfeld)
  • sec: upgrade esbuild to 0.25.2 and esbuild-sass-plugin to 3.3.1 to avoid GHSA-67mh-4wv8-2f99 (#4669 - @JakobLichterfeld)
  • build(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /website (#4670)
  • build(deps): bump phoenix_html from 4.2.0 to 4.2.1 (#4667)
  • build(deps): bump ex_cldr from 2.40.2 to 2.42.0 (#4615)
  • build(deps): bump react from 18.3.1 to 19.1.0 and docusaurus/core from 3.4.0 to 3.7.0 in /website (#4618 - @JakobLichterfeld)
  • build(deps): bump phoenix_ecto from 4.6.2 to 4.6.3 (#4333)
  • build(deps): update flake.lock (#4674)
  • fix(nix): update mix dependency hash in nix builds (#4695 - @JakobLichterfeld)
  • chore: rename branch to main (#4700 - @JakobLichterfeld and @adriankumpf)
  • build(deps-dev): bump phoenix_live_reload from 1.5.3 to 1.6.0 (#4699)
  • build(deps): bump tortoise311 from 0.12.0 to 0.12.1 (#4698)
  • build(deps): bump nix-community/cache-nix-action from 6.1.2 to 6.1.3 (#4696)
  • build(deps): bump floki from 0.36.3 to 0.37.1 (#4697)

Dashboards

  • fix: improve calc for usable (now) in battery health dashboard (#4644 - @swiffer)
  • feat: make use of car filter, add timefilter in locations dashboard (#4647 - @swiffer)
  • fix: use same rated range calculation in updates dashboard as in battery health dashboard (#4682 - @swiffer)
  • fix: explicitly set height of home dashboard background image based on current layout & grafana css (#4681 -@swiffer)
  • fix: set $__timezone explicitly in dashboards to ensure truncation is done with respect to the Grafana timezone (#4684 - @swiffer)
  • fix: issues when using browser locale for date formats (#4662 - @swiffer)
  • fix: widens Date Columns to fully show date strings formatted in US locale (#4662 - @swiffer)

Translations

Documentation

  • chore(issue-template): add PostgreSQL version input and checkbox for latest version check in bug report template (#4643 - @JakobLichterfeld)
  • docs: allow to add energy added to the Home Assistant's Energy tab to measure how much energy each session uses (#4659 - @alexsapran)
  • docs: update changelog with breaking changes description (#4691 - @JakobLichterfeld)

complete changelog

v1.33.0

28 Mar 17:38
999b48a

Choose a tag to compare

As always, there are many improvements.

We now use Grafana 11.6.0 which was release the last days, improved the logging and state transitions, added a new dashboard for database information and improved other dashboards. We also added a new section to the documentation about the Entity Relationship Model (ERM) of TeslaMate. This is a great help for developers who want to understand the data model of TeslaMate and how to extend it.

Enjoy it.

New features

Improvements and bug fixes

  • fix(nix): wait for mosquitto to start before starting teslamate (#4419 - @brianmay)
  • feat: use Grafana 11.4.0 (#4299 - @swiffer)
  • feat: improve logging messages (#4467 - @micves and @brianmay)
  • feat: optimize state transitions (#4473 - @micves and @brianmay)
    • don't try to sleep if power > 0
    • cancel an ongoing suspended state/trying to sleep and go back to online
    • add conditions to enter charging
  • feat: support accessing PostgreSQL on unix domain sockets (#4456 - @j-baker)
  • fix(nix): temporarily disable browser locale in date formats for nix deployment as well (#4480 - @swiffer)
  • feat: Grafana 11.5.0 (#4509 - @swiffer)
  • feat: Grafana 11.5.2 (#4551 - @swiffer)
  • fix(nix): update mix dependency hash in nix builds. (#4577 - @weiren2)
  • feat: Grafana 11.6.0 (#4570 - @swiffer)

Build, CI, internal

  • build(deps): bump castore from 1.0.9 to 1.0.10 (#4414)
  • build(deps): bump @docusaurus/preset-classic from 3.5.2 to 3.6.3 in /website (#4412)
  • build(deps): bump path-to-regexp from 1.8.0 to 1.9.0 in /website (#4424)
  • build(deps): bump crate-ci/typos from 1.27.0 to 1.28.1 (#4411)
  • build(deps): bump tesla from 1.13.0 to 1.13.2 (#4416)
  • build(deps): bump postgrex from 0.19.1 to 0.19.3 (#4415)
  • build(nix): switch to nixos-24.11 (#4420 - @brianmay)
  • build(deps): update flake.lock (#4427)
  • fix: update mix deps hash to fix build error on recent NixOS 24.11 update (#4428)
  • build(deps): bump path-to-regexp and express in /website (#4433)
  • build(deps): update flake.lock (#4440)
  • build(deps): bump actions/cache from 4.1.2 to 4.2.0 (#4465)
  • build(deps): bump phoenix from 1.7.14 to 1.7.18 (#4462)
  • build(deps-dev): bump dialyxir from 1.4.4 to 1.4.5 (#4460)
  • build(deps): bump ex_cldr from 2.40.1 to 2.40.2 (#4461)
  • build(deps): bump crate-ci/typos from 1.28.1 to 1.29.0 (#4464)
  • ci: update actions/cache to v4.2.0 (79107d5 - @JakobLichterfeld)
  • build(deps): bump DeterminateSystems/magic-nix-cache-action from 8 to 9 (#4515)
  • build(deps): bump actions/stale from 9.0.0 to 9.1.0 (#4516)
  • build(deps): bump crate-ci/typos from 1.29.0 to 1.29.5 (#4514)
  • build(deps-dev): bump excoveralls from 0.18.3 to 0.18.5 (#4524)
  • build(deps-dev): bump credo from 1.7.8 to 1.7.11 (#4523)
  • build(deps): bump @docusaurus/preset-classic from 3.6.3 to 3.7.0 in /website (#4518)
  • build(deps): bump serialize-javascript from 6.0.1 to 6.0.2 in /website (#4548)
  • build(deps): update flake.lock (#4455)
  • style(markdownlint): allow 'details', 'summary', and 'TabItem' elements (d5b1a55 - @JakobLichterfeld)
  • style(environment_variables): remove multiple whitespaces (603ff82 - @JakobLichterfeld)
  • style(docs): fix line length fenced-code-style, no bare url links, multiple whitespaces, alt text, header style (1972584 - @JakobLichterfeld)
  • build(deps): bump actions/cache from 4.2.0 to 4.2.2 (#4564)
  • build(deps): bump crate-ci/typos from 1.29.5 to 1.30.0 (#4563)
  • build(deps): bump castore from 1.0.11 to 1.0.12 (#4565)
  • build(deps): bump plug_cowboy from 2.7.2 to 2.7.3 (#4566)
  • build(deps): bump prismjs from 1.29.0 to 1.30.0 in /website (#4582)
  • build(deps): bump @babel/runtime from 7.26.0 to 7.26.10 in /website (#4589)
  • build(deps): bump @babel/helpers from 7.26.7 to 7.26.10 in /website (#4588)
  • build(deps): bump @babel/runtime-corejs3 in /website (#4587)
  • build(deps): update flake.lock (#4562)

Dashboards

  • fix: for battery health dashboard erroring out if no charge data has been collected so far (#4448 - @swiffer)
  • fix: url for releases in home dashboard (#4452 -@FLX3009)
  • feat: add 0 as lower bound for gauge to ensure proper scaling (#4498 - @swiffer)
  • feat(dashboards): improve elevation scale in drive stats (#4546 - @swiffer)
  • feat: add Database Information Dashboard (#4578 - @jheredianet)

Translations

Documentation

  • doc: bump elixir based on availability (#4431 - @swiffer)
  • doc: align node req with what is used in CI (#4430 - @swiffer)
  • doc: added missing topic "charging_state" in mqtt doc (#4466 - @Beme99)
  • docs: Grafana 11.4 for manual install on FreeBSD (#4474 - @swiffer)
  • doc: Fixing typo for sensor psi calculation (#4470 - @Phazz)
  • doc: Simplify Home Assistant sensors, add device_class to allow changing measurement units (#4472 - @longzheng)
  • docs: add reindexing instructions for database maintenance to improve performance in case of index bloat due to frequent updates or deletions (#4558 and #4574 - @jheredianet)
  • docs: Update projects using TeslaMate (#4573 - @jheredianet)
  • docs: fix and rearrange screenshot links (alphabetical) (#4580 - @swiffer)
  • docs: enhance TeslaFi import documentation with updated Python script for bulk data export (#4575 - @TheLinuxGuy and @JakobLichterfeld)
  • docs: add Entity Relationship Model section to development documentation (#4586 - @DrMichael and @JakobLichterfeld)

complete changelog

v1.32.0

23 Nov 11:38
0ec408c

Choose a tag to compare

As always, there are many improvements. The focus has been on quality of life improvements and standardization across all dashboards. Enjoy it.

New features

Improvements and bug fixes

Build, CI, internal

  • ci: remove unknown flag --ref for gh cache delete in cleanup_caches workflow (3a515df - @JakobLichterfeld)
  • build(deps): bump actions/checkout from 4.2.1 to 4.2.2 (#4340)
  • build(deps): bump actions/cache from 4.0.2 to 4.1.2 (#4341)
  • build(deps): bump cachix/install-nix-action from 27 to 30 (#4342)
  • build(deps): bump tesla from 1.12.1 to 1.13.0 (#4335)
  • build(deps): bump floki from 0.36.2 to 0.36.3 (#4336)
  • feat: add CONTRIBUTING file to exclusion lists for treefmt (#4359 - @JakobLichterfeld)
  • ci: create PR to update flake.lock every saturday (#4372 - @brianmay)
  • ci(fix): correct permissions for flake.lock updates (c673ef3- @JakobLichterfeld)
  • ci: update flake.lock workflow with appropriate labels for created pr's (54c41c1 - @JakobLichterfeld)
  • build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /website (#4391)
  • build(deps): bump crate-ci/typos from 1.26.0 to 1.27.0 (#4344)
  • build(deps): update flake.lock (#4381)

Dashboards

Translations

Documentation

docs: add contributing guidelines link for GitHub (#4345 - @JakobLichterfeld)
docs: update Home Assistant integration documentation with configuration URL and model name hints (#4359 - @JakobLichterfeld)
docs: Remove availability from Home Assistant MQTT sensors, as it can be misleading and prevent sensors from receiving updated values (#4362 - @longzheng)
docs: Introducing TeslaMate Guru on Gurubase.io (#4390 - @kursataktas)

complete changelog