Each Tesla car produces a wealth of data that can be accessed by the owner. There are a number of ways to capture this information and use it to produce statistics on your car. There are however some important considerations when doing this, the most important being security as providing any 3rd party with your Tesla email address and password or to a lesser but still significant degree, your Tesla Token is a security risk.
We run through the different options and help get started with each of these approaches.
Before we go into the different options its worth explaining a little about how all these systems work. Your Tesla app uses an API to connect your phone, via the internet, to Tesla which in turn connects to the car. This API has been hacked (maybe deciphered is a better word) and this enables the car to be interrogated by mimicking the messages the official app sends to the car.
For the API to work and determine which car you want the data for you need to send, via the API, either your Tesla email and password or a "Tesla token" depending on the API request. Most requests require just the token however this can only be found by using one of the other API requests and sending the email and password.
Tesla also has 2 different type of APIs. There is a REST API which is well documented and mode details can be found on the Tesla API github page. This is used by most of the data loggers. While this has all the possible data from the car, the disadvantage is that to detect if the car is moving it needs to make continuous calls to the car preventing the car falling asleep. Services like Teslafi try to work around this by making longer and longer intervals between the API calls when the car is parked so that the car has time to fall asleep or allows time windows to be where the car is likely to sleep. A major disadvantage of this is that you can miss data if you drive away after, say, 20 minutes. There is a second web socket streaming API. As soon as the car moves, a message is pushed from the car to Tesla a few times per second with a subset of information. However, the streaming API lacks more extensive data such as climate / charging info. The best data loggers rely on the streaming API to signify the car is awake and then start polling the REST API for the data. To date, Teslamate is thought to be the only software where this is implemented well.
We are mainly focusing on data collected via the API. There is another set of data that can be obtained from the car by physically plugging into the car. We touch upon this briefly but it is a more advanced option.
We're putting this right up front as we thing understanding this is VERY important and why we make the recommendations we do. Tesla do not have 2 factor authorisation (ie 2 independent confirmations for a log in to be successful) nor a notification when anything or anybody logs into your car. This is not good IT security practice. The reason why this is important is because with the token, your car can be located and opened without triggering an alarm, and with the email and password, the car can be started and driven, and your MyTesla account is accessible allowing further problems.
The risk is somewhat limited when using the Tesla app as the connection is secure and only your mobile device and Tesla should be able to decode the details, however if your device has been compromised then the communication can be intercepted and the account name, password and token can be obtained. This is how the API was cracked in the first place.
The consequence here is any 3rd party that is given any of your details have the same access as you do. Your security is now only as good as theirs. There are many home brew developers making cheap apps for data logging, extending siri commands, etc but in most cases we have no idea how robust their security is or even whether these apps are there only to fish for your details. Some sites suggest only providing the token as this cuts down the extent of the potential weaknesses, but this still leaves weaknesses especially around contents theft. Obtaining your token and few sites offer any suggestion other than to use an online service which just moves the problem to this alternative. If you do want to find your Tesla token we have written a guide on How to generate your Tesla Token which we believe is the safest way to do so.
There are broadly 3 different types of data loggers
Online data loggers such as Teslafi, ask you to log into their systems and provide your details. There are a number of options that you can configure regarding sleep, units, etc and this has become a popular option. Teslafi use the collected information (your information) and use this in a number of ways including generating notifications when new software updates have been detected. They also try to pool data to show degradation and charge rates across a number of similar cars. While some of these features may be beneficial to some, the security concerns we have raised regarding the limitations of the Tesla API mean we can not recommend this approach. Teslafi do claim to take a number of reasonable steps to protect the data however we believe the fundamental issue is Teslas security over which they have no control and the other options we recommend are safer and give the owner more control, although a little harder to set up.
Our view is the same for ALL web hosted services or applications that request your Tesla login details or token, we only mention Teslafi as it is the best known.
The primary advantage such a service provides is that you simply need to create an account and log in.
The second option is a locally hosted service. This means the service is run on your own hardware and you have complete control over the device. Your security is as good as your own local security.
While a locally hosted service sounds complex and expensive, it need not be. These options can be run standalone on something like a Raspberry Pi which costs about the same as an annual subscription to Teslafi. The install can be performed in under 15 mins following a simple set of instructions using Docker, which is a standard approach hosting such applications. Alternatively you may already have existing hardware which is suitable such as a Network attached storage (NAS) or any other computer systems that supports Docker, in which case the option is free.
The two most common loggers are TeslaMate and TeslaLogger which share their origins. The two are very similar although we currently feel TeslaMate is easier to get going while TeslaLogger has more extensive options such as the ability to combine API data with that collected from within the car by apps such as scanmytesla.
The primary advantage of this approach is the security plus the ability to develop your own dashboards as the data is locally available to you. You can also combine these systems with home automation type software running locally and so these provide a platform for wider integration.
One quick tip for Teslamate is to geofence your home location and set the cost of your electricity, this will enable home charging costs to be automatically calculated for you.
Because of the nature of the locally hosted options which run inside an application called Docker, these can be configured anywhere a Docker environment is available, including on a cloud server. Cloud services vary in price but can be had for relatively small amounts of money on a subscription basis, and for those who already have access to a suitable web hosting package the incremental cost could be negligible.
The disadvantages of the cloud environment are largely the same as for a hosted environment, however we believe the risks are smaller on a personal environment as malicious activity is more likely to be focused on sites with many users data.
The advantage of the cloud hosted is you can leave it running, you have no need for a local web connection 24/7 and access to the reports while out and about are slightly easier. Our preference however would be the locally hosted solution as for most people the advantages of home integration or a trial and error approach on a local Raspberry Pi is more fun and more secure.
In car data logging by monitoring the cars canbus is a fairly specialist activity and of a different order of complexity to perform.
The advantages are primarily the depth of information that can be extracted. This can be instantaneous power output, speed, a variety of temperatures from different components, individual battery cell voltages and so on. For some, this type of information is fantastic, especially if they are trying to trouble shoot an issue. For others is just curiosity and they enjoy the challenge of setting the car up and actually obtaining the data even if there's little meaningful benefit of doing so,
To do so you need to buy a canbus adapter cable to ODBC, and an ODBC transmitter. These are fairly readily available although you need to ensure you get the correct canbus connector for your age and model of car. Access on the MS and MX is relatively easy through the removal of a small trim part beneath the large screen.
To make sense of the data stream software such as Scanmytesla is required which will translate all the various data codes into more meaningful dashboards and reports for the owner. As mentioned above, scanmytesla data can also be combined with teslalogger to mix the real time data streams and the broader data available via the API to give a more comprehensive view of the car, although the configuration of such a setup is not trivial.