Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

VisibleTesla

This site may earn commission on affiliate links.
I can write my own programs, but I'm wondering if any phone apps have scheduling already? Sometimes, I want to change schedules when I'm not home. [...]
re: phone apps, if you have the third-party Remote S app, while it doesn't support scheduling directly, it does have in in-app browser that might let you do what you want. from the app description:

- In-app browser can detect commands from javascript and html so that you can create and use a webpage to control your car
- This opens up all sorts of functionality, such as scheduling, queued commands, and repeated commands

I have the Remote S app (and also use Visible Tesla), but haven't tried using the Remote S browser to do anything like that myself. It would be interesting to see what kinds of things you could do via the in-app browser
 
I wrote to @jpasqua, the developer of Visible Tesla today. I wrote because many people in this thread and elsewhere on TMC have been expressing how great it would be if VT could be updated and supported again. I asked Joe what he thought of the idea of some sort of crowd-funding for further development.

As it turns out, money was never the issue for Joe, which makes sense, considering how great the software is, and that it has always been free. Joe said he'd love to keep working on it, if he had the time, but unfortunately he does not.

He did, however, take the time to spell out what the current issues are as he sees them. I'll include what he said below. He also wrote:

"Since it is all open source, I would love someone else to pick up the work and would be happy to answer questions."

I don't know if there is anyone here who would like to pick this ball up and run with it or not, but I thought I'd put this information out there. I don't know if an official crowd-funding kind of thing could work for someone other than Joe, as anyone else taking this on would be an unknown quantity. But if the person or people who take this on simply asked for some donations to the cause, I imagine the community would be pretty generous, once we saw results.

Here are the issues, as Joe laid them out, in his words:

--
  • Getting from Java7 to Java8 is important. It should just be a recompile, but it turns out to be a lot of work
  • Apple introduced changes in their interface to Java that caused somethings in VT to break. For example, the Location Tab causes the app to crash on more recent versions of MacOS. This could be fixed by moving to Java8
  • Unfortunately, there are changes in Java8 that are not backwards compatible. Most of the app would not have any trouble, but I used JavaFX for the UI and it is not compatible.
  • The right way to fix this would be to move VT to a locally hosted web app that used a browser UI rather than a thick client. That is a significant rework of the app.
  • The alternative is to do all the work to get onto the newer version of JavaFX. That’s still a lot of work and ultimately doesn’t solve the long term UI problem
  • Testing is very time consuming. As Tesla releases more vehicles with more options in more combinations, the testing process gets very difficult. When too much testing is going on, Tesla typically disables my account for a few days to throttle my use of their servers. This makes things even more time consuming.
  • Ongoing reverse engineering. As Tesla makes changes to codes and APIs, there is ongoing work to stay on top of that in the code.
  • New Features. There is so much more that VT could do. Some are easy, some are hard. All take time.
--

So...there it is.

Anyone up to the task, or up to the task of working on this with other programmers? Again, Joe is happy to answer questions, etc. He just doesn't have the time to take this on himself.

Thanks!
 
I wrote to @jpasqua, the developer of Visible Tesla today. I wrote because many people in this thread and elsewhere on TMC have been expressing how great it would be if VT could be updated and supported again. I asked Joe what he thought of the idea of some sort of crowd-funding for further development.

As it turns out, money was never the issue for Joe, which makes sense, considering how great the software is, and that it has always been free. Joe said he'd love to keep working on it, if he had the time, but unfortunately he does not.

He did, however, take the time to spell out what the current issues are as he sees them. I'll include what he said below. He also wrote:

"Since it is all open source, I would love someone else to pick up the work and would be happy to answer questions."

I don't know if there is anyone here who would like to pick this ball up and run with it or not, but I thought I'd put this information out there. I don't know if an official crowd-funding kind of thing could work for someone other than Joe, as anyone else taking this on would be an unknown quantity. But if the person or people who take this on simply asked for some donations to the cause, I imagine the community would be pretty generous, once we saw results.

Here are the issues, as Joe laid them out, in his words:

--
  • Getting from Java7 to Java8 is important. It should just be a recompile, but it turns out to be a lot of work
  • Apple introduced changes in their interface to Java that caused somethings in VT to break. For example, the Location Tab causes the app to crash on more recent versions of MacOS. This could be fixed by moving to Java8
  • Unfortunately, there are changes in Java8 that are not backwards compatible. Most of the app would not have any trouble, but I used JavaFX for the UI and it is not compatible.
  • The right way to fix this would be to move VT to a locally hosted web app that used a browser UI rather than a thick client. That is a significant rework of the app.
  • The alternative is to do all the work to get onto the newer version of JavaFX. That’s still a lot of work and ultimately doesn’t solve the long term UI problem
  • Testing is very time consuming. As Tesla releases more vehicles with more options in more combinations, the testing process gets very difficult. When too much testing is going on, Tesla typically disables my account for a few days to throttle my use of their servers. This makes things even more time consuming.
  • Ongoing reverse engineering. As Tesla makes changes to codes and APIs, there is ongoing work to stay on top of that in the code.
  • New Features. There is so much more that VT could do. Some are easy, some are hard. All take time.
--

So...there it is.

Anyone up to the task, or up to the task of working on this with other programmers? Again, Joe is happy to answer questions, etc. He just doesn't have the time to take this on himself.

Thanks!
I have been getting familiar with the source code lately, looking to add a feature to schedule a charge finish time. I agree with the comments above that significant rework is required to modernize the app, and that is not something I am in the position to do.

So, if I get this feature working I may push it out to the community for feedback, but that will likely be the extent of my involvement. VT is a great app, but it may be time to retire it and start looking at a replacement.
 
I have been getting familiar with the source code lately, looking to add a feature to schedule a charge finish time. I agree with the comments above that significant rework is required to modernize the app, and that is not something I am in the position to do.

So, if I get this feature working I may push it out to the community for feedback, but that will likely be the extent of my involvement. VT is a great app, but it may be time to retire it and start looking at a replacement.
If you do, I'm certainly happy to help test, provide feedback, etc...

Thanks for considering it.
 
I have been getting familiar with the source code lately, looking to add a feature to schedule a charge finish time. I agree with the comments above that significant rework is required to modernize the app, and that is not something I am in the position to do.

So, if I get this feature working I may push it out to the community for feedback, but that will likely be the extent of my involvement.

That's great! Thanks!


If you do, I'm certainly happy to help test, provide feedback, etc...

Thanks for considering it.

I too would be willing to help test this feature.
 
Thanks @jpasqua for the wonderful app!

Does VT collect Autopilot data too? E.g., speed-driving, speed limit, hands-on-wheel, and at later time, images collected by Tesla GPU, etc?

I am a data scientist and a Model X owner. I am very interested in autopilot data :)

J
The Tesla API does support any Autopilot data as of yet, so there is nothing for VT to collect. But as @scaesare mentioned previously, there is no ongoing development to VT.
 
I love the continued development idea being discussed!

I finally sat down to configure (not program) VisibleTesla to work on my iPhone. Of course, this meant using VNC (not porting it; sorry to those excited by what I said and misunderstood). It's not that exciting, and I'm sure anybody who's set up remote access could figure this out on their own. But here's what I did:
  1. I started with Ubuntu in the cloud (virtual colo server). I updated this server, and plodded through the steps to get VisibleTesla.
  2. VisibleTesla, as stated above, is only Java 7. Luckily, I found a link on the web for installing Java 7 easily and being able to upgrade it within Ubuntu's package management system. (It is not in the default, since the Ubuntu default has just Java 8 and Java 9.)
  3. I tried vnc4server, but that wasn't modern enough for what VisibleTesla uses (I think the aforementioned JavaFX), so I removed that and went to turbovnc_2.1.1_amd64.deb (dpkg -i ...). Note that in trying vnc4server, I might have pulled in some necessary packages that were required for using the deb. In addition, I also installed dwm window manager -- just some random lightweight window manager. I set up Xvnc to use that (xsession). I don't know any optimal wm for this setup, but dwm worked, and I'm comfortable with it so far.
  4. I created a user for this in my cloud server, set up SSH keys, VNC passwords, and finally invoked it (vncserver :1 -localhost). I tested it using ssh on mac (ssh -x -L5901:127.0.0.1:5901 foo, etc.). On Mac, I used a simple VNC client called "Screen Sharing" that seems to work.
  5. I installed the following packages while figuring out what might be necessary: unzip, oracle-java7-installer, mesa-utils, libgtk2.0. I'm pretty sure of those 4, only mesa-utils wasn't necessary.
  6. I did a bunch of other usual Unix steps along the way which I totally forgot. Any long term Unix user will be fine swimming in this stuff -- it's in the nerves. I don't even know what is necessary in this step, so I'll just call it "Unix Foo".
  7. After logging into VisibleTesla successfully (DISPLAY=:1 java -jar VisibleTesla.jar --- you probably need to specify java version 7 in the java command such as "-version:1.7.0_80-b15" in a more elaborately used host with multiple java versions installed), I went ahead and copied the VisibleTesla directories from my Mac into my Linux in ways that seemed to match (~/Library/Application Support/VisibleTesla -> ~/.VisibleTesla). At first, I forgot 2 of the 3 directory regions in the Mac, but as it turns out, the only cross-platform directories were the ones I remembered, so I went in and re-configured the (login which I already did), options, scheduling, and vehicle config. From mac, I think the portable stuff is in ~/Library/Application Support/VisibleTesla, but the other 2 directories are various prefs files which use local OS formats. It took me half an hour to hand-copy the options within the app itself (including scheduling). A java guru probably is saying "but you just convert ..." at the computer screen right now, and I am not a Java guru. It was enough, with just that portable directory (which saves the drive histories), to figure out estimated range, and save the old trips. That was very helpful in my setup.
  8. I installed $5 "Remoter Pro" for my iPhone, which includes SSH tunnel and VNC. It works!
I tested everything, and it is working better in this configuration than on my Mac. (Location tab crashes the app in my Mac.) I can't get the "Map it!" button to do anything, though, so that's probably something that works in Export. For that, I have TeslaFi, anyway. There is also one bug in this setup which is that the first few times I click on a pulldown menu, it shows gibberish. I can use the following workarounds: click again once or twice to re-show the menu; down arrow and up arrow. That seems be enough to get around that bug.

My main goal was being able to adjust and override the scheduling where ever I was. That was becoming more and more of a problem for me. Now, I can do that just fine.
 
Last edited:
  • Informative
Reactions: Andyw2100
I love the continued development idea being discussed!

I finally sat down to configure (not program) VisibleTesla to work on my iPhone. Of course, this meant using VNC (not porting it; sorry to those excited by what I said and misunderstood). It's not that exciting, and I'm sure anybody who's set up remote access could figure this out on their own. But here's what I did:
  1. I started with Ubuntu in the cloud (virtual colo server). I updated this server, and plodded through the steps to get VisibleTesla.
  2. VisibleTesla, as stated above, is only Java 7. Luckily, I found a link on the web for installing Java 7 easily and being able to upgrade it within Ubuntu's package management system. (It is not in the default, since the Ubuntu default has just Java 8 and Java 9.)
  3. I tried vnc4server, but that wasn't modern enough for what VisibleTesla uses (I think the aforementioned JavaFX), so I removed that and went to turbovnc_2.1.1_amd64.deb (dpkg -i ...). Note that in trying vnc4server, I might have pulled in some necessary packages that were required for using the deb. In addition, I also installed dwm window manager -- just some random lightweight window manager. I set up Xvnc to use that (xsession). I don't know any optimal wm for this setup, but dwm worked, and I'm comfortable with it so far.
  4. I created a user for this in my cloud server, set up SSH keys, VNC passwords, and finally invoked it (vncserver :1 -localhost). I tested it using ssh on mac (ssh -x -L5901:127.0.0.1:5901 foo, etc.). On Mac, I used a simple VNC client called "Screen Sharing" that seems to work.
  5. I installed the following packages while figuring out what might be necessary: unzip, oracle-java7-installer, mesa-utils, libgtk2.0. I'm pretty sure of those 4, only mesa-utils wasn't necessary.
  6. I did a bunch of other usual Unix steps along the way which I totally forgot. Any long term Unix user will be fine swimming in this stuff -- it's in the nerves. I don't even know what is necessary in this step, so I'll just call it "Unix Foo".
  7. After logging into VisibleTesla successfully (DISPLAY=:1 java -jar VisibleTesla.jar --- you probably need to specify java version 7 in the java command such as "-version:1.7.0_80-b15" in a more elaborately used host with multiple java versions installed), I went ahead and copied the VisibleTesla directories from my Mac into my Linux in ways that seemed to match (~/Library/Application Support/VisibleTesla -> ~/.VisibleTesla). At first, I forgot 2 of the 3 directory regions in the Mac, but as it turns out, the only cross-platform directories were the ones I remembered, so I went in and re-configured the (login which I already did), options, scheduling, and vehicle config. From mac, I think the portable stuff is in ~/Library/Application Support/VisibleTesla, but the other 2 directories are various prefs files which use local OS formats. It took me half an hour to hand-copy the options within the app itself (including scheduling). A java guru probably is saying "but you just convert ..." at the computer screen right now, and I am not a Java guru. It was enough, with just that portable directory (which saves the drive histories), to figure out estimated range, and save the old trips. That was very helpful in my setup.
  8. I installed $5 "Remoter Pro" for my iPhone, which includes SSH tunnel and VNC. It works!
I tested everything, and it is working better in this configuration than on my Mac. (Location tab crashes the app in my Mac.) I can't get the "Map it!" button to do anything, though, so that's probably something that works in Export. For that, I have TeslaFi, anyway. There is also one bug in this setup which is that the first few times I click on a pulldown menu, it shows gibberish. I can use the following workarounds: click again once or twice to re-show the menu; down arrow and up arrow. That seems be enough to get around that bug.

My main goal was being able to adjust and override the scheduling where ever I was. That was becoming more and more of a problem for me. Now, I can do that just fine.
Very cool. I've been running VT on a Win10 instance on Azure for a while now (what can I say? I'm a Windows guy). I haven't tried setting up a remote terminal on my iPhone yet. Sounds like that is my next step.
 
  • Like
Reactions: Ulmo
Very cool. I've been running VT on a Win10 instance on Azure for a while now (what can I say? I'm a Windows guy). I haven't tried setting up a remote terminal on my iPhone yet. Sounds like that is my next step.
Sounds easy. You could easily set up remote access to that machine if that is OK for your situation (dyndns.org/other IP# locator with tunnel thru firewalls, ssh/other secure connection, firewalls, etc.). I opted not to do that route since I didn't have a clear view into accessing my workstation as easily as I had into my virtual colo in the cloud (which is made for that), which I've noticed has better uptime and reliability than my workstation, and I like the security of not poking a new hole into my workstation that any hacked iPhone could theoretically infiltrate that much easier. But, I was only a few firewall setups away from doing just that, in case I didn't go the colo route.
 
  • Informative
Reactions: GlmnAlyAirCar
I'm running into a problem that I can't access my car. VisibleTesla, TeslaFi, Remote S & the Tesla app all don't have connection or history after I arrived at work this morning.

I suspect TeslaFi + VisibleTesla is over threshold in number of queries. I was thinking of setting up a proxy service to buffer data and slow down requests to an acceptable level to the Tesla Mothership. Meanwhile, is there a setting in VisibleTesla to slow down queries? I could binary edit the file or jar.
 
... On Mac, I used a simple VNC client called "Screen Sharing" that seems to work.
Apparently, in the App Store, it's called "Remote Desktop - VNC". Once running, it calls itself "Screen Sharing". (I found out when I installed it on my desktop.)

This setup is still working well. It plugged a hole for me.

The total solution, of course, is still clunky; it still leaves room for a more integrated approach by any parties. Better scheduling is the biggest thing, and anyone can do that, but not for the charging pilot current; that would require even more:

One thing I'd love is an EVSE + scheduler that takes into consideration cost of electricity all day and night, even if that varies (such as the output from my solar panels and offset use from the house). Basically, that would be a separate hardware solution to just a remote scheduler like VisibleTesla, and would need huge flexibility with a lot of pre-fab modules for easy lego building of the various components.
 
I wrote to @jpasqua, the developer of Visible Tesla today. I wrote because many people in this thread and elsewhere on TMC have been expressing how great it would be if VT could be updated and supported again. I asked Joe what he thought of the idea of some sort of crowd-funding for further development.

As it turns out, money was never the issue for Joe, which makes sense, considering how great the software is, and that it has always been free. Joe said he'd love to keep working on it, if he had the time, but unfortunately he does not.

He did, however, take the time to spell out what the current issues are as he sees them. I'll include what he said below. He also wrote:

"Since it is all open source, I would love someone else to pick up the work and would be happy to answer questions."

I don't know if there is anyone here who would like to pick this ball up and run with it or not, but I thought I'd put this information out there. I don't know if an official crowd-funding kind of thing could work for someone other than Joe, as anyone else taking this on would be an unknown quantity. But if the person or people who take this on simply asked for some donations to the cause, I imagine the community would be pretty generous, once we saw results.

Here are the issues, as Joe laid them out, in his words:

--
  • Getting from Java7 to Java8 is important. It should just be a recompile, but it turns out to be a lot of work
  • Apple introduced changes in their interface to Java that caused somethings in VT to break. For example, the Location Tab causes the app to crash on more recent versions of MacOS. This could be fixed by moving to Java8
  • Unfortunately, there are changes in Java8 that are not backwards compatible. Most of the app would not have any trouble, but I used JavaFX for the UI and it is not compatible.
  • The right way to fix this would be to move VT to a locally hosted web app that used a browser UI rather than a thick client. That is a significant rework of the app.
  • The alternative is to do all the work to get onto the newer version of JavaFX. That’s still a lot of work and ultimately doesn’t solve the long term UI problem
  • Testing is very time consuming. As Tesla releases more vehicles with more options in more combinations, the testing process gets very difficult. When too much testing is going on, Tesla typically disables my account for a few days to throttle my use of their servers. This makes things even more time consuming.
  • Ongoing reverse engineering. As Tesla makes changes to codes and APIs, there is ongoing work to stay on top of that in the code.
  • New Features. There is so much more that VT could do. Some are easy, some are hard. All take time.
--

So...there it is.

Anyone up to the task, or up to the task of working on this with other programmers? Again, Joe is happy to answer questions, etc. He just doesn't have the time to take this on himself.

Thanks!


Java is not my thing but I could help you if you wanna work in swift.
I build a library to get all the data from the car and open sourced it: GitHub - jonasman/TeslaSwift: Swift library to access the Tesla Model S API

I use it on my own tesla apps that i publish to the app store.
 
  • Like
Reactions: Bladerunner
Mod Note: Due to server changes made by Tesla, most owners now need the version posted here.


[The FAQ is here]

[Documentation including installation instructions are online here]

[Release notes for the current version are online here]

I put together a little desktop app called VisibleTesla that allows you to do the same things that the iPhone app does, plus a few new things as well. It is based on the great work done by the folks of the "Model S REST API" thread. In fact, I announced it in that thread and have been discussing there until now. I feel that I was cluttering that thread with topics that aren't strictly about the REST API, so I started a new thread here.

You can always find the latest version of VisibleTesla in this repository. Sometimes the latest version will be newer than what is listed in this post. That means I consider it to be experimental. There will usually be a number of previous versions there as well. If you have problems with the latest version, you can back off to a previous version to see if it works better.

You can read the documentation for VisibleTesla online here. It will give you a feel for what the app looks like, what it can do, and how to use it. Please take a look at the documentation and release notes that come when you download the app. They give some basic instructions.

NOTE
: I will no longer edit this post to list new updates to VisibleTesla. The app will automatically check for updates on a weekly basis and users may manually check for updates at any time by selecting the "Help->Check for Updates" menu item. I will continue to announce new versions as normal posts in this thread.

Here are some quick links to relevant posts from the original thread:

This is just a fun side project that I'm doing with snatches of free time when I can find them. The source is published on github in two parts: The client library (TeslaClient) and the Application (VisibleTesla).

Joe
Thanks a lot for this! Good job!
 
  • Like
Reactions: BozieBeMe2