The Notify Tab
The Notify tab allows you to request notifications when certain types of events occur. For example, if your state of charge (SOC) drops below a certain level or rises above a certain level. Note that in order to receive a notification, VisibleTesla must be running. If the app is sleeping, notifications may be missed or delayed. For more details, consult the Understanding Sleep Mode section. As you can see in the screen shot below, the Notify Tab is split into several sections: Charging, Geofencing, and Other. Each type of notification in each section can be enabled or disabled individually using the associated checkbox.
Notifications are sent via email using the address specified in the Prefs Tab. Many wireless carriers provide an email-to-text gateway where you are provided an email address that corresponds to your mobile phone's phone number. Using such a gateway allows you to receive notifications as text messages. Please note that if you do so, normal text message rates may apply. Consult your carrier for details.
Notifications are sent via a hosted service (MailGun). You don't need to enter your email credentials - just an email address. This need not be the same address that you use as your Tesla login. Messages are sent from the address "notifier@visibletesla.com". Do not reply to this address. It is not monitored. Advanced users may use their own MailGun account as described here.
Charge Notifications
The screenshot below shows all of the charge and battery related notifications. Note that for the Charge State Becomes notification, you may open the drop down list to select the charge states of interest.
List of available charge notifications:
Notification | Target | Description |
---|---|---|
SOC Hits or Exceeds | State of Charge percentage (0-100) | A notification will be sent if the SOC changes from a value that is below the target value to one that is equal to or greater than the target. You can use this notification if you want to be alerted when your car reaches a certain charge level. Note that the SOC must cross a threshold to get to this value. For example, if you specify 85% as the target, the SOC must go from a value below 85% to 85% or above for a notification to be sent. A notification will not be sent if the SOC is already at or above 85% when the app starts up. |
SOC Falls Below | State of Charge percentage (0-100) | A notification will be sent if the SOC changes from a value that is above the target value to one that is less than the target. You can use this notification if you want to be alerted when your car's available charge drops to a certain level. |
Charge State Becomes |
|
A notification will be sent if the car's charge state changes from some existing value to the specified target value. For example, it might change to Disconnected when you remove the power cord. If you select Anything as the target value, then any change in the charge state will cause a notification. Unknown is a catch-all for any state that is unknown to VisibleTesla. The notification message will contain the current current state of charge (SOC) and estimated remaining range in appropriate units. |
Detect Charge Anomalies | N/A | A notification will be sent if something odd happens during a charge cycle. At the moment, the only anomaly that is detected is if your charging current or pilot current drops by 20% or more during the cycle. The drop must be sustained for a small number of minutes before a notification will be sent. The baseline from which the drop is detected is also established over a number of minutes. This notification will not be sent when using a supercharger since changes in current are normal. This feature is highly experimental since I have no way to safely recreate such a charge anomaly. |
Geofencing Notifications
Geofencing allows you to receive a notification when you car enters or exits a specific geographic area. As you can see in the screenshot below, you may specify up to four Enter notofications and four Exit notifications. Each notification can specify a different geographic area.
List of available geofencing notifications:
Notification | Target | Description |
---|---|---|
Car entered area | An area defined by a center point and a radius in meters | A notification will be sent if if your car starts outside of the specified area and later passes into that area. It does not have to stop there. See below for instructions on setting the area. |
Car left area | An area defined by a center point and a radius in meters. | A notification will be sent if if your car starts inside of the specified area and later leaves that area. See below for instructions on setting the area. |
Defining Locations
When using the Car entered area or Car left area notifications, you must define the area of interest. An area is defined by a location and a radius which are set via an options dialog box. You get to that dialog box by pressing the Define Area button next to the Car entered area or Car left area checkboxes. The dialog you get looks like a normal Google map as shown in the screen shot below.
You'll see a red arrow representing the selected location and blue circle around it representing the radius. The first time you bring up this dialog, the arrow will appear at the Tesla factory in Fremont, CA. Use the search box to navigate to a new location. As shown in the screen shot below, as you type you will see an auto-complete list of possible locations.
Choose one of those locations or hit Enter. The map will relocate to show the selected location as shown below. Now you can begin to refine the location and radius. Use the normal map controls to zoom and pan as needed. To relocate the arrow, simply click and drag it to a new location. To change the radius, grab the white knob and drag it in or out. The blue circle will grow or shrink to show the new radius. VisibleTesla will not allow you to set a radius below 15 meters.
When you've got the location and size the way you want them, enter a nickname for this location such as Home or Work. The nickname will be used as part of notification messages. If you don't enter a nickname you may see a latitude / longitude in notification messages. After setting the nickname, just press OK. You can cancel at any time by pressing the Cancel button. In this case your previous values will not be changed.
Other Notifications
The screenshot below shows all of the charge and battery related notifications. Note that for the Charge State Becomes notification, you may open the drop down list to select the charge states of interest.
List of available charge notifications:
Notification | Target | Description |
---|---|---|
Speed Hits or Exceeds | Speed in mph or km/h | A notification will be sent if the speed changes from a value that is below the target value to one that is equal to or greater than the target. This notification will not be sent more frequently than once per 30 minutes. Let's say you set the target to 75 mph and are driving very near that speed. Normal fluctuations in your driving might cause you to drop below then go above 75 mph many times. VisibleTesla will not issue a notification each time that happens. It will issue the first notification and then will not issue another until at least 30 minutes passes. |
Unlocked Doors | Unlocked time in minutes | A notification will be sent if you forget to lock your doors. The notification will be sent if your car remains unlocked for a specified number of minutes after you get out of it. |
Odometer Passes | Odometer reading in kilometers or miles. | A notification will be sent when the odometer reading passes the specified value. This can be useful if you want a reminder when your car needs service - for example tire rotation. |
Report Scheduler Events | N/A | A notification will be sent if any scheduled activity occurs. |
Some readings can vary slightly over a short period of time which could, in theory, cause multiple notifications. For example, say that you asked to be notified whenever your SOC drops below 50%. If your SOC is hovering right around 50% and you fall below, you'll get a notification. If you go down a big hill and regeneration brings your SOC back up to 50%, you're likely to get another notification again very soon. VisibleTesla will avoid sending multiple redundant notifications in these cases.
Customizing Notifications
VisibleTesla allows you to optionally specify the email address, subject and message body to use for each type of notification. The email address may be a comma-separated list of addresses if you'd like the message to go to more than one recipient.
Custom notifications can be useful in a number of circumstances. For example, you may wish to use email notifications for most things, but use text messages for urgent notifications. For urgent notifications you could enter a text message address instead of your default email address. You could also use this feature if you wish to develop mail rules that kick off some activity based on a recipient email address and/or subject line.
To access these options, press the + button at the far right of any notification definition. A dialog will pop up (see below) allowing you to specify an email address, subject, and message.
You may also select Use default values, in which case the default email address, subject, and message will be used. If you leave any field blank, the default will be used for the blank item(s).
Defining your own message using variables
By default, VisibleTesla sends notification messages that include information relevant to each type of notification. For example, if you set up a Speed Hits or Exceeds notification, the app will tell you both the target speed (e.g. 75 mi/h) and the current speed (e.g. 80 mi/h).
You may want to customize the message that is sent for a given notification to include different information, different text, or use your native language. To facilitate that, VisibleTesla allows you to set a custom message as described above. However, to make that message meaningful, you'll need to specify the information you'd like to include such as the current speed, target speed, or state of charge. You can specify those values by using special keywords in your message. Those words are listed below and are always delimited by double curly braces: {{ and }}. We refer to these keywords as variables.
Variable Name
|
Substituted By |
---|---|
{{SPEED}}
|
The last known speed of the vehicle in the units set by the car (mph or km/h) |
{{SOC}}
|
The last known state of charge. This is a percentage. |
{{IDEAL}} |
The last known ideal range of the vehicle in the units set by the car (mi or km). |
{{RATED}} |
The last known rated range of the vehicle in the units set by the car (mi or km). |
{{ESTIMATED}} |
The last known estimated range of the vehicle in the units set by the car (mi or km). |
{{CHARGE_STATE}}
|
The last known charge state of the vehicle (e.g. Disconnected or Stopped) |
{{D_UNITS}}
|
The distance units in used by the vehicle (mi or km) |
{{S_UNITS}}
|
The speed units in used by the vehicle (mph or km/h) |
{{TARGET}}
|
The target value of the notification. For example, if a notification was set for Speed Hits or Exceeds 75.0, then the target value would be 75.0 |
{{CUR}}
|
The current value of the item being monitored for the notification. For example, if a notification was set for Speed Hits or Exceeds 75.0, and the car hit 76.3 mi/h, then the value would be 76.3. As another example, if a Car entered area notification was triggered, and the defined area had a nickname of "Home" and a radius of 20 meters, this variable would be "[Home] within 20 meters". |
{{DATE}}
|
The current date in the form YYYY-MM-DD. For example, 2014-12-25. |
{{TIME}}
|
The current time in 24 hour format HH:MM:SS. For example, 20:12:35. Note that this is the time the message was generated which will be different from the time that you receive the message. How different depends on how long it takes for your message to be delivered. Note also that the time the message is generated may be later than the time the event actually occurred. It is usually pretty close, but may be quite a bit different if the app has been in sleep mode. |
{{LOC}} |
The last known location of the vehicle. The location presented is derived by taking the last known latitude and longitude and asking Google for the closest known address. If Google cannot produce a result, the raw latitude and longitude will be presented. |
{{I_MODE}}
|
The app's inactivity mode, which could be Stay Awake, Allow Daydreaming, or Allow Sleeping. This corresponds to the setting of the Options→Inactivity Mode menu. |
{{I_STATE}}
|
The app's inactivity state, which could be Awake, Daydreaming, or Sleeping. Note that the app might be in Allow Sleeping mode, but still not be asleep. It only goes to sleep when in that mode and there is no user activity for 15 minutes. The same is true for Allow Daydreaming mode |
{{P_CURRENT}}
|
The pilot current being supplied to the car. When your car is plugged in, this value will indicate the power that is available to be supplied to your car when charging begins. When your car is not plugged in, this value will be 0. It is possible for this value to be -1 which indicates that the car did not report the pilot current. |
{{TIME_TO_FULL}}
|
The amount of time left until the current charge completes. If there is not a charge in progress, TIME_TO_FULL will be zero. This is formatted as HH:MM:SS (hours:minutes:seconds). |
{{CHARGE_ETA}}
|
The time when the current charge cycle will be complete. This is formatted as HH:MM:SS (hours:minutes:seconds). |
{{C_RATE}}
|
The rate at which range is being added back to your vehicle by the current charge cycle. This will be reported in the units set by the car (mi/h or km/h). |
{{C_AMP}}
|
The current in amps flowing into the battery (or out if negative). |
{{C_VLT}}
|
The voltage being supplied to the vehicle. |
{{C_PWR}
|
The power in kW being supplied at the moment the reading was taken. |
{{ODO}
|
Displays the last known odometer reading in the units set by the car (mi or km). |
In the future, other variables may be added to the list |
Let's look at an example. Say we want to add a custom message to the Charge State Becomes notification. We want it to tell us the new charge state, the SOC, and the ideal and rated ranges. We could enter a message that looks like this:
{{DATE}} {{TIME}}
Charge State: {{CHARGE_STATE}}
SOC: {{SOC}}%
Range ({{D_UNITS}}): Rated={{RATED}}, Ideal={{IDEAL}}
This might produce a message such as:
2014-06-03 10:00:00
Charge State: Complete
SOC: 90%
Range (mi): Rated=177, Ideal=184
You can use as many or as few variables as you'd like and they don't have to be related to the particular type of notification. For example, you can include the estimated range and/or SOC in every notification that you send.
You can also use variables in subject lines. Let's look at a couple of examples that might be used for the Charge State Becomes notification:
Subject field | Example output |
---|---|
Charge State: {{CHARGE_STATE}}
|
Charge State: Stopped
|
Charge State: {{CHARGE_STATE}}, SOC: {{SOC}}%
|
Charge State: Stopped, SOC: 80%
|
Note: Variable names must be entered exactly and must always include the double curly braces. {{Soc}
is not a substitute for {{SOC}
; nor is SOC
. It really needs to be an exact match to the items listed in the table above. You may not use double curly braces as part of the content of your message. Anything enclosed in double curly braces will be interpreted as a variable name.
Advanced Feature: Messages for use in custom html pages
Variables can also be used by custom pages generated by the built in web services. These variables, listed and described in the table below, generate snippets of HTML rather than plain text. Of course the plain text variables listed above can also be used in html pages.
Variable Name
|
Substituted By |
---|---|
{{HT_IDEAL_G}}
|
The last known ideal range of the vehicle in the units set by the car (mi or km), represented as a gauge similar to the one on the Charge Tab. |
{{HT_RATED_G}}
|
The last known rated range of the vehicle in the units set by the car (mi or km), represented as a gauge similar to the one on the Charge Tab. |
{{HT_ESTIMATED_G}}
|
The last known estimated range of the vehicle in the units set by the car (mi or km), represented as a gauge similar to the one on the Charge Tab. |
{{HT_LOC}}
|
The last known location of the vehicle. The location presented is derived by taking the last known latitude and longitude and asking Google for the closest known address. If Google cannot produce a result, the raw latitude and longitude will be presented. The resulting string will be wrapped in an HTML link that points to a Google map centered on the given position. |
{{HT_SOC_G}
|
Generates an HTML snippet that displays the state of charge in the form of a battery gauge. The image also displays a plug symbol if the car is currently being charged. |
{{HT_ODO}
|
Generates an HTML snippet that displays the last known odometer reading in a form that looks like an old fashioned physical odometer. The value is displayed in the units set by the car (mi or km). |
{{HT_CARVIEW}}
|
Generates an HTML canvas representing the current state of the doors, trunks, and roof. It's similar to the car view that is displayed by the Overview Tab. |
Accessing a URL: Advanced Users Only
When a notification occurs, VisibleTesla can perform an HTTP GET
on a URL instead of sending an email. This mechanism allows notifications to trigger web services for home automation or other purposes. To use this feature, set the notification email in any custom notification setting to a URL rather than an email address. The URL must begin with http://
or https://
. It must be a fully formed URL with any special characters URL-encoded. If VisibleTesla sees a URL rather than an email, it will perform an HTTP GET
on that URL. It will not check error codes returned from the server nor process any returned data. The custom subject field will be ignored.
A sample use case might be turning on outside lights at your home when your car is approaching. To do this you would start by setting up the Car entered area notification. You would then press the + button to bring up the custom address dialog as shown below. Now you can enter the URL corresponding to the "Lights On" command of your home automation controller. Put it in the EMail field where you would normally put an email address.
Security Note: Any information you enter in this field will be stored unencrypted on your computer's local disk. Be aware of that if you encode sensitive information into a URL.
Executing a Command: Advanced Users Only
When a notification occurs, VisibleTesla can exeute an arbitrary command rather than sending an email. This provides a very high degree of flexibility in what can be done as the result of a notification. The command executed by VisibleTesla could integrate with another service, log information, perform calculations - you name it.
You get to specify three things when setting up this type of notification:
- The command name: [required] The command name is entered in the EMail field of the Notification Options dialog. It must be a fully qualified path to the command of interest. Make no assumptions about the working directory from which this command will be launched. The name of the command must be prefixed by
command:
. For example:command:/usr/bin/curl
- Arguments: [optional] You may specify arguments to the command using the Subject field of the Notifications Options dialog. You may use VisibleTesla variables as described above. For example, you could enter:
power={{C_PWR}}
- Standard Input: [optional] If you'd like your command to receive input on stdin, you can specify it in the Message field of the Notifications Options dialog. You may use VisibleTesla variables as described above. For example, you could enter:
{{DATE}} {{TIME}}
Charge State: {{CHARGE_STATE}}
SOC: {{SOC}}%
Range ({{D_UNITS}}): Rated={{RATED}}, Ideal={{IDEAL}}
Notes:
- VisibleTesla will continue executing in parallel with your command. Your command will be launched in the background and VisibleTesla will immediately continue normal operation.
- VisibleTesla will not check the result of your command or read any output it generates. If you wish to capture stdout or stderr, you should do that in your command. This may require that you wrap your command in a shell/bat script. In that case, specify the path to your script as the command name.
- VisibleTesla will give your command about a minute to execute. If it hasn't completed by then, the process will be killed.