[Kia EU] Last action status check #272
zulufoxtrot
started this conversation in
Ideas
Replies: 2 comments 1 reply
-
One remark:
I wonder what "successful" and "complete" mean in this context, and if we get different confirmation levels by region. |
Beta Was this translation helpful? Give feedback.
1 reply
-
I found one more possible result: {
"deviceId": "0a010f1e-46a7-41e5-9192-fcb85d95251b",
"vehicleId": "ad7ab69a-9cc7-4406-873d-603a848983f3",
"recordId": "6df37797-a06a-43ec-bcf2-1dd48fee6e66",
"confirmedYn": true,
"action": "uvo://control/temperature/start",
"result": "non-response",
"record": "[No response] Start climate control command sent to vehicle, but no response received. Please check your vehicle status.",
"createdAt": "2023-01-26 11:52:25.838",
"updatedAt": "2023-01-26 11:54:26.174"
} So this is the current list of possible values for the
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Putting this in a discussion, as i'm still debating if/how it can be implemented.
Analysis
The EU API does appear to support some kind of status check for actions. However, it is not nearly as straightforward as US/CA APIs.
I did some reverse engineering of the mobile app tonight.
Here is what I think the flow is, with a hypothetical command to start charging. In this case, the car is not plugged in, so the car is supposed to return an error.
POST /api/v2/spa/vehicles/{car_uuid}/control/charge
response body:
The "S" means the order went through, but it does not mean it succeeded. I'm not even sure if it warrants the message reached the car.
The next call is:
GET /api/v1/spa/notifications/{car_uuid}/records
response body:
The list of messages in resMsg is actually longer (at least a month worth of message history) but I cleaned it up for this example.
the
recordId
in this object matches themsgId
from the previous request.This response is displayed in the "notifications" section of the mobile app:
Here is what a successful order confirmation looks like:
One more thing: if the
/records
request is made too soon after the order, the confirmation is returned in an incomplete state:I do NOT know how the app knows how long to wait before checking. I did some testing and it seems erratic. Sometimes the app does not check at all unless I manually tap the Notifications button. It then takes me to the Notifications page AND finally displays the confirmation modal at the same time...
Here is the diff. Left: result a few seconds after sending the command. Right: result a few minutes after sending the command.
Another thing. If the car manages to execute the order and confirm execution, the cached status is updated, at least in part. I can confirm this for doors status at least, but there's no reason to think it does not work for other values (except maybe position).
Conclusion
Based on this analysis, we can confirm the following:
msgId
/recordId
I think we can implement action confirmations for Kia EU and I think it is compatible with the model used in #195. As soon as this is merged I'll try to implement it :)
Beta Was this translation helpful? Give feedback.
All reactions