Toyota: the status route the car answers, not the one it retired
Toyota put the /v1/global/remote read routes behind AWS SigV4 in mid-2026. A bearer token is no longer a credential there, so the doors-and-windows card has been asking a gateway that answers 403 — the one section of the provider tab that could only ever have been in error. The MyToyota app reads that state from /v1/vehicle/status now and pytoyoda followed it in 5.2.0; so does the connector. The electric route did not move, and the comment above the endpoint block says which of the two namespaces each one lives in, because the obvious tidy — sweep the rest onto /v1/vehicle/* — would break the ones that still work. The same migration gave the climate reads a home worth porting: /v1/vehicle/ climate-status is what the cabin is doing, climate-settings the preset it was told to do it at. Both are GETs with a vin, both are new cards on the tab, and their headings are in all three languages on both apps. Nothing about the tab's plumbing changed to hold them — a section is an id, an action, and whatever JSON comes back, which is the point of that shape. Left where they are: the POST wake calls. Upstream refreshes a stale reading by waking the modem, and this connector is documented as read-only, so climate and status show what the car last reported rather than what it would say if asked twice. The cost is a reading that can be hours old, and it is the honest one to pay for a connector that promises not to touch the vehicle. Two tests keep the migration from being undone by hand: one fails if any advertised capability points back at a retired route, the other if a capability is advertised without being wired into Invoke, which is the way the next endpoint would go missing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a203414ceb
commit
22a22ec43a
@@ -419,6 +419,8 @@
|
||||
"telemetry": "Kilometerstand og rækkevidde",
|
||||
"electric": "Batteri og opladning",
|
||||
"status": "Døre, ruder og lys",
|
||||
"climate": "Klimaanlæg",
|
||||
"climateSettings": "Klimaindstillinger",
|
||||
"health": "Køretøjets tilstand",
|
||||
"location": "Sidst kendte position",
|
||||
"serviceHistory": "Servicehistorik hos forhandler",
|
||||
|
||||
@@ -418,6 +418,8 @@
|
||||
"telemetry": "Odometer & range",
|
||||
"electric": "Battery & charging",
|
||||
"status": "Doors, windows & lights",
|
||||
"climate": "Climate",
|
||||
"climateSettings": "Climate presets",
|
||||
"health": "Vehicle health",
|
||||
"location": "Last known location",
|
||||
"serviceHistory": "Dealer service history",
|
||||
|
||||
@@ -423,6 +423,8 @@
|
||||
"telemetry": "Przebieg i zasięg",
|
||||
"electric": "Akumulator i ładowanie",
|
||||
"status": "Drzwi, szyby i światła",
|
||||
"climate": "Klimatyzacja",
|
||||
"climateSettings": "Ustawienia klimatyzacji",
|
||||
"health": "Stan pojazdu",
|
||||
"location": "Ostatnia znana lokalizacja",
|
||||
"serviceHistory": "Historia serwisowa u dealera",
|
||||
|
||||
Reference in New Issue
Block a user