TeslaTasks

Manual

You have to connect one or two Google calendars to your car only once, after that everything is controlled from those Google calendars by having appointments with commands in their summary.

Setup

The first step is to connect Google Calendar to your car. For this use REGISTER! link in the menu.

First you will have to login to your Tesla account, either using username and password, or provide an access token. If you use the latter, it is wise to also provide a refresh token, so the access token can be renewed. Click the info-icon in the application for more details.

After logging in you’ll see a list of vehicles associated with this account; select one by clicking on the connect button. This is also where you can remove your account if you decide to no longer use TeslaTasks.

After selecting a car you are able to configure an optional email address (for reporting what the car is instructed to do), and the URLs of the Google Calendars that are associated with this car. Clicking on the info-icon will give a detailed description how get that URL.

There are two calendars that can be connected:

  • Dedicated – where each appointment will trigger actions on your Tesla.
  • Annotated – where only appointments that have the “@TT” annotation in the summary trigger actions on your Tesla.

Then press connect and you are all set up. You now do not need to visit this page again, everything is done through appointments in your calendar.

Usage

You can connect two calendars to your car;

  • Dedicated – where each appointment will trigger actions on your Tesla, the summary contains the command. Very suited for repeating actions like charging at night.
  • Annotated – where only appointments that have the “@TT” annotation in the summary trigger actions on your Tesla. The annotation can have an offset in minutes and/or a command, like so: “@TT-30:defrost“, which will start defrosting your car 30 minutes prior to the start of the appointment. The annotation should either be present at the end of the summary, or terminated by a period.

The command can consist of:

  • Nothing; an empty command is the same as “precond”.
  • precond [temp [then temp]] – start preconditioning for the duration of the appointment to the preset temperature, optionally the temperature can be specified. If the temperature is specified, it is possible to reset the temperature after the appointment has ended.
  • defrost – turn on all heating to max for the duration of the appointment.
  • charge [level% [then level%]] – start charging for the duration of the appointment or until the preset charge level is reached, optionally the charge level can be specified. If the charge level is specified, it is possible to reset the charge level after the appointment has ended.
  • sentry – activate sentry mode for the duration of the appointment, e.g. at home during the night.
  • lock doors – lock all doors at the start of the appointment.
  • vent windows – put the windows in vent position, and close them at the end of the appointment (if available in the car).
  • vent roof – put the sun roof in vent position, and close it at the end of the appointment (if available in the car).
  • silent – do not send an email about the commands that were sent to your car.
  • (un)mute – do not email feedback of commands after the “mute” keyword.

You can concatenate multiple commands, separated by a comma like so: “lock doors, close roof, sentry”.

Preconditioning

The most basic appointment will activate the air conditioning system in your car to the currently set temperature:

The car will now preheat from 9 to 10 am, but also the battery pack will be prepared for driving. If it is hot outside, the car will be cooled. It is also possible to specify the temperature, this is done in the unit your car is configured in, either Celcius or Fahrenheit.

You optionally can specify the temperature that is set after the appointment has ended, using the ‘then’ keyword:

The better way to get rid of ice is using “defrost”; this will turn on all heating to the maximum setting for the duration of the appointment.

Gotcha: one of the weird behaviors of the Tesla API is that if you turn off preconditioning, the car does not simply turn off its AC activities (cooling or heating), but turns off the AC completely. You will notice this when you enter the car and the temperature is grey. You manually will need to tap the temperature to enable automatic AC again. This is why I choose to schedule my preconditioning to end after I’m pretty sure I’m in the car. The end event is then ignored (because the car is not in P), and the AC will not be disabled. I still hope Tesla will change the way the end-preconditioning (or defrosting) API call is handled by the car.

Charging

Another usage is to schedule charging. This is done by typing ‘CHARGE’ in the title:

This will start charging at 1 am, and stop when the car is either fully charged, or at 4 am. It is possible to specify the charge level from 0% to 100%:

Optionally you can reset the charge level after the appointment has ended,  using the ‘then’ keyword:

Sentry mode

You can also turn on sentry mode by specifying “sentry” in the appointment’s description. This might be very practical if you have sentry mode turned off per default at home, but still would like to turn in on in the night. Your Tesla then becomes a kind of stand alone security camera.

Lock doors

Some people do like like the auto-unlock feature, but then you don’t get the auto-lock either. How about automatically locking the doors at midnight every night? Just add “lock doors” to the description.

Windows

You can place the windows in vent position, using “vent windows”, they will be automatically closed at the end of the appointment. Also you can just close them using “close windows”.

Roof

You can place the sunroof in vent position, using “vent roof”, which will be automatically closed at the end of the appointment. Also you can just close it using “close roof”.

Feedback

The commands “silent”, “mute” and “unmute” allow control over the feedback you’ll receive per email. Specifying silent anywhere will prevent a feedback email to be sent completely, while mute and unmute allow specific parts of the commands to be executed silently.

Limitations

TeslaTasks is depending on a number of systems working together. First and foremost Tesla’s, which is responsible for sending the commands to your car. If your car cannot be reached, it won’t execute commands. Secondly Google; TeslaTasks needs to access that calendar to see what it needs to tell your car to do. And lastly the hosting provider; TeslaTasks is ‘the man in the middle’, looking at your calendar and telling Tesla what to do. That process needs to live somewhere, and that is on some hosted environment, a computer. And if that computer fails, gets disconnected from the internet, or experiences some other problem, nothing will happen. We have only control over the source code, the rest is in the hands of other people.

  1. TeslaTasks inspects the Google Calendar.
  2. TeslaTasks instructs Tesla to send a command to your car.
  3. Tesla sends the command to your car.