As smart as the Tesla is, if you forget to plug in overnight when it has a low charge you could be in for serious range anxiety the next morning. The Tesla iPhone app will let you know the charge status.. but only if you remember to check it.. The good news is that Tesla also provides an API with enough functionality to do useful things like read charge state, location, AC and more. Plus you can turn things on and off.. ( but no driving functions which may be a good thing )
If you want to make the Tesla smarter you really need to connect to other Things and Services, enter  Octoblu the IoE platform that connects everything to everything. And you can do it without coding, just build workflows with a drag and drop designer and click Start !

For a simple and useful example of how to build an Octoblu workflow that prevents morning range anxiety anyone with a Tesla can build this or infinite other workflows with Octoblu. To get started sign up for the free Beta here. Also check out the Octoblu site and related Octoblu blog posts.

This is the Tesla workflow that checks the charge status daily, compares the result, and then sends a reminder SMS of the charge if the result is less than 50%.

After getting a beta account start by configuring the Tesla node, visible in the designer “Available Nodes” section. This is where you enter your Tesla credentials, the same ones used for the iPhone app.
Next you need to find your car ID, to do this click on the tesla icon and use the “Get A List..” as in the screenshot below. Build a simple diagnostic workflow with a Trigger and Debug connected as shown, click Start icon upper right to save the flow. Then run a test flow by clicking the box on left of trigger icon with the debug console displayed.
The ID required is the one highlighted in blue ( not the Vin or Vehicle ID ) Save the ID for the next step.

Next start a new workflow named Tesla Charge Reminder ( or whatever ). Add the Tesla node from the “configured Nodes” section, plus the operator nodes as show in the first screenshot. Drag and drop the nodes together. Then click on the Tesla node to configure the charge state and enter the ID from the previous step. Then click and change the Interval to 86400000 Milliseconds ( 24 hours ) and configure the SMS node with your cell number including 1 before the area code.

When finished, click start to run and save the workflow. Test it by watching the debug console and remember to click stop and start after each edit.

You can also take a short cut and just import my workflow below after you get a beta account and configure the nodes with unique information.

https://app.octoblu.com/design/import/faddf9b0-b21b-11e4-9da4-45b51e8804de

If you have other ideas to make Tesla smarter by connecting everything to everything let us know.