The problem with doing this with Teslas, as I have had one for years and thought about building this, is trusting someone else to hold your credentials for your car. There is no authorization scoping and anyone with the credentials can find the car, unlock it, get in and drive it away. Also, plenty of mischief as well like opening the sun roof, the trunks, flashing the lights and honking the horn. I wish they had proper OAuth with scopes that could support use cases like this one.
Passage AI is using Smartcar.com (disclosure: my company) to build TeslaBot. We do the work facilitating OAuth2 and permission scopes so that developers do not need to handle usernames or passwords.
However Tesla doesn’t provide a way to grant a token to a 3rd party so you (your application) would still need my tesla account credentials.
How are you solving this?
I guess I am confused. I use ValetforTesla, granted it runs on my Mac, but I do not give anything other than token generated through an API call via a script, npx generate-tesla-token [1] ; after a NPM install through terminal. So yeah, its not official, but its open enough to know what it does
there are sites out there which claim security to generate tokens for you but I am not going to even begin to suggest them.
As long as you are running the software yourself then you are the only responsible party. (assuming they don't just send your credential to their server :) )
> anyone with the credentials can find the car, unlock it, get in and drive it away
While the first three are true, you can't actually drive the car without an authorized key. Adding a new authorized key requires an existing authorized key. However, if you have a Model 3 and keep a valet key card in your car, then yeah anyone who can unlock your car can also drive it.
You can definitely drive my Model S with only the credentials. I have been in a situation where I had to install the app on a new phone then unlock it and drive away. Model 3 may be different but I don't think it is.
You still need some sort of authentication before the vehicle will let you switch into drive. In a Model 3, those options are either an authenticated smartphone, a key card, or a key fob. You cannot enroll any of those three keys without having an authenticated key present.
I do not believe this is true. You can start the car with just the account credentials. You will have two minutes to start driving, as the GP states; it’s called keyless driving mode. I’m pretty sure as I have used it when my phone broke and started the car with unpaired iPad. You need a key fob or key card to add a new paired key/phone, a paired smartphone doesn't work for that.
I do not have a Tesla, and I do not know what is available out there in terms of managing a Tesla from a remote location. But I am curious about using the chat bot-format for a status monitor application like this. What value does it provide to the user that is not fulfilled by an application just displaying the statuses to the user?
I get that in this case everything is handled inside of Facebook Messenger, and to some extent there is interaction that provides a value to the user such as the range calculation described in another comment by sahaskatta.
But I am curious about other situations where a chat bot provides an extra value, not only considering this application?
I once wrote a chat bot for a printer (think big photocopier with network printer functionality operated by student body of ~10 students and used by ~2000 students).
It had simple commands for showing the state of consumables or monitoring budget spent (calculated based on spent consumables). But the real value came from the chat bot requesting actions ("yellow toner at 12%, verify replacement is in storage", "A3 paper is running low, refill suggested", "heavy A4 paper empty, replace now", etc).
Of course all of this could have been it's own app with push notifications. But getting people to install that would have been much harder than having them use a chat bot in a messenger they already have. Using a chat bot also made it available everywhere, on Android, iOS, Windows, the Linux distribution of the week, if you desire even your watch or fridge, with synchronised notifications. And all that with a bit of code running on some server, none of the head aches of front-end development.
I think of chatbots as asking the question "what if we could put an AGI (artificial general intelligence) in here" and programming the closest approximation for the task. Sometimes that's a natural language interface, and that's what most people focus on (lots of money in customer support and sales automation). But if our office coffee machine had an AGI I wouldn't care about natural language comprehension, I want to be able to tell it to have coffee ready when I come to the office early and I want it to convince humans to clean it.
I don't know how trade-marks work, but Tesla is also just a name, isn't it? Maybe they just need to hire someone whose last name is Tesla and claim it was named after them haha.
The standards there are things like 'could one reasonably confuse your product or service with one provided by some other business, based on the names you're using' not 'do you have someone named Mercedes working in ops'.
As a user I find it mildly offensive. Elon himself probably would laugh it off. Not going to use this as I find the exploitation of the name kind of gross. Maybe in 100 years if he’s not around then fine... but for now it’s too soon.
There are a few neat features that Tesla's app doesn't offer:
1) You can use it from your computer browser. (Anywhere that Facebook messenger works!)
2) It can find nearby ChargePoint stations.
3) You can ask it "Does my car have enough range to drive to San Francisco?" and it will check your car's range and the distance required to travel there!
I'm not involved with the development, but we know the folks at Passage AI building this and I hear a lot more exciting things are coming soon!
Looks like they're using the SmartCar API (https://smartcar.com/tesla/). The app does most of the actions the API provides, but maybe the bot can help with aggregating data like previous locations or odometer readings?
Wow, SmartCar's pricing is insane. They have a free tier and that's nice, but a paid plan with support starts at $0.15 per request. And all this thing does is lock/unlock, location, odometer and vehicle info. Why would anyone use this?
Hi! I'm one of the co-founders of Smartcar. I'm happy to connect with you if you have more feedback on pricing. We're always looking to evolve it to ensure it is attractive/competitive and can work for your app or business. My email is sahas@smartcar.com
Assuming you're on iOS due to airpods comment -- here are a bunch of actions you can add to the shortcuts app so that you can access all of that stuff via Siri
A few things that you can't do in the official app, but you can do in the Teslabot: (1) voice control - send a voice messages/commands to Teslabot, (2) find out whether your car can go to a destination such as San Francisco with the current charge - Teslabot figures out location of the car, distance to the destination, battery range and answers that question, and also the bot is available from your laptop/desktop.
I was wondering the same thing.. I understand that there are some additional features, but what is keeping Tesla from providing those features in a future app update? This is a cool product, but I wonder about the ability of it to compete with the official app, especially when they are relying on Tesla's API.