ErikDeBruijn / TeslaFTW

Pebble v2.0 App to control your Tesla Model S/X or hopefully soon, Model III.
GNU General Public License v3.0
11 stars 7 forks source link

Doesn't work on iPhone #5

Open GeeZuZz opened 9 years ago

GeeZuZz commented 9 years ago

After I switched from Android to iPhone I can't get this app to work. I set up correct user/password in Pebble settings on phone, but when I open the app on the watch, nothing happens when I choose the different options. Says "Message sent to..." in small font under Enable A/C, but that's all happening. No other options does anything.

ErikDeBruijn commented 9 years ago

Thanks for creating the bug-report. Can you add some more info about versions of the iPhone and Pebble FW?

I've only developed it with an Android system. It's very hard to make it multi-platform without at least having a device to test with. Also, I don't have a lot of time to do this myself.

If you or anyone else wants to give it a try, I can help you get started!

GeeZuZz commented 9 years ago

Pebble 2.8.1, and iOS 8.1.2. But same problem in earlier versions.

I have some programming experience, but have never worked on pebble before. So if you could just tell me where to look, i can probably manage to compile it and test myself.

ErikDeBruijn commented 9 years ago

It "should" be platform independent if you write a pebble app with the PebbleKit JavaScript framework, but apparently it isn't in this case. The route I chose does not require a companion app to be written for iPhone to get it working, because I use the PebbleKit JavaScript framework.

The documentation for the PebbleKit JavaScript framework is here: http://developer.getpebble.com/guides/js-apps/ The version I used is here: http://developer.getpebble.com/guides/js-apps/pebblekit-js/

The SDK CLI tool will come in handy when debugging, e.g. this command is helpful: pebble logs --phone

The JavaScript is embedded in the application package (.pbw) and executed on the user's phone by the Pebble mobile application. This framework enables apps to access web-services over the Internet, use the phone GPS, show configuration window on the phone and persist information in the phone.

The source of all the files I used are on github (most recent versions).

There is an alternative which is called Pebble.js, which is purely Javascript. All the code you write is in JS. There's a "vanilla" watchapp that will basically forward events to JS and be able to execute generic things like displaying notifications on the screen or vibrating.

I used the JS framework, not Pebble.js because I wanted to include nice resources such as the images I added and be able to have a better "watchapp" feel to it.

ErikDeBruijn commented 9 years ago

Hi @GeeZuZz . I noticed that for a while the app stopped working for me. I didn't notice until now because I thought it was related to me changing my password. I think there have been some changes to the way the API adds the "cookies" and how they're being sent back, or it could be something else. Feel free to help debug!

I can make a nice start but cannot be a long-term maintainer of this app or it would hurt my other responsibilities too much. And I care about those commitments.

GeeZuZz commented 9 years ago

Thanks for your replies. I will first confirm that it still works on Android for me, and if it does, have a look at the code and see what I can do. I know they changed the login API for newer cars (with autopilot hardware), but it doesn't apply for old cars yet. Thanks again for this really nice app!

ErikDeBruijn commented 9 years ago

@GeeZuZz appreciate that! I must say that just confirmed it not to work anymore a.t.m. B.t.w. you can run most of the JS even in your own browser's console. This makes interactively testing little pieces of code much faster. Also, there's http://docs.timdorr.apiary.io/ which offer an API that you can connect through and it will help with debugging too. Don't have a lot of experience with it yet, though.

ErikDeBruijn commented 9 years ago

Hi @GeeZuZz , you can try the latest version of TeslaFTW! It is updated to work with the new API protocol of Tesla. I confirmed it to work on Android.

It should in theory also work on iOS, however this is untested.