Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Nikola, an Amazon Echo/Skill for your Tesla

This site may earn commission on affiliate links.
I second the concern about 3rd party access. Besides, this is a fun geek challenge.

I'm trying a port forward to my computer running the script but it doesn't work so I can have this running without needing to manually run ngrok and then re-configure the Amazon dev page for the https: endpoint every time I restart the computer, etc.

I can't seem to get simple port forwarding to port 5000 on the host Mac to work, whereas ngrok works without a hitch.
 
Why not use Mosaic? Mosaic
That's my sense as well. Mosaic already has a number of Tesla commands that work quite well and I assume that its Tesla capabilities will continue to grow.

I share the same concern as @sbtz. If they would let me supply my token instead of my userID + password, I would use them for sure. For now, my changes to Nikola were accepted and I'm using the OAUTH token method and not providing my userID + password.

Speaking for myself, I didn't feel comfortable giving my username and password to a third party.
 
Regarding using ngrok: (this app is totally new to me.) Do you just run ngrok once, and the URL it generates lasts forever? It seems too easy! I'm wondering if the host computer reboots, or the python script is aborted, and then restarted, will the ngrok URL work again? Or, do we have to regenerate the URL for each reboot or restart of the host computer or python script? Edit: I asked the developer of ngrok: it has to be continuously running in order to keep the url open, and that url goes away when it stops. Any suggestions for a more permanent way to set a URL to get to your local installation? I'm familiar with dynamic dns services (I use no-ip.com), but not sure if it will pass an https: request.
To be honest I am not 100% sure how ngrok works and I don't know if it will survive if your WAN IP changes but most of the things that cause a WAN IP to change, like rebooting your router, will likely mean that you have to restart ngrok anyhow. It would also be nice if ngrok always gave you the same URL but I don't know how to force that. I use a DynDNS service as well but my internet is via cable and my WAN IP rarely changes unless I do something like change my router.

In terms of the speed - I think that is just the nature of having to poll the Tesla API/servers to get the info which takes a few seconds. I have built a couple of other Alexa skills to do other stuff, like report weather info from my home weather station using the Wunderground API or getting a report on my solar power generation from the SolarEdge API and they are way faster than nikola. I don't know that nikola can be made any faster.

I have had multiple ngrok processes running for many days without any issues and the Alexa skills continue to work. And I am even doing this in a very roundabout way as I have the skills running on a VPN running Ubuntu that is based in the Netherlands, and I have another skill or two running on a Raspberry Pi from my home.
 
That's my sense as well. Mosaic already has a number of Tesla commands that work quite well and I assume that its Tesla capabilities will continue to grow.

Thanks artsci. I am one of the developer from Mosaic, there are several new features released recently.
1. You can warm up your tesla in the Good morning workflows, or lock up the car and start charging automatically in the Goodnight workflow. The workflows are customizable.
2. There are 3 new commands, you can use 'is my car locked?' to check the lock status, or "whats tesla temperature" to get the real-time inside and outside temperature of your tesla, and "set tesla to 72" to start the HVAC system and set temperature to 72.
All the above new features are available on Alexa, FB Messenger, Slack and SMS. Any feedbacks are super appreciated as we keep building the service. :)
 
I share the same concern as @sbtz. If they would let me supply my token instead of my userID + password, I would use them for sure. For now, my changes to Nikola were accepted and I'm using the OAUTH token method and not providing my userID + password.

Hi, this is Jeff from Mosaic. As a tesla user, we understand how important it is to keep users information confidential. Mosaic only keeps the tokens which is authorized through Tesla API with the log in credentials you have provided, then use the tokens to send the request on behalf of users upon the user's command. Hope that helps clarifying the concerns you have. We are passionate about connecting smart devices and cars to voice and building powerful applications on top it, will keep iterating on the Tesla's capabilities. Feel free to contact us if you have any further questions or concerns.
 
Hi, this is Jeff from Mosaic. As a tesla user, we understand how important it is to keep users information confidential. Mosaic only keeps the tokens which is authorized through Tesla API with the log in credentials you have provided, then use the tokens to send the request on behalf of users upon the user's command. Hope that helps clarifying the concerns you have. We are passionate about connecting smart devices and cars to voice and building powerful applications on top it, will keep iterating on the Tesla's capabilities. Feel free to contact us if you have any further questions or concerns.

I understood the process and figured that is how you are doing it, but unlike @Jdeck for TeslaFi, Mosaic doesn't provide a means for me to supply the token myself, thereby never sharing the userID + password combination. That is the part I wish more third party providers would allow (until Tesla lets you use a more traditional OAUTH process using their login page instead of the third party's.
 
Hi, this is Jeff from Mosaic. As a tesla user, we understand how important it is to keep users information confidential. Mosaic only keeps the tokens which is authorized through Tesla API with the log in credentials you have provided, then use the tokens to send the request on behalf of users upon the user's command. Hope that helps clarifying the concerns you have. We are passionate about connecting smart devices and cars to voice and building powerful applications on top it, will keep iterating on the Tesla's capabilities. Feel free to contact us if you have any further questions or concerns.

Thanks Jeff. I'll try these new things out tonight.