widewing / ha-toyota-na

Home Assistant integration for Toyota Motor (North America) connected services
75 stars 17 forks source link

Remote Start Functionality #5

Closed johndbritton closed 2 years ago

johndbritton commented 2 years ago

I've successfully got this integration running and connected to my 2020 RAV4 and I was wondering if there's any functionality to call the remote start function.

If it doesn't exist do you have any pointers on where to get started to try and add it?

vanstinator commented 2 years ago

I'll take this on this weekend. Should be trivial to implement.

johndbritton commented 2 years ago

The necessary functionality was added to toyota_na in this PR: https://github.com/widewing/toyota-na/pull/3

78hawkeye commented 2 years ago

The code in toyota_na is working great for me for the newer models, and I think there is still work ongoing to get the previous generation Toyotas added and also do some streamlining. It's working great for me on a 2021 Highlander and a 2021 Tacoma.

I set it up as a rest service in HA, calling the toyota_na code through a php script on another raspberry pi I have set up on the network. I wasn't able to load the toyota_na code onto my HA pi running homeassistant OS using pip, as it appears to be missing gcc. If smarter people can incorporate it into the HA project that would certainly simplify things, but if you're willing to load toyota_na there is fortunately now a workable solution for newer models. Great work and many thanks to all of you that figured it out!

vanstinator commented 2 years ago

I'll be exposing the remote start as a service in HA, at least to start. So you'll have a native way to both turn on and turn off the vehicle with this integration.

I'd like to figure out the API call the app is using to determine how many minutes are left in the remote start time (and whether the car is currently running or not) so that I can expose a switch platform instead. But that's going to be additional reverse engineering work as that data doesn't appear to be included in any of the existing endpoints.