Skip to content

jheredianet/Teslamate-CustomGrafanaDashboards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TeslaMate Custom Grafana Dashboards

StargazersContributorsForksIssuesDiscussionsMIT License

This is a project with Custom Grafana Dashboards, created especially to work with a Teslamate installation. So the main requirement for these dashboards to work, is to have a Teslamate running instance.

TeslaMate

Teslamate is a powerful, self-hosted data logger for your Tesla.

  • Written in Elixir
  • Data is stored in a Postgres database
  • Visualization and data analysis with Grafana
  • Vehicle data is published to a local MQTT Broker

How to Auto-import these Custom Dashboards

In order to auto-import all the dashboard files from this repository, considering that your are using the official Teslamate Docker install documentation guide, proceed as follows.

Note: If you are using Teslamate without Docker you may skip these section and proceed to import manually.

  • The following command will clone the source files from this repository. This should be run in an appropriate directory within which you would like to keep it. You should also record this path and provide it later in the following steps. To keep it easy, you may run this your home path (~/) or modify it accordingly.
git clone https://github.com/jheredianet/Teslamate-CustomGrafanaDashboards.git
  • Edit your Teslamate "docker-compose.yml" file and add these two new lines at the end of the "volumes" section of the grafana container
services:
  ...
  ...
  grafana:
    ...
    ...
    volumes:
      - teslamate-grafana-data:/var/lib/grafana
      - ~/Teslamate-CustomGrafanaDashboards/customdashboards.yml:/etc/grafana/provisioning/dashboards/customdashboards.yml
      - ~/Teslamate-CustomGrafanaDashboards/dashboards:/TeslamateCustomDashboards
  • Save your file and then recreate Grafana container (docker-compose up -d)
  • Browse the Grafana Dashboards from the Web and you should have a new "TeslaMate Custom Dashboards" folder

Using other path for repository

Attention! On some VPS from certain providers like Google GCC, the user running docker engine is not the current user so it's home folder is different, or maybe you just want to use a specific folder for your data. If this is the case, it's better to use the full path of the repository where you cloned it, instead of using the home path of the current user (~/). So, be sure to modify the path of the volumes section accordingly, as the sample given below:

services:
  ...
  ...
  grafana:
    ...
    ...
    volumes:
      - teslamate-grafana-data:/var/lib/grafana
      - /some/path/Teslamate-CustomGrafanaDashboards/customdashboards.yml:/etc/grafana/provisioning/dashboards/customdashboards.yml
      - /some/path/Teslamate-CustomGrafanaDashboards/dashboards:/TeslamateCustomDashboards

How to update the Dashboards

If you want to be sure that you are using the latest version of the Dashboards:

  • Pull again from the repository
git -C ~/Teslamate-CustomGrafanaDashboards pull
  • Then restart Grafana container
docker compose restart grafana  

Or (if you are using a previous docker version)

docker-compose restart grafana  

How to use these Custom Dashboards

In order to use these dashboards, once imported, you may want to go to the Grafana "Browse" option (from the left vertical bar), from there you will see a new folder with the imported dashboards.

Browse Custom Dashboards

This Custom Dashboards have a special label so they don't get mixed up with the Teslamate defaults dashboards to distinguish easier and group together. When you are in a Custom Dashboard you will see in the upper right corner, a drop-down button from you may access the rest dashboards as well.

DropDown


How to manually import these custom dashboards

The following steps let you import the JSON files into your setup if you don't want to auto-import them:

  • On Grafana (from Teslamate instance), Browse Dashboards then Import...
  • Upload JSON file or import via panel json by pasting the raw content of te JSON file.
  • On the next screen you may name the dashboard as you wish or accept the suggested one.
  • Try to keep UID as it is, because it could be linked inside the dashboard and to avoid duplicates UIDs.
  • Finally, press the "Import" button

Tips on Dashboards

Have in mind that each dashboard may have an "Information" icon (as shown in the following image). If you point on it, you'll have aditional information on the current panel. Try to check it while you are browsing or analizing your data.

InfoIcon


Screenshots

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.

Degradation is just an estimated value to have a reference, measured on usable battery level of the last 5 charging sessions, with enough kWh added (in order to avoid dirty data from the sample), calculated according to the rated efficiency of the car. So, it's important that you have at least one charge session with enough kWh. On the other hand, you'll see a plotly chart that represents the evolution of the car's battery capacity during its entire lifetime.

Finally, there is an important improvement for those who have not used Teslamate since they got their new car, or for those who have bought it second hand. Now it is possible to set the max range to 100% and the battery capacity of the car battery when it was new in order to get a better and accurate estimation.

Battery Health

This dasboard is used to browse your charges by Geofence, Location, Type, Cost and Duration in order to have an accurate Total of kWh added and their respective costs.

Browse Charges

This dashboard is meant to have a look of all the charges in a given period (last 10 years by default). You can see the distance driven, number of charges, total charging cost, etc., both in summary or in separated lists.

You can expand/collapse the rows as needed.

From the Monthly Stats row, you will have a table with links to other Teslamate Dashboards to have a look on a specific period, charge or trip.

Charging Costs Stats

This dashboard is meant to have a look of the charging curve sessions on Tesla Supercharges or other Fast Charging Station. Also, you can see number of fast charging sessions you've done on each type of chargers and the count of max power (kW) reached on a session as shown in the following example.

Charging Curve Stats

This dashboard has a table with all the trips you've made between charges sesions, so you can browse the longest or shortest mileage you travel.

You may also take a look to a specific trip from the initial charge session (before the trip) to the end of the of the charge session (after the trip), through the link in the first column that will take you to the TeslaMate Trips dashboard.

Continuous Trips

Load this dashboard to while you are in a charging sesion. When you open this dashboard it will show the last 15 minutes, but you should click the "Current Charge" button at the top right corner, to enter in Kiosk mode:

  • If you are charging, you will see the information from the start time of the current charge session until now and it will refesh automatically every 30 seconds.
  • If you are just browsing (not charging) you will see the information of the last charge session.

Current Charge View

This is a special dashboard to load while driving. When you open this dashboard it will show the last 15 minutes, but you should click the "Current Drive" button at the top right corner, to enter in Kiosk mode:

  • If you are driving, you will see the information from the start time of the current drive until now and it will refesh automatically every 30 seconds.
  • If you are just browsing (not driving) you will see the information of the last drive.

Current Drive View

This dasboard is just to see the current state of the car with the last data recorded by TeslaMate.

Additionally, you can see the states stats of the selected period.

Current State

Unlike the other dashboards, this is a specific one to view database information: size, number of records, indexes, and generic information on drives and charges.

Database Information

This dasboard is browse your DC charge sessions by charger carriers.

It's important that you have Geo-Fences added related with the name of the carrier you have recharged your car, or you may want to edit periodically the name field of the addresses table, so that it contains its name.

For example, if Teslamate geolocates the name as "Esso Purley Way" you may modify it to "Esso Purley Way - IONITY" or "IONITY Esso Purley Way", then you can filter using the filter textbox IONITY to show all the charging curves of all charging sessions at that carrier.

DC Charging Curves By Carrier

With this dashboard you may find your incomplete drives or charges that have been interrupted by the connection or any other issue. So you may follow the official guide to fix it.

Incomplete Data

With this dashboard you may analize your mileage and number of drives by year, month, week or day.

The dashboard shows a table with the selected period, time driven, distance, number of drives and efficiency then a bar chart to have a better look for comparison.

Mileage Stats

In this dashboard you can browse the speed rates by segments, based on terrain type: Flat, Uphill or Downhill. This way you can see the average consumtion by speed and its average distance. Likewise, you can see the Top speeds you reached and how long it lasted.

Speed Rates

This dashboard is meant to analize a drive based on a date you select, then you can pass the pointer over the lines in graph to see data details and a blue point in the map tranking the route. With this option you can analized a specific point location in the map, to see the speed, power, SOC, elevation and if battery heater was on.

Be aware that the drive you select in the dropdown list from the top could be outside the time range of the Timeline graph, if its the case you have to click on the "Zoom to data" button on the graph in order to update it.

Tip: On Grafana you can press "h" to get a keyboard shortcuts if you want to change the current Zoom out time range or use the mouse to select/change the time range.

Tracking Drives

Contributing

The following dashboards, queries and design are the result of many tests and hours of work. Feel free to take them for your own personal use.

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you are able to contibute or improve this project, please fork the repository and create a pull request. I'll really apreciate any enhancement or suggestion. Don't forget to give the project a star! Thanks again!

Steps to create a pull request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add some NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

Do not take the dashboards much less upload or merge them to other repositories as if the original idea were yours, nor do you share it on social media without mentioning the author. Please, respect the ingenuity and work of others. Enjoy!

Donations

If you like my work and want to support me, buying me a coffee would be greatly appreciated! Your support helps me to keep creating and improving these dashboards. Thank you! Paypal Donate
Other way to support me is to use my referral link to purchase a Tesla product and get Credits you can redeem for exclusive awards like Supercharging miles, merchandise, and accessories. Tesla referral link

Credits

License

Licensed under the MIT license.