Da im Wartesaal immer mal wieder die Frage aufkomme was man selber von Skoda zur Bestellung abfragen kann hier ein kleiner Guide.
Ein bisschen technisches Verständnis braucht es dazu, ich möchte hier keine kleinteilige Schritt-für-Schritt Anleitung schreiben. Bei Problemen mit der Durchführen kann z.B. eine KI auch sehr gut helfen.
Vorweg: Für die MySkoda-App gibt es keine offiziell dokumentierte öffentliche API. Die Schnittstellen wurden aber von der Community nachvollzogen und werden unter anderem von der Python-Library myskoda genutzt, die aus der Home-Assistant-Ecke kommt.
Damit kann man z.B.:
- Fahrzeugdaten wie Ladestand, Reichweite oder Kilometerstand abfragen
- Funktionen wie Klimatisierung oder Laden steuern
- Daten zu einer noch nicht ausgelieferten Bestellung abrufen
Für Letzteres ist dieser Endpoint interessant:
Zurück kommen z.B. orderStatus, Fahrzeugkonfiguration, Batterie, Händler und verschiedene Checkpoints der Bestellung.
Für die Nutzung der Python-Library zur Abfrage benötigt man Python 3.13 oder neuer und muss sich dann die Bibliothek installieren. Das ganze macht man in Windows z.B. über die Powershell.
Mit installierten Python py -m pip install myskoda ausführen
Wer das ganze einmal ausprobieren möchte, ohne selber ein Skript zur Abfrage zu schreiben, kann folgenes Skript benutzen:
import asyncio
import getpass
import json
from aiohttp import ClientSession
from myskoda import MySkoda
async def main():
email = input("E-Mail: ")
password = getpass.getpass("Passwort: ")
async with ClientSession() as session:
skoda = MySkoda(session, mqtt_enabled=False)
# Bei MySkoda anmelden
await skoda.connect(email, password)
# Garage abrufen und die Kommissionsnummer der Bestellung finden
garage = json.loads(await skoda.rest_api.raw_request(
"/v2/garage?connectivityGenerations=MOD1&connectivityGenerations=MOD2&connectivityGenerations=MOD3&connectivityGenerations=MOD4",
"GET"
))
order = next(v for v in garage["orderedVehicles"] if "commissionId" in v)
# Bestelldaten über die gefundene Kommissionsnummer abrufen
result = await skoda.rest_api.raw_request(
f"/v2/garage/vehicles/ordered/{order['commissionId']}",
"GET"
)
print(json.dumps(json.loads(result), ensure_ascii=False, indent=2))
await skoda.disconnect()
asyncio.run(main())
Alles anzeigen
Einfach als bestellung.py oder so abspeichern und dann mit py .\bestellung.py ausführen