Description
Vozidlo controls a Škoda from a Garmin watch, through Škoda's official MyŠkoda Public API. Czech for "vehicle", and an independent app with no connection to Škoda Auto.
I built it for my own car, because pulling out a phone to start the climate in a cold car park is more work than it should be.
It shows the state of your vehicle and lets you control what the official API actually exposes:
• State of charge, remaining range and charging status
• Whether the car is locked, and whether a door, window or the boot is open
• Odometer and fuel level, with both engines on a plug-in hybrid
• Start and stop the air conditioning, with a target temperature
• Start and stop charging, set the charge limit and the charge mode
• Where the car is parked, with an address, distance and bearing; a map and navigation where the watch has them
WHAT IT CANNOT DO
It cannot lock or unlock your car. The official Škoda API has no endpoint for that, so no app built on it can. You can see whether the car is locked, and that is all. If locking from your wrist is what you came for, this app is not it.
It also cannot do anything while your phone is out of range. Connect IQ sends every request through the Garmin Connect app on your phone, so no phone means no data. The app keeps showing what it last saw, with the age next to it.
The API is fire-and-forget: a command is only confirmed by reading the car afterwards. The app does that once, about 15 seconds later ("Climate on"), for one extra request. You can switch it off in the settings.
YOU NEED YOUR OWN API KEY
Škoda's API is free and open to anyone, but each user creates their own key. In the MyŠkoda app, version 8.16 or later, open the API key management screen at https://go.skoda.eu/api-keys, create a key, and select the vehicle it may access. Then enter that key and your VIN in this app's settings in Garmin Connect.
Keys are valid for about six months. There is no automatic renewal, so twice a year you will need to create a new one and type it in again.
ABOUT THE REQUEST LIMIT
Škoda allows 20 requests per hour per vehicle, shared with anything else you run against the same car, such as Home Assistant. That is roughly one every three minutes, which sounds tight and mostly is not, as long as the app never polls in the background. It does not. Everything happens when you ask for it.
The data comes from whatever your car last reported, not from a live reading. Sometimes that is minutes old, sometimes hours. The app shows the age of each piece of information rather than pretending it is current.
GETTING TO IT QUICKLY
The fastest route is to make the app a favourite: in the watch settings, Activities & Apps, select the app, and choose Set as Favourite. It then sits at the top of the list you reach by pressing START. Its menus: hold MENU (five buttons), hold BACK (Venu 3, 3S, vívoactive 5) or swipe left (vívoactive 6, Venu 4, X1).
There is also a glance showing charge, charging status and lock state, and four complications you can put on your own watch face.
OPEN SOURCE, AND HOW TO CONTRIBUTE
The code is on GitHub under Apache-2.0: https://github.com/qr/Vozidlo
Issues and pull requests are welcome from anyone. The most useful contribution is support for another watch. If yours is not in the compatible devices list, docs/adding-a-watch.md walks through the three checks that decide it: the screen family, the buttons, and whether the APIs are genuinely implemented rather than merely resolving. For a watch with a known screen it is one line in the manifest.
Issue templates cover bugs, features and device requests. Using AI to write a contribution is fine, as long as you say so and the change makes sense.
REQUIREMENTS
A Škoda with connected services active, the MyŠkoda app version 8.16 or later to create an API key, and your phone within Bluetooth range.
Independent, unofficial app. Not affiliated with, endorsed by, or sponsored by Škoda Auto a.s. or the Volkswagen Group.
What is new
1.3.0
• Runs on 43 watches instead of six, including the fēnix 7S, 7X, 8 and 9, epix Pro, MARQ, Enduro 3, Descent Mk3, Mk3i and G2, D2 Mach 2, Forerunner 255, 255S, 265, 965 and 970, Venu 3, 3S, 4 and X1, and vívoactive 5 and 6.
• Home opens on Status, then Find my car, then the commands.
• Where the watch has no onboard maps, Find my car shows the address, distance and bearing, and START opens its list with Navigate and Refresh.
• The target temperature is a list, like the charge limit.
• Clear stored data is now in Settings and removes everything, including the car's last parked position.
• Fixed: after one "rate limit exceeded" the app never asked the car again until you cleared its data. It now waits an hour and carries on.
• Fixed: a tap could spend a request from the hourly quota.
1.2.0
• The app checks the car after a command: about 15 seconds later it reads the car once and shows "Climate on", "Charging stopped" or what the car reports instead. One extra request per command; switch it off in the settings ("Check the car after a command").
1.1.6
• Fixed: stop climate, charging and ventilation never reached the car from an Android phone ("Not sent (0)").
1.1.5
• A failed command now says why, with the status first: "Not sent (422): Your car can't do this."
• Home only offers the commands your car supports.
1.1.4
• Fixed: 1.1.3 crashed at launch.
1.1.3
• Fixed: a list opened with no rows drawn, and they appeared a moment later.
1.1.2
• Lists show their three rows close together in the middle of the screen; the next row scrolls in as you move.
• Home shows the charge in large figures again, and the Plugged in chip is back.
1.1.1
• Scrolling home no longer opens Charging or Status by itself: the list wraps around at both ends, like Garmin's own menus.
• Every list shows three rows, so nothing is cut off at the round edge of the screen.
1.1.0: a new look
• Every screen redrawn: black with one green accent, words instead of raw API values, and every line fits the round screen.
• Home is a list: charge, lock and charging state on top, each action a row below.
• Charging detail, charge limit, charge mode and profiles are reachable with the buttons again.
• Status pages with page dots; START opens Refresh and more.
• Find my car shows the distance in a ring with a pointer, and you can start navigation from the map.
• A steering wheel as the app icon.
• Fixes: text cut off by the round edge, focus jumping back to the top, menus sliding out the wrong way, stray taps spending quota.
Screenshots
Supported language (1)
Compatible devices (54)
D2™ Air X15
D2™ Mach 1 Pro
D2™ Mach 2
D2™ Mach 2 Pro
Descent™ G2
Descent™ MK3 - 43mm
Descent™ MK3i - 51mm
Enduro™ 2
Enduro™ 3
epix™ Pro (42mm)
epix™ Pro (47mm)
epix™ Pro (51mm)
fēnix® 7
fēnix® 7
fēnix® 7 Pro
fēnix® 7 Pro – Solar Edition (No Wi-Fi®)
fēnix® 7S
fēnix® 7S
fēnix® 7S Pro
fēnix® 7X
fēnix® 7X
fēnix® 7X Pro
fēnix® 7X Pro No Wi-Fi
fēnix® 8 AMOLED (43mm)
fēnix® 8 AMOLED (47mm/51mm)
fēnix® 8 Pro
fēnix® 8 Solar (47mm)
fēnix® 8 Solar (51mm)
fenix® 9 – 47 mm
fenix® 9 Pro - 47 mm
fenix® 9 Pro - Solar 47 mm
fenix® 9 Pro - Solar 51 mm
Forerunner® 255
Forerunner® 255 Music
Forerunner® 255S
Forerunner® 255S Music
Forerunner® 265
Forerunner® 955 Dual Power
Forerunner® 965
Forerunner® 970
MARQ® (Gen 2)
MARQ® Commander (Gen 2) – Carbon Edition
MARQ™ Aviator (Gen 2)
tactix® 7
tactix® 7 – AMOLED Edition
tactix® 8 – 47 mm, AMOLED
tactix® 8 – 51 mm, Solar
Venu® 3
Venu® 3S
Venu® 4 – 41 mm
Venu® 4 – 45 mm
Venu® X1
vívoactive® 5
vívoactive® 6