Alternate Carwings app for Android and Android Wear

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

evyna

Well-known member
Joined
Jun 20, 2014
Messages
92
Location
Orlando, FL (UCF)
Mods: I wasn't sure if this counts as General Discussion or Accessories/Mods, etc. Feel free to move as you see fit.

Hey all!

I love being able to remotely check my battery level and turn on climate control, but I've always found the Android app to be a little quirky. All I use it for is checking updates and toggling A/C, so it seems overkill to have to open the app and wait for it to update just to figure out how much juice I have left. A real first world problem, I know.

Instead, I put together a custom Android app that updates in the background and gives me a persistent notification with an AC toggle button. As an added bonus, it also works on my Wear watch! Here are some pics:

leafstatus_notification.png


leafstatus_wear.jpg


leafstatus_wear_start_ac.jpg


http://jaxbot.me/articles/weekend-project-leaf-status-for-android-wear-09-21-14" onclick="window.open(this.href);return false;

This app works by directly using the web API, same as your browser uses when you check online. All data is securely sent between the phone and Nissan's servers, and no data is collected/transmitted outside of that. If you don't believe me, here's the source code: https://github.com/jaxbot/wear-LeafStatus" onclick="window.open(this.href);return false;

Edit: Here it is! https://play.google.com/store/apps/details?id=me.jaxbot.wear.leafstatus" onclick="window.open(this.href);return false;
 
Took all night for it to sync up, but here it is!

https://play.google.com/store/apps/details?id=me.jaxbot.wear.leafstatus" onclick="window.open(this.href);return false;

It's still very beta and I'd appreciate honest feedback/suggestions/bug reports before people go on and 1 star it without me knowing why, but it should be pretty solid. North America only for now, looking into the API for the other data centers.

It's free since it's very simple right now and something I think the community really needs, but I may make another "freemium" version if I come up with more features/improvements that go beyond the original scope.

Enjoy, feedback appreciated, etc ;)
 
Poorly done.

On a Note 3 I could not even get to the Save button except by switching to another app and then back into the app.

It wasn't clear to me that the ONLY thing it does is the notification.
Zero info in the app window?
You must be kidding :?

Not sure Nissan will be happy with automated timed update interval. Is one of the shortcomings of their app that you have to request update.
But that is probably what they wanted.
Your app drives up Carwings network usage a lot.

Surprised you got it to work at all.
Early on Nissan did a lot to lock out ability to do independent Carwings access.

Will not use app in current form, but haven't uninstalled yet.

Hope what you are doing doesn't discourage Nissan to where they discontinue the free Carwings for the early adopters.
 
TimLee said:
Poorly done.

On a Note 3 I could not even get to the Save button except by switching to another app and then back into the app.

It wasn't clear to me that the ONLY thing it does is the notification.
Zero info in the app window?
You must be kidding :?

Not sure Nissan will be happy with automated timed update interval. Is one of the shortcomings of their app that you have to request update.
But that is probably what they wanted.
Your app drives up Carwings network usage a lot.

Surprised you got it to work at all.
Early on Nissan did a lot to lock out ability to do independent Carwings access.

Will not use app in current form, but haven't Uninstaller yet.

Hope what you are doing doesn't discourage Nissan to where they discontinue the free Carwings for the early adopters.

Well, sorry, I asked for beta testers and people told me to just throw it up there, so I did. I tested it on my Nexus 5 and an HTC One X, but this is my first time publishing to the Play store, so I wasn't aware of any changes that would make a Note 3 different from my device. Can you explain what the problem is more clearly? Is the button not visible or is it disabled since you already saved the changes and its running in the background?

The app description clearly states it just gives you a notification, as does this post and all the screenshots.

For what it's worth, I've been testing it for two weeks now and everything has been smooth sailing. It uses a simple JSON web api and blocking it would be very hard for Nissan, since I can continually replicate what their website does.

But hey. People with short tempers like you is what has kept me from publishing my other experiments. Ah well. I tried to be helpful by sharing, can't please everyone.
 
evyna said:
...
People with short tempers like you is what has kept me from publishing my other experiments. ...
You seem to have incorrectly inferred that I am upset and have a short temper.

Not correct.
You asked for feedback, I provided open honest direct feedback.

Problem with password entry was there was no way to get the keyboard to close to where you could see the save button. Only way I could find was to switch to another app and then back into the app.

How do you kill the app?
Appears to still run in background even though it doesn't show up in system manager.
Is the only way to kill it to turn the phone off?
If so, that is another comment.
I REALLY dislike apps that do that.
 
Poorly done.

You must be kidding :?

Are the reasons I inferred you are short tempered. But it's ok, this is the internet, let's move on and I'll take it in constructively.

TimLee said:
Problem with password entry was there was no way to get the keyboard to close to where you could see the save button. Only way I could find was to switch to another app and then back into the app.

That's odd... Can you close the keyboard using the "back" button on the physical phone? That's how I've always done it in other applications, but maybe this isn't a universally used UI trait. I'll look at other applications and see how they handle it.

How do you kill the app?
Appears to still run in background even though it doesn't show up in system manager.
Is the only way to kill it to turn the phone off?
If so, that is another comment.
I REALLY dislike apps that do that.

The app isn't running it the background, but it has a wakelock set for the amount of time you specify. The application pushes a notification to the system and then is suspended/killed, but Android will start the service briefly every X intervals (as specified on the slider) to talk to Carwings and update the notification. It's not actively taking up RAM/CPU, as confirmed by the system manager, but it will impact the phone every time the clock triggers an update service.

There's not really a way around this that I can think of, because the application is meant to be a passive notifier. I made it because I didn't like having up open an app, so this one silently runs/stops on the desired interval. It does not leave services running or active connections, though, unlike some apps (looking at you, Facebook). I think it could use a button to explictly start/stop the timer, if a user wants to get notifications one day, then let the app be dormant until they want it again. Would that help?
 
evyna said:
Poorly done.

You must be kidding :?

Are the reasons I inferred you are short tempered. But it's ok, this is the internet, let's move on and I'll take it in constructively.

TimLee said:
Problem with password entry was there was no way to get the keyboard to close to where you could see the save button. Only way I could find was to switch to another app and then back into the app.

That's odd... Can you close the keyboard using the "back" button on the physical phone? That's how I've always done it in other applications, but maybe this isn't a universally used UI trait. I'll look at other applications and see how they handle it.

How do you kill the app?
Appears to still run in background even though it doesn't show up in system manager.
Is the only way to kill it to turn the phone off?
If so, that is another comment.
I REALLY dislike apps that do that.

The app isn't running it the background, but it has a wakelock set for the amount of time you specify. The application pushes a notification to the system and then is suspended/killed, but Android will start the service briefly every X intervals (as specified on the slider) to talk to Carwings and update the notification. It's not actively taking up RAM/CPU, as confirmed by the system manager, but it will impact the phone every time the clock triggers an update service.

There's not really a way around this that I can think of, because the application is meant to be a passive notifier. I made it because I didn't like having up open an app, so this one silently runs/stops on the desired interval. It does not leave services running or active connections, though, unlike some apps (looking at you, Facebook). I think it could use a button to explictly start/stop the timer, if a user wants to get notifications one day, then let the app be dormant until they want it again. Would that help?
A small tiny step in the right direction.
No app should leave itself running forever unless you uninstall it.
Just fundamentally bad design.
I uninstalled it.

Back button does work.
But 99.7% of apps close the keyboard text entry if you tap outside the keyboard area.
Your app does nothing.

Glad you tried, but it needs an immense amount of work.
But I will hold off rating it in the app store till you work on it further.
Have a nice day.
 
Thanks for posting your work. I don't have Android, but using the info from the web page gives me another idea for a project I was thinking about to get my OpenEVSE to stop charging when the car hits 80%. I was thinking I would have to build a module to go in the car to send the data, but I can just have the EVSE poll the carwings website about every 10-20 minutes to check on the SoC. Makes the problem lots simpler!

Thanks
-Alan

Go Knights! ChargeOn!
 
TimLee said:
No app should leave itself running forever unless you uninstall it.
Just fundamentally bad design.

As I explained, it doesn't run in the background forever. The Android system starts/stops it on the timer interval, and I'm working to add an option to start/stop the timer manually. But the point of the app is to give set-and-forget notifications, and that's what I released it for. Many other apps exist that require manual updating, and they're great for people who prefer this. I posted this because I was encouraged by some other Leaf owners to share this, as it makes keeping tabs on the car completely painless, not because I wanted to make a second Carwings app.
 
AlanSqB said:
Thanks for posting your work. I don't have Android, but using the info from the web page gives me another idea for a project I was thinking about to get my OpenEVSE to stop charging when the car hits 80%. I was thinking I would have to build a module to go in the car to send the data, but I can just have the EVSE poll the carwings website about every 10-20 minutes to check on the SoC. Makes the problem lots simpler!

Thanks
-Alan

Go Knights! ChargeOn!

If you're curious about the workflow, here's the basic outline:

https://gist.github.com/jaxbot/b914563bf3154afe277a" onclick="window.open(this.href);return false;

https://gist.github.com/jaxbot/777fcda50719651067c0" onclick="window.open(this.href);return false;

Sounds like your project just got a lot easier!
 
evyna said:
As I explained, it doesn't run in the background forever. The Android system starts/stops it on the timer interval, and I'm working to add an option to start/stop the timer manually.
I understand it isn't active in memory.
But it appeared to me that the timer your app buried in the Android operating system was there with no way to stop it.
Operating 24/7 as long as the phone was on.
Even turning the phone off the timer was still active when I turned the phone back on, as I was still getting the notifications and the Carwings texts.
There are very few notifications that should be active 24/7.

The only ones I can think of are emergency notifications and messages.
 
Can you make it available in Canada?

This sounds pretty cool just the way it is, especially when I get an android wear. I'm waiting for the 360 to come out in Canada.
 
minispeed said:
Can you make it available in Canada?

This sounds pretty cool just the way it is, especially when I get an android wear. I'm waiting for the 360 to come out in Canada.

Working on it! Can you confirm that this is the right login page for the Canada portal?

https://carwings.mynissan.ca" onclick="window.open(this.href);return false;
 
evyna said:
minispeed said:
Can you make it available in Canada?

This sounds pretty cool just the way it is, especially when I get an android wear. I'm waiting for the 360 to come out in Canada.

Working on it! Can you confirm that this is the right login page for the Canada portal?

https://carwings.mynissan.ca" onclick="window.open(this.href);return false;

Yes that's the one
 
evyna said:
... I'd appreciate honest feedback/suggestions/bug reports ...
What a cool idea. The Nissan app logs me out all the time (even with the 'keep me logged in' box checked) and it is way to slow to update. One thing I did like about the Honda Fit EV was the real-time SOC reading on the fob. It only worked in proximity to the car, but that would work when the car was in the garage.

Like others have said, I am worried that this will abuse the 3G service and Nissan will start charging a fee for it. It is too bad that the car does not have WiFi. It could often avoid using 3G. Anywho, to your app..

I just installed it on my Galaxy S4. I am stuck on the first screen. It asked for your CarWings username and password. (username is misspelled by the way) When I type my username, the keyboard covers up the password box. Hitting return does not jump to the next box, instead it includes a return character in the username.

I can workaround this by hitting the back button, but that is not the standard method to complete a dialog box entry.

Same comment for the password box, CR should complete it, but it is being accepted as part of the password.

If I could scroll this screen, I could move the password dialog box up above the keyboard and tap into it, but the screen will not move.

Feature ideas:
The next / last item on this screen is the interval. I'd like to be able to set it to update at 7AM every morning (weekdays anyway). The current settings is just a slider from every 15 minutes to 315 minutes. Once the setting is 1+ hour, I'd prefer to see HH:MM instead of MMM format. And I'd like to see the interval have a "Don't Auto Update" option. To go with the long update intervals (and "Don't update") I'd like to have an "update now" option (maybe this could be a long press on the current value).

I'd like have the menu button have at least an exit / quit option or a "cancel timers and exit" option.

All the above was just my thoughts from the login screen before actually using the app.

I just hit "save" and it appears to have locked up. There was a "saved" pop up and then nothing but a greyed out save button. OK, I can toggle to my notifications screen and see that it has the right SOC value, so it is working, but that was not what I was expecting. I assumed there would be something in the app. I guess I'd like to see it organized into 3 screens: login (username and password), settings (interval / update schedule), status (with "update now" button). Assuming the account is setup, the status screen would be the default.

Or if you don't want to rearrange it, I think it should at least update the screen with a "Congratulations, your login and password were accepted and your Leaf Status data will appear on your notification screen soon." Rather than that quick pop up that faded away before I even noticed I needed to read it.

On the status screen I'd also like to see an indication if the car is plugged in or not. Occasionally, usually just before going to bed, I use the Nissan app to confirm that the car is plugged in so that I know it will charge up overnight as I sleep. I use this more often than the CC.

The "Start AC" option should be renamed. Winter is coming and this will be starting the heater for most of the N. hemisphere soon. Maybe "Start Climate Control" or "Start HVAC".

Under the SOC (mine is currently 10%), it has what appears to be the Level 1 recharge time (currently 12 hours) that is displayed. I'd rather see the Level 2 time, maybe this can be a configurable option.

The 3 screens layout would also solve another issue I see. If I hit "clear notifications" on my phone, which I often do because too many apps abuse that screen, the Leaf status notification is cleared. Now there is no SOC indication until the next update. This value could be maintained on the apps status screen. If the app had its own status screen, you could also make the use of the notification screen optional.

Thanks again for sharing this. My Moto 360 is scheduled to arrive next week, I'll try it on the round watch and let you know how it works.
 
Agreed, I'm looking to find a way to intelligently reduce the number of calls to the car, perhaps by setting peak hours (i.e. if it's 9pm-6am, the updates probably don't need to be as frequent) as well as reducing the frequency when the car isn't charging. Any ideas on this are totally welcome.

I just installed it on my Galaxy S4. I am stuck on the first screen. It asked for your CarWings username and password. (username is misspelled by the way) When I type my username, the keyboard covers up the password box. Hitting return does not jump to the next box, instead it includes a return character in the username.

I can workaround this by hitting the back button, but that is not the standard method to complete a dialog box entry.

I have tapping away to close the dialog enabled in the development build, and I'll look into adding the cr. Dunno why I'm so used to having to press back to close the keyboard, must be a bad habbit from my Windows Phone :p

Feature ideas:
The next / last item on this screen is the interval. I'd like to be able to set it to update at 7AM every morning (weekdays anyway). The current settings is just a slider from every 15 minutes to 315 minutes. Once the setting is 1+ hour, I'd prefer to see HH:MM instead of MMM format. And I'd like to see the interval have a "Don't Auto Update" option. To go with the long update intervals (and "Don't update") I'd like to have an "update now" option (maybe this could be a long press on the current value).

Makes sense, should be doable but might take a little bit to implement. I do agree with the don't auto update and update now options, especially. I'm working on those right now but couldn't think of a UI for them yet, so I'm at the drawing board.

I just hit "save" and it appears to have locked up. There was a "saved" pop up and then nothing but a greyed out save button. OK, I can toggle to my notifications screen and see that it has the right SOC value, so it is working, but that was not what I was expecting. I assumed there would be something in the app.

Good point, thanks! Needs some UX work

The "Start AC" option should be renamed. Winter is coming and this will be starting the heater for most of the N. hemisphere soon. Maybe "Start Climate Control" or "Start HVAC".

Sorry, I'm Floridian ;) Fixed!

Under the SOC (mine is currently 10%), it has what appears to be the Level 1 recharge time (currently 12 hours) that is displayed. I'd rather see the Level 2 time, maybe this can be a configurable option.

It currently uses whatever Carwings reports the charge time as, so if you're on a Level 2 charger it should report the L2 time, but only if the car is charging. You're right, that should be configurable.


I guess I'd like to see it organized into 3 screens: login (username and password), settings (interval / update schedule), status (with "update now" button). Assuming the account is setup, the status screen would be the default.

Or if you don't want to rearrange it, I think it should at least update the screen with a "Congratulations, your login and password were accepted and your Leaf Status data will appear on your notification screen soon." Rather than that quick pop up that faded away before I even noticed I needed to read it.

On the status screen I'd also like to see an indication if the car is plugged in or not. Occasionally, usually just before going to bed, I use the Nissan app to confirm that the car is plugged in so that I know it will charge up overnight as I sleep. I use this more often than the CC.

The 3 screens layout would also solve another issue I see. If I hit "clear notifications" on my phone, which I often do because too many apps abuse that screen, the Leaf status notification is cleared. Now there is no SOC indication until the next update. This value could be maintained on the apps status screen. If the app had its own status screen, you could also make the use of the notification screen optional.

These are all solid ideas that I agree with, though it sounds like the main interest here is to build a much better Carwings replacement app, rather than a mere Notification app. Which, to be fair, I did title the post "alternate Carwings app". This is all doable, and very good ideas, but I need to think about how expanding the app's scope affects the niche I developed it for. I meant it as purely a way to get notifications about the car on Android and Wear, since other Carwings alternatives exist. But if the code already exists and there's demand to flesh this one out, it'd be a experience for me and we could probably come up with some pretty sweet things that make the Leaf a much better experience on Android.

Thanks for the very thorough and constructive feedback! Appreciate it and your patience with my beta app :p
 
Be sure to weigh any efforts against carwings possible depreciation next year. I still think it may be a good idea to consider an alternate module for the car side, but that's another topic.

A question, what did you use for vehicle id? I tried the vin and it didn't work. I seem to remember some other carwings if, but I can't find it anywhere.

Thanks
Alan

BTW- I would have called it AC also. FL born and raised. Not sure we even had a heater :).
 
Back
Top