Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Methods for polling vehicle status, not diagnostics #230

Open
natereprogle opened this issue Aug 30, 2023 · 8 comments
Open

Methods for polling vehicle status, not diagnostics #230

natereprogle opened this issue Aug 30, 2023 · 8 comments

Comments

@natereprogle
Copy link

I'm not sure if this is even possible (And if not, I'm not complaining since OnStar doesn't even provide public APIs to begin with), but is there any way to poll vehicle status? I know it's easy to send commands to the vehicle, but I wonder if it's possible to check the status of the vehicle. For example, can you check if it's locked or unlocked? Can you check how many minutes are remaining on the remote start timer? Feel free to answer if/when you get the chance, thanks so much for the work you've done with this!

@livetoautomate
Copy link

Great work on this library. I'm using the NodeRed onstar2 integration and it works wonderfully.

I was looking under the diagnostics node but could not find an option to get the door lock state. Like OP, I'm not complaining just second'ing the request for door lock status!

Thanks again.

@KumarMudedla
Copy link

Commenting to see if any one was able to find way to get door lock status

@livetoautomate
Copy link

I ended up abandoning OnStar integration with HA. It was just too cumbersome to work with; I decided to use the MyGMC app which has all the statuses.

@joelvandal
Copy link
Contributor

I ended up abandoning OnStar integration with HA. It was just too cumbersome to work with; I decided to use the MyGMC app which has all the statuses.

You have door status from MyGMC ? Ex. if door is unlocked, etc ?

@livetoautomate
Copy link

Temporarily, but Yes. When I issue a lock command, it shows “sent” and then “locked”. The “locked” status only shows after issuing a “Lock” command and then disappears.

You may be able to query the status of the vehicle every 5 minutes and then create a sensor based on the return result. Not sure but I imagine that the MyGMG app is doing something similar. I only say that because it only reports locked after issuing a lock command.

Going back to my earlier comment; it’s just too cumbersome to work with… case in point.

IMG_2553
IMG_2554

@livetoautomate
Copy link

If you really wanted to get clever, you could MITM your device running the MyGMC, MyChevy, etc. then monitor the calls to see what the cloud service is returning.

The MITM is not outside of my expertise but deciphering the return result from the service definitely is…

@joelvandal
Copy link
Contributor

joelvandal commented Nov 28, 2024

If you really wanted to get clever, you could MITM your device running the MyGMC, MyChevy, etc. then monitor the calls to see what the cloud service is returning.

The MITM is not outside of my expertise but deciphering the return result from the service definitely is…

I tested with MITM, and when OnStar return the "completion status", the button on the application change for few seconds, it only visual.

Since about 2 weeks, I captured all commands (start/startCancel, lock/unlock Door/Trunk, status, etc) sent/receive for about 250 vehicles (Bolt/Equinox EV/Blazer EV) right now and with my analysis, it not something that is "recorded"

@livetoautomate
Copy link

livetoautomate commented Nov 28, 2024

The service may just be issuing the command and relying on the vehicle to process the request without any actual status/state output

I’m guessing it just flashes Locked/Unlocked when the vehicle reports that it received the command regardless of whether it actually locks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants