如何用siri控制特斯拉——iOS快捷指令玩法更新了吗?

如何用siri控制特斯拉——iOS快捷指令玩法更新了吗?_58汽车

之前分享过使用iOS自带的快捷指令App来控制特斯拉的方法,通过Siri直接打开空调,配合Apple Watch使用非常便捷。但因特斯拉API部分弃用,原教程失效。最近许多朋友对此感兴趣,私信询问新方法。经过研究,终于找到了解决方案,分享给大家。特斯拉官方并未完全废除API,只是更改了获取access token和车辆ID的接口。新接口分为两部分:获取access token的接口为”https://auth.tesla.com/oauth2/v3/authorize”,其他指令接口仍为”https://owner-api.teslamotors.com/”。教程分为两部分,需要建立两个快捷指令。1. 获取AccessToken并唤醒车辆新的获取token接口较复杂,建议使用”AuthforTesla”App。在App Store搜索下载,登录特斯拉账号。登录后,在快捷指令中选择AuthforTesla,执行”GetAccessToken”操作。将获得的token命名为access_token,即可使用原API接口。2. 建立条件判断,直到车辆唤醒在快捷指令中加入优化,判断车辆状态。执行唤醒操作后,获取状态码(state)。如果状态码不是”online”,则弹出通知,5秒后重试,直到状态码为”online”。最后将access token、ID和状态码作为输出。3. 建立打开车辆的快捷指令完成唤醒指令后,根据需求执行其他操作。运行唤醒指令,获取输出字典。将token、ID和在线状态作为变量,供当前快捷指令使用。后续步骤可参考之前教程。如果需要其他功能,可在特斯拉API网站查询相关命令,替换当前使用的打开空调命令。推荐使用第一个网站,说明更清晰。通过以上方法,即使特斯拉API更新,我们仍可使用iOS快捷指令控制车辆,实现Siri语音控制等功能。希望这个教程对大家有所帮助。通过iOS快捷指令App,即使特斯拉API更新,我们仍可实现Siri语音控制车辆。教程分为获取access token、唤醒车辆、执行其他操作三部分。使用”AuthforTesla”App简化token获取过程,加入状态判断优化,确保车辆唤醒。最后根据需求建立快捷指令,实现空调控制等功能。希望这个教程能帮助大家继续使用iOS快捷指令控制特斯拉。

之前发过一篇如何用ios自带的快捷指令app来控制特斯拉的方法。通过这个方法可以通过siri来直接打开特斯拉的空调,配合applewatch会非常方便。

不过遗憾的是,这篇文章中用到的特斯拉的api有一部分已经被官方弃用了,所以这个教程也就用不了。不过最近突然很多小伙伴也很感兴趣,私信的人不少,想让我再研究下新的借口。研究了一段时间后,这几天终于算是成功了,分享出来给需要的小伙伴们。

其实特斯拉官方并没有把整个api废除,只是改变了获取accesstoken和车辆id的接口。现在的接口被分为了两部分,获得accesstoken的是”https://auth.tesla.com/oauth2/v3/authorize”,其他发送指令的接口还是原来的“https://owner-api.teslamotors.com/”。所以这个教程分成两部分,也通过需要建立两个快捷指令来实现。

获取AccessToken并唤醒车辆

需要注意的是,新的获取token的接口被特斯拉改的很复杂,很难直接用快捷指令实现了,这里需要使用一个叫“AuthforTesla”的app。在appstore里直接搜索下载就好了,这个是国外的大佬开源的一个工具。

下载了之后需要进行登录,这里需要填入特斯拉的用户名和密码。我这里只能做一个技术分享,无法保证安全问题。实在担心的话,最好还是不这么折腾了。

之后就是进到快捷指令里面的操作了,快捷指令的基本用法在我之前那篇教程里可以找到,这里就不再重复了。只需要在app里选择AuthforTesla:

然后再选第一个“GetAccessToken”就可以了。

然后将获得的token添加给一个变量并命名为access_token。之后就可以愉快的使用accesstoken使用原来的api接口的地址了。后面的步骤参考之前的教程就好了。

懒得自己动手的可以直接在手机上点这个链接:Shortcuts

建立条件判断,直到车辆唤醒

这快捷指令里我做了点优化,大家都知道,即使是特斯拉的app唤醒也得好半天,在没唤醒的时候去做别的操作时没有用的。所以,我再最后做了一个条件判断:在执行了唤醒后,需要获得接口返回的一个状态码。然后进行条件判断,如果这个状态码(state)不是“online”的话,就弹出一个通知,等5秒后再执行一次本快捷方式,直到得到online的状态码。

最后在结束整个快捷方式时,把之前获得的accesstoken,id以及online这个状态码传递给一个字典,作为这个快捷方式最后的输出。

另外建立打开车辆的快捷指令

完成了车辆唤醒的快捷指令后,就可以根据自己的需要来下指令了

懒得自己操作的,同样在手机上点这个链接Shortcuts就可以了

这里比较特别的是,先需要运行一下唤醒的快捷指令,并从结果中获取词典。然后再根据键名得到之前那个快捷指令的输出,把token,id和是不是在线的状态码做成变量,以便当前这个快捷指令使用。

之后的步骤之前都说过了,就不一步一步在说了。大家可以自己玩一玩

如果还想要其他功能,可以在特斯拉api的网站中找到相关命令的相关网址替换掉我这里用的这个打开空调的就行了。在下面这两个网站里可以查到。我个人推荐用第一个,写的比较清楚。

以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。

原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/6928000/