Show HN: Nissan's Leaf app doesn't have a home screen widget so I made my own
122 kcon 97 4/14/2025, 2:42:27 AM kevintechnology.com ↗
Nissan's official mobile app for their LEAF electric car doesn't have a widget for quickly checking the car's battery charge status on your phone's home screen, so for a fun side project I decided to make my own using free tools like GitHub Actions, Appium, Tailscale, and Apple Shortcuts.
Like all similar "why don't they have at least a self/community-supported open basic API" questions, the answer is usually the same: They're afraid someone else might create something of value, in part using their API, without them getting their own beaks wet in the process. If you want to integrate with a Nissan Leaf, even if all you wanted were the most harmless read-only access, they'd like you to request a biz dev meeting with them where they'll be happy to talk ruinous terms.
For a related story, see how Chamberlain (MyQ) torched the great, community-built Home Assistant integration it once had for no reason at all. They're afraid somehow they could stop getting the kickbacks from the likes of Walmart and Amazon delivery which they enjoy today, seeing themselves as co-owners of your garage door.
In most cases it's not about profit, but about having to invest serious amounts of effort to please one or two hackers, who will then DoS your API as soon as you've made a mistake.
These same companies have you click through 1000 pages of legalese (that thoroughly covers their butts) in order to use their own apps, which are probably more likely to be compromised than a public API, so I don't know why that would come with more liability.
It's really not a dichotomy between aggressively blocking users from having any control over their own home, vs. some kind of imaginary concierge red carpet public API service that hijacks the company's product roadmap. The open source community will basically do 100% of the work for any firm which doesn't opt to actively sabotage.
No comments yet
Had the whole setup been local first, they wouldn't ever had that issue. But again, that makes it hard to charge people for using it.
This was reported in the media which caused Nissan to start locking down their API something fierce.
Then the three years free of many services have started to expire for most vehicles, so locking it down more became a potentially profitable exercise so now they actual have development work against it.
If you want to have some unified API check https://enode.com/connect, but that too costs a premium.
Is this a fundamental limitation of iOS widgets/APIs, or just something WhatsApp hasn't implemented? Curious if others have found better ways to handle this on iPhone.
[1] https://www.tomsguide.com/how-to/how-to-use-the-WhatsApp-wid...
I just did it yesterday. Somebody sent me a message, and I read it via notification, but they don't have the receipt yet. I'll write their answer with a fresh mind, and send the answer they deserve.
I don't think valuing the person on the other end of the line is a bad thing.
More like an unfair anti-feature
It's unfortunate that newer cars are not supported.
(yes I know manufacturer tools go deeper but that's another issue)
[1] https://digital-strategy.ec.europa.eu/en/policies/data-act
So it is arguably more dangerous and leads to fewer sales. But again businesses don’t take positions that are rational if they can take an irrational position that every other business in the sector also takes and therefore easily justify to shareholders without having to present actual numbers they might reject anyhow.
The differentiating factor between car models is not the hardware in the world of EVs. It's the software. And right now, if you aren't either on Tesla, Rivian, or Polestar the software experience is horrific.
Tesla has some great software ideas, and awful execution. Yes, they have the ability to continuously improve vehicles after sale and they use it. But they use it to scramble the climate control location every third month, and to charge subscriptions for hardware their customers already bought.
It's whackadoodle. I mean how different are cars, really? They have wheels, doors, windows, odometers, go places at various speeds, need fuel ... you'd think there'd be some agreed universal baseline like MIDI ... you'd think.
And the manufacturers held on to their protocols like they had done their own Manhatten project so everyone just had to backwards engineer things.
Why is inoperability so precious? Ultimately the purchasing decision is the car's price, features, availability, terms of the deal... The phone app has nothing to do with it, let it go.
If I’m generous to car companies they don’t want to be beholden to a third party duopoly. If I’m not then they want to monetise with typical surveillance capitalism.
Oh, that old canard: “yeah, but just you wait!” I live in the present, and I’ll deal with the facts as they are today, not some hypothetical future offered up to win an argument.
Makes sense for car companies to keep options open.
-my backup phone connected to my NAS, running a signed in polestar app - a homebridge plugin that called a shell script that used adb to unlock the phone, open the app, grab the screen contents and parse it.
Boom, lock and battery status in homebridge and access to dozens of other tools for creating widgets and shortcuts.
No comments yet
How often does the scraping of the app running on the RaspPi run and how much is the lag between that job running and the data appearing on your phone?
I have been running the scraping workflow once per hour during waking hours the past week, but I reduced that recently because I was starting to feel nervous (but without any real evidence) that pinging the car too often could drain the 12V battery.
The scraping workflow takes between 2-3 minutes to run. You can view the history and duration of runs here if you’re curious: https://github.com/kevincon/nissan-leaf-widget-updater/actio...
I've seen Actions that create a usable Arch etc repos where other software that has been build can be listed
What's the most creative set-up using a number of Actions that anyone has seen? On GitHub or elsewhere
P.S. Could that computational paradigm somehow be extended to a Yahoo! Pipes form of visual [data]flow? For some kind of personal orchestrations
Many people have been bitten by this, it's a common thread on related forums. https://www.macheforum.com/site/threads/ford-suspending-acco...
I don't understand Ford, VW, etc. They make these nice cars that are just unusable junk because of their software.
But they built up a huge amount of momentum with how they’ve always done things. They didn’t care about software, we know about that from the terrible infotainment systems out there.
Learning that needs changing and the old method can’t be bent to work has been a very hard lesson.
Blame management structure. They hire out security devs because its expected they have a security team like other companies or shareholders pillory them. These security devs trot off doing the expected work they are all trained to do from school or their work at other companies. You end up with the inevitable locked down shitware everyone was hired to make and will make. No one asked for this. They only asked for something one level deeper into the abstraction (shareholders want company to look like other companies to price it appropriately, managers want security team to appease shareholders, security team head wants to see certain things they saw at their last job, security dev wants to deliver and get a raise) but what they got was the chain reaction leading to the user hostile app.
Like once in a while it would show correct status, or sometimes it would start heating.
But mostly it just lied. Like I could stand next to the car, issue the heating command, wait a minute, force it to check the car's status and it would tell me the car was heating while nothing had changed with the car.
So yea, gave up on the app, didn't use it the last years I owned it.
That said, enjoyed the writeup, looks like a nice project and as a bonus I learned about some new tools.
No comments yet
Maybe I never had the right luxury brand car, but I still see it as such.
If I want to have an app for my car, I’m my opinion that car failed me to provide with a simple, convenient driving experience.
I want to get in the car, check if it’s charged / filled up enough, check for errors (as a routine, but there shouldn’t be any), and drive.
If I need to change anything (AC, light, volume) I should be able to do it without having to take my eyes off the road.
What features do you like so much that you consider them “invaluable”?
> I want to get in the car,
I don't want to have to get in the car to do any of this. I'm able to get the climate control started in the car by saying out loud "Hey Siri, warm up car" (a shortcut I set up exposed by the Tesla app). The location is always up-to-date so if my wife is driving the kids in it, I can see their current location and ETA. I want to be able to open the door without unlocking the car manually. I want to be able to close the trunk remotely if I carried in a load of groceries. Etc.
None of this is some kind of alien technology that Tesla invented, but rather the vast majority of legacy car manufacturer apps are just total garbage piles that were outsourced to some low-bidder somewhere. It shouldn't be that hard.
How important are these things for you? If the automatic trunk motor broke, how much would you be willing to pay to fix it? What is the value difference for you to be able to heat up the car from outside the car?
My questions point towards some variation of my central question: why does any of those things matter to you in a car? The primary purpose of a car is to get me places, everything else is optional. Is it because all the cars are equally sufficient for getting you places or so you actually value remotely controlling your car higher than the cars ability to drive you places?
For myself all of those gimmicks are just more complication that can break. I value a car that is fun to drive and with minimal abstraction. It sounds like you value maximal abstraction, and that's quite odd to me. I wish to understand your viewpoint.
In the summer, it gets closer to “gimmick” territory, but there are also totally times when interior surfaces of the car were too hot to touch, and that affects driving in its own right if you can’t grab the steering wheel.
Yes they did. Both the guy you asked and the one he responded to.
Across decades, I've heard of many cardiac events from shoveling the driveway, but absolutely zero from scraping ice off a car windshield. This correlates to the vast difference in effort required by each action — scooping, lifting and moving tons of snow, vs scraping at a few ounces of ice (which is even easier if you let the car run a few minutes with the windshield defrost on).
Now, if we had car (not trucks setup for plowing) that could automatically clear the driveway, that would be a must-have feature in areas with winter climates...
I have my car on a schedule and it automatically heats up, turns on the seat heaters and defrosts the windshield. By the time I leave the house I have seither a snuggly warm car or pre cooled car. That is a huge time saver for me. One annoying part on this car is the fact that the LED headlights don‘t defrost. It sounds like a real first world problem but when it’s real cold outside and the car warms up etc I need to manually scrape the ice from the headlights. I would pay some money to get this „fixed“…
As for battery charge level, I don't know why the various charger apps can't read that info off the car as it charges, but I'm sure there's some incredibly dumb reason for that.
The Tesla (like any EV I’ve driven) is also fun to drive, but I’d trade away the instant torque for the other features if you made me choose.
Even with gloves on it can be quite cold to remove the all the ice from windows. Or you sit in the cold car for 5 minutes waiting for it to defrost on it's own.
And yes, if your climate control is broken I would pay to fix it.
Edit: When you share a car and have no dedicated parking spot the location information can also be interesting.
I see these extra features as similar to a garage door opener. It is convenient and I'd be willing to pay to fix it if it ever broke
> Pre-heating an EV cabin before departing
Cars have been doing this for a years now with a keyfob. But I suppose over network/cell gives you greater range.
> Turning charging on and off via lets you take advantage of low electricity rates.
I would have thought that'd be a feature of the charger, not the car, but not an EV owner so maybe I'm just wrong here. That does make more sense for an app, but also sounds like a feature that could work fine without one too.
Useful if you're charging in the parking lot at your work, or at a mall or whatever.
E.g. if I want to turn on the seat and wheel heaters, I click on it, and then I need to wait 3 seconds to see if it actually turned them on. Or maybe they were already on, and my click turned them off instead.
The service chat section is entirely useless, and was probably written by somebody drinking bong water. And you _have_ to use it. Tesla even sends you freaking text messages with just a link to the app instead of actual text of the updates.
And I once spent 20 minutes trying to find how I can remove a guest driver from my account. Turns out that there's a small gray button "Manage Drivers" at the very bottom of the screen, past the odometer data.
Sorry. But Tesla is as shitty as other automakers. Or even shittier, because other automakers don't force me to talk with their service centers solely through their crapps.
If you want to unlock a Kia with the app, first you need to pay $15/month, and then you need to press and hold for one second the unlock button, after which you have a 30-50% chance of the unlock request going through. To let you know that it went through, you will receive an email. It's the most user-hostile app I still have on my phone.
So no, Tesla is not as shitty as other automakers. The bar is so much lower than you can imagine.
So yep, Tesla sucks. Other car makers can suck a bit more, but that doesn't make Tesla any better.
Ie. The owner has owned the car for multiple years and has never touched the touchscreen even once.
I'd say most people do want to hear it. The anti-tesla crowd is very loud, but very small. As are most movements borne of emotion and not logic.
Now, as not a car person I don't know if there are cars like that, but seeing:
> it seems like the NissanConnect app [...] may detect when x86_64 Android is being used and then refuse to sign in.
Imagine having a ZenPhone 2, downloading an app to manage your car and it refusing to work. I'd go ape.