15 ms·
Show HN: Nissan's Leaf app doesn't have a home screen widget so I made my own
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.
- MBCook 1y agoFord will flat out lock your account so even the official app won’t work for you if they notice you using a 3rd party app.
- DaSHacka 1y agoWhat recourse (if any) do owners have if that happens?
- light_hue_1 1y agoIt's not that bad, unless you don't have a backup way of getting into your car handy. You create a new account and associate your car with it. Many people have been bitten by this, it's a common thread on related forums. https://www.macheforum.com/site/threads/ford-suspending-accounts-due-to-third-party-connections.34189/ 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.
- standyro 1y agoI briefly worked with folks in this industry. They’re generally underpaid and under resourced.
- kjkjadksj 1y agoIt costs more time and money to set up these walls vs not bothering. And there was a time when they didn’t bother and hacking was easy. Not just in cars but any consumer facing product running software. 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.
- MBCook 1y agoThey are absolutely not unusable junk. I love mine. 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.
- light_hue_1 1y agoI wish that US car manufacturers would finally realize that they're software companies with a hardware device, and pivot accordingly. 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.
- kristopolous 1y agoI used to be in the space. Basically everyone would install an SBC behind the dash to listen to the canbus and then report things over cell often with ways of shorting a circuit in order to do features. 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.
- znkynz 1y agoThis mindset gets the Demister function buried in a touchscreen. I don't want a touchscreen for most driving related functions; buttons or switches thanks.
- margalabargala 1y agoPlenty of car companies have realized the don't have core competency in software and simply run Android with some addons. Chevrolet for example does a fairly good job of this. 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.
- conk 1y agoI don’t want to drive a computer. I want to drive a machine. Give me some buttons to control the car and a decent screen for nav (CarPlay/android auto) and I’m happy.
- liamwire 1y agoI love the commitment to getting this to work at no cost, on principle. Many of my favourite personal projects have followed similar paths, and have often been fun challenges for that reason alone. Great article, thanks for sharing.
- STELLANOVA 1y agoGreat work! I love commitment to make it at no cost as @liamwire mentioned. Still not sure why on Earth car manufacturers would not just release APIs open to all owners (basically issue API key based on VIN) and let them use it. For developers to build apps that will only require API key to be entered would be win/win for everyone....
- xp84 1y ago> Still not sure why on Earth car manufacturers 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.
- smokel 1y ago> 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. 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.
- robertlagrant 1y agoIndeed. The day to day compliance work will be very expensive, and in addition you would need to put a lot of money aside in case of a security flaw.
- xp84 1y ago
- 63 1y agoThat's pretty cool! It's extremely frustrating that they go through so much effort to block third party apps, but the solution of just downloading and emulating the android app is simoultaneously very clever and very straightforward. A nice reminder not to overthink simple things. Cheers on a project well done!
- magicalhippo 1y agoHad a 2017 LEAF, and could never get that app working. 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.
- deleted 1y ago[deleted]
- vincekerrazzi 1y agoI had the same situation with my Polestar app up until recently. My solution was perhaps fewer moving parts? Worked well for nearly a year before I didn’t need it anymore. -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.
- deleted 1y ago[deleted]
- featherless 1y agoOh hey that's my startup's app, Sidecar, mentioned! Cool to see :D
- jdminhbg 1y agoNobody wants to hear it in 2025 but this is one of the reasons Tesla is still a much better experience than most of the legacy car manufacturers. Car People like to think of apps as a weird Tech People affectation, but in actual day-to-day usage, they're invaluable.
- everdrive 1y agoThis is also in turn why cars without apps or screens are even better still.
- cyberax 1y agoTesla's UI experience is just about as shitty as of other automakers. And you don't have the escape hatch of CarPlay/AA.
- jdminhbg 1y agoIt really just isn't, especially when it comes to the app. I've dealt with Ford in the past and Kia in the present, and it's like having a carrier-supplied dumb phone vs an iPhone in 2007. Completely separate experience.
- cyberax 1y agoI stopped using the official Tesla app entirely. It's so freaking sluggish and useless. They spent all their effort on drawing a toy car with shiny animations, and neglected everything else. 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.
- bihan 1y ago[flagged]
- condwanaland 1y agoA huge number of people. They're a very well selling car
- lostlogin 1y agoMe! Best car I ever owned. It’s got the turning circle of an oil tanker and and is frustratingly easy to turn on wrong, but I like it a lot. Maybe I need to aim higher?
- aprilthird2021 1y agoCool! I like that it just works ™ and is a lot more resilient to the hostile first party than other approaches. 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?
- kcon 1y agoThanks! The IFTTT widget can supposedly update within a few seconds of receiving the triggering email since this is a “real-time applet” (https://help.ifttt.com/hc/en-us/articles/4412435510171-What-is-the-difference-between-polling-Applets-and-realtime-Applets https://help.ifttt.com/hc/en-us/articles/4412435510171-What-...), but in practice it seems to update more on the order of several minutes after the scraping workflow runs. 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/actions/workflows/updater.yml https://github.com/kevincon/nissan-leaf-widget-updater/actio...
- wizerno 1y agoDoes anyone else miss the functionality of the Android WhatsApp widget [1] on iOS? Being able to read messages without sending read receipts via the widget is a great feature. The iOS notification 'peek' is a clumsy substitute. 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-widget-on-Android https://www.tomsguide.com/how-to/how-to-use-the-WhatsApp-wid...
- nikanj 1y agoIt is implemented in the app itself. WhatsApp > Settings > Privacy and turn off Read receipt.
- bayindirh 1y agoThe use case is slightly different. I prefer to send read receipts, but I also like to peek at messages without sending them and removing unread counts because I want to add the message to my mental queue, but don't want the false impression that I didn't bother to answer the said message.
- nikanj 1y agoAh, you want to read messages without letting the recipient know you've read the message, while still having read receipts enabled. I'm not surprised WhatsApp does not support this one, I think they want their users to be able to trust the read receipt indicators
- bayindirh 1y agoActually it supports that, via notifications and peek. The intent is not nefarious, as I said before. I don't want the person who sent me the message think that I read their message and just tossed to a virtual bin. 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.
- djaychela 1y agoJust like OBD, I think api access to data like this should be open to the car user. If the manufacturer is taking the data ( as they do with my renault zoe) then it should be available to the end user at a standard API which is available across all manufacturers, so if you change car you can just point your setup at a new endpoint with new credentials and all the endpoints and responses are standard, just like OBD2 is (yes I know manufacturer tools go deeper but that's another issue)
- smokel 1y agoIn the EU, this may soon be covered by the Data Act [1]. It'd be interesting to see if other continents will benefit as well, similar to how cookie banners are now a global thing. [1] https://digital-strategy.ec.europa.eu/en/policies/data-act https://digital-strategy.ec.europa.eu/en/policies/data-act
- Gasp0de 1y agoDaring to call cookie banners a benefit.
- kjkjadksj 1y agoYou should be able to intercept inspect and modify any data in any device you own. I’m not even sure what the reason for locking things down really is anymore. It isn’t any more secure as hackers breach into these things routinely anyhow, and everyone running the same software expands the risk envelope and reward of hacking greatly. It turns power users away who might have added to sales just buying your product to use as a dummy sensor for some other purpose vs the ones marketing come up with. 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.
- mxmilkiib 1y agoI love the modern GitHub Actions composition process the project uses 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
- russum 1y agoWhat a persistence by the author, but why would Nissan make this so hard?
- Ambadassor 1y agoIf you're running Home Assistant and your LEAF is from before 2019, you may be able to replace the scraping part with the Nissan Leaf integration https://www.home-assistant.io/integrations/nissan_leaf/ https://www.home-assistant.io/integrations/nissan_leaf/. Their iOS app also has support for custom widgets https://companion.home-assistant.io/docs/integrations/ios-widgets https://companion.home-assistant.io/docs/integrations/ios-wi... which might suffice for what you're trying to achieve. It's unfortunate that newer cars are not supported.
- kcon 1y agoThanks for sharing! Unfortunately I do have a model year newer than 2018.
- Gasp0de 1y agoI wonder if the OBD alternatives mentioned in the article actually work? I'd imagine that they wake up the entire CAN bus frequently, quickly draining the cars 12V battery?
- tmtvl 1y agoI'm not a car person, but as an Ubuntu Touch user I have ran into issues with bike share providers who only allow renting a bike through an app which is only available for Android or iOs. I take umbrage at that and liken it to cars: imagine if you could only unlock your car with an Android phone or an iPhone. If your phone were to malfunction or got stolen or whatever you wouldn't be able to get into your car. 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.
- hkgjjgjfjfjfjf 1y ago[dead]