NEWS
Test Adapter skoda-public-api v0.1.x
-
Hallo zusammen,
ich suche Tester für den neuen Adapter ioBroker.skoda-public-api.
Der Adapter bindet Škoda-Fahrzeuge über die offizielle MyŠkoda Public API in ioBroker ein. Er liest Fahrzeugdaten aus und unterstützt – soweit vom jeweiligen Fahrzeug und der API angeboten – verschiedene Fernsteuerungsbefehle.
Aktuelle Testversion
Version: 0.1.6
GitHub:
https://github.com/tmarthy/ioBroker.skoda-public-apinpm:
https://www.npmjs.com/package/iobroker.skoda-public-apiPull Request zur Aufnahme in das ioBroker-Latest-Repository:
https://github.com/ioBroker/ioBroker.repositories/pull/6592Voraussetzungen
- Node.js 22 oder neuer
- js-controller 6.0.11 oder neuer
- Admin 7.6.20 oder neuer
- MyŠkoda-App ab Version 8.16
- ein in der MyŠkoda-App erstellter Public-API-Schlüssel
- mindestens eine für diesen API-Schlüssel freigegebene VIN
Der API-Schlüssel wird in der MyŠkoda-App unter „API key“ erstellt. Beim Erstellen muss das gewünschte Fahrzeug ausgewählt werden.
Wichtig: Die Public API erlaubt maximal 20 Anfragen pro Stunde und VIN. Der Adapter verwaltet dieses Kontingent und reserviert auf Wunsch Anfragen für Fahrzeugbefehle.
Installation
Da der Adapter noch nicht im offiziellen ioBroker-Repository enthalten ist:
- Im ioBroker-Admin den Bereich „Adapter“ öffnen.
- „Adapter aus eigener URL installieren“ auswählen.
- Unter „Beliebig/Custom“ folgende URL eintragen:
https://registry.npmjs.org/iobroker.skoda-public-api/-/iobroker.skoda-public-api-0.1.6.tgz
- Anschliessend eine Instanz des Adapters erstellen.
- API-Schlüssel und VIN in der Adapterkonfiguration eintragen.
- Mit „Verbindung testen“ die Konfiguration prüfen.
Alternativ kann der Adapter über seine GitHub-Adresse installiert werden:
https://github.com/tmarthy/ioBroker.skoda-public-api
Bitte beachten: Der Adapter befindet sich noch in der Testphase. Vor der Installation wird ein aktuelles Backup der ioBroker-Installation empfohlen.
Unterstützte Funktionen
Je nach Fahrzeugausstattung und API-Antwort unter anderem:
- Ladezustand und elektrische Reichweite
- Kilometerstand
- Ladezustand und Ladestatus
- Türen, Fenster, Kofferraum und Motorhaube
- Verriegelungs- und Lichtstatus
- Klimatisierung
- Fensterheizung
- aktive Belüftung
- Standheizung
- Parkposition
- API-Kontingent und Rücksetzzeit
- Ablaufdatum des API-Schlüssels
- Informationen zum letzten Fahrzeugbefehl
- Unterstützung mehrerer Fahrzeuge beziehungsweise VINs
Die Objektstruktur wird dynamisch anhand der vom Fahrzeug gelieferten Daten aufgebaut. Deshalb können sich die vorhandenen Datenpunkte zwischen verschiedenen Fahrzeugmodellen und Ausstattungen unterscheiden.
Besonders gesucht
Hilfreich wären Tests mit unterschiedlichen Škoda-Modellen, Modelljahren und Antriebsarten, insbesondere:
- Enyaq
- Elroq
- weitere Elektrofahrzeuge
- Plug-in-Hybride
- Verbrenner, sofern von der Public API unterstützt
- mehrere Fahrzeuge in einer Adapterinstanz
Was sollte getestet werden?
Installation und Verbindung
- Lässt sich Version 0.1.6 problemlos installieren?
- Startet die Instanz ohne Fehler?
- Funktioniert „Verbindung testen“?
- Wird
info.connectionkorrekt gesetzt? - Werden Fahrzeug und verfügbare Datenpunkte korrekt erkannt?
Fahrzeugdaten
- Sind Ladezustand, Reichweite, Kilometerstand und Fahrzeugstatus plausibel?
- Werden nur tatsächlich unterstützte Fahrzeugbereiche angelegt?
- Aktualisieren sich die Werte entsprechend dem eingestellten Intervall?
- Funktioniert das Verhalten bei einem schlafenden beziehungsweise länger unveränderten Fahrzeug?
API-Limit
- Sind die Datenpunkte unter
<VIN>.rateLimit.*plausibel? - Bleibt das API-Kontingent auch nach einem Adapterneustart nachvollziehbar?
- Wartet der Adapter bei ausgeschöpftem Kontingent bis zum nächsten API-Zeitfenster?
Fahrzeugbefehle
Nur freiwillig und unter Beachtung der Auswirkungen auf das Fahrzeug testen:
- Laden starten und stoppen
- Klimatisierung starten und stoppen
- aktive Belüftung starten und stoppen
- Standheizung starten und stoppen, sofern unterstützt
- Fensterheizung, sofern unterstützt
Bitte danach prüfen:
- Reagiert das Fahrzeug wie erwartet?
- Wird
<VIN>.info.lastCommand.resultkorrekt aktualisiert? - Wird der Fahrzeugzustand beim späteren Kontrollabruf korrekt erkannt?
Ein mit
ack = truebestätigter Befehl bedeutet zunächst nur, dass die API ihn angenommen hat. Die tatsächliche Ausführung wird erst durch einen späteren Fahrzeugabruf sichtbar.Ein Befehl mit anschliessender Überprüfung benötigt normalerweise zwei API-Anfragen.
Weitere Tests
- mehrere konfigurierte VINs
- deaktiviertes Abrufen der Parkposition
- ungültiger oder abgelaufener API-Schlüssel
- falsche beziehungsweise nicht für den Schlüssel freigegebene VIN
- Neustart des Adapters und des ioBroker-Hosts
- Darstellung der Admin-Oberfläche und der Objektnamen in verschiedenen Sprachen
Unterstützte Sprachen:
en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cnBekannte Einschränkungen
- Die MyŠkoda Public API erlaubt nur 20 Anfragen pro Stunde und VIN.
- Es gibt keine Push-Benachrichtigungen oder Webhooks.
- Fahrzeugdaten sind daher nicht in Echtzeit verfügbar.
- Die API meldet bei Fahrzeugbefehlen nur die Annahme des Befehls. Ob das Fahrzeug ihn tatsächlich ausgeführt hat, wird erst beim nächsten Abruf sichtbar.
- Eine direkte Regelung des Ladestroms wird von der API nicht angeboten.
- Der ioBroker Compact Mode wird in dieser Version noch nicht unterstützt.
Rückmeldungen
Bitte bei Problemen möglichst folgende Informationen angeben:
- Adapterversion
- Škoda-Modell
- Modelljahr und Antriebsart, soweit bekannt
- Node.js-Version
- js-controller-Version
- Admin-Version
- Betriebssystem beziehungsweise Docker-Umgebung
- genaue Schritte zur Reproduktion
- erwartetes und tatsächliches Verhalten
- relevante Logauszüge mit Log-Level
debug, falls erforderlich
Bitte niemals folgende vertrauliche Daten veröffentlichen:
- API-Schlüssel
- S-PIN
- vollständige VIN
- Kennzeichen
- genaue Fahrzeugkoordinaten
Auch bei bereits anonymisierten Logs bitte vor dem Veröffentlichen nochmals kontrollieren, ob persönliche Daten enthalten sind.
Fehler und Feature-Wünsche können zusätzlich als GitHub-Issue gemeldet werden:
https://github.com/tmarthy/ioBroker.skoda-public-api/issues
Vielen Dank für eure Unterstützung und besonders für Rückmeldungen von unterschiedlichen Fahrzeugmodellen.
-
S Samson71 verschob dieses Thema von Tester am
-
Müssen bei Skoda die Dienste aktiviert/gekauft/freigeschaltet sein oder sollte in jedem Fall "irgendwas kommen".
Sobald ich den API-Key eingebe, kann ich nicht mal die Verbindung testen, das Feld ist nicht aktiv. Speichere ich die Instanz mit den Eingaben kommt nur:host.ioBroker
2026-09-10 10:26:06.449 error startInstance skoda-public-api.0: cannot find start file! -
Bei geht es auch nicht. Daten kann ich eingeben und speichern aber "Verbindung Testen" bleibt ausgegraut.
Gleiche Meldung wie bei @krys
host.ioBroker
2026-09-10 10:26:06.449 error startInstance skoda-public-api.0: cannot find start file!Fehler gefixt.
Hab's nochmal komplett gelöscht und über NPM installiert:cd /opt/iobroker npm install iobroker.skoda-public-api --omit=devDanach ging es. Daten kommen rein, muß dann mal schauen was alles da ist.
Fahrzeug ist ein Elroq. -
@tmarthy Wenn ich jetzt das Fahrzeug hier und in evcc über die API eingebunden habe, gelten dann auch insgesammt die 20 Anfragen oder sind es dann 40 ? 20 iobroker und 20 evcc ? Wenn es wirklich pro VIN ist, dann würden sich evcc und iobroker die 20 Anfragen teilen.
Ich je einen Key für evcc und einen für iobroker. -
@tmarthy Wenn ich jetzt das Fahrzeug hier und in evcc über die API eingebunden habe, gelten dann auch insgesammt die 20 Anfragen oder sind es dann 40 ? 20 iobroker und 20 evcc ? Wenn es wirklich pro VIN ist, dann würden sich evcc und iobroker die 20 Anfragen teilen.
Ich je einen Key für evcc und einen für iobroker.@lesiflo Zählt für eine VIN.
Du kannst aber die Werte von IOBroker zu EVCC synchronisieren.
Im IOBroker die "RestAPI" aktivieren und in EVCC das Fahrzeug als "Benutzerdefiniertes Gerät" hinzufügen und die Werte per
title: Meine Kutsche
icon:car
soc:
source: http
uri: http://"IOBROKER-IP":8093"v1/state/"ObjektSOC"/plaincapacitiy: "Wert"
reinholen
-
@taddy81: OK,alles klar. Muß mal schauen ob das für mich notwendig ist, da ich mir die Daten sowieso fast alle über den evcc Adapter reinhole und steuere. Aktuell lese ist nur Standortdaten, Fahrzeugstatus und Fahrzeugdaten über den alten vw adapter aus.
-
@lesiflo Zählt für eine VIN.
Du kannst aber die Werte von IOBroker zu EVCC synchronisieren.
Im IOBroker die "RestAPI" aktivieren und in EVCC das Fahrzeug als "Benutzerdefiniertes Gerät" hinzufügen und die Werte per
title: Meine Kutsche
icon:car
soc:
source: http
uri: http://"IOBROKER-IP":8093"v1/state/"ObjektSOC"/plaincapacitiy: "Wert"
reinholen
-
Müssen bei Skoda die Dienste aktiviert/gekauft/freigeschaltet sein oder sollte in jedem Fall "irgendwas kommen".
Sobald ich den API-Key eingebe, kann ich nicht mal die Verbindung testen, das Feld ist nicht aktiv. Speichere ich die Instanz mit den Eingaben kommt nur:host.ioBroker
2026-09-10 10:26:06.449 error startInstance skoda-public-api.0: cannot find start file! -
@tmarthy Wenn ich jetzt das Fahrzeug hier und in evcc über die API eingebunden habe, gelten dann auch insgesammt die 20 Anfragen oder sind es dann 40 ? 20 iobroker und 20 evcc ? Wenn es wirklich pro VIN ist, dann würden sich evcc und iobroker die 20 Anfragen teilen.
Ich je einen Key für evcc und einen für iobroker.@tmarthy Wenn ich jetzt das Fahrzeug hier und in evcc über die API eingebunden habe, gelten dann auch insgesammt die 20 Anfragen oder sind es dann 40 ? 20 iobroker und 20 evcc ? Wenn es wirklich pro VIN ist, dann würden sich evcc und iobroker die 20 Anfragen teilen.
Ich je einen Key für evcc und einen für iobroker.Gemäss Spezifikation heisst es, dass pro VIN die 20 Anfragen pro Stunde begrenzt sind. Ich habe noch nicht versucht, zwei API-Keys zu erstellen. Allenfalls gilt die Grenze für API-Key in Kombination mit VIN.
-
@tmarthy Wenn ich jetzt das Fahrzeug hier und in evcc über die API eingebunden habe, gelten dann auch insgesammt die 20 Anfragen oder sind es dann 40 ? 20 iobroker und 20 evcc ? Wenn es wirklich pro VIN ist, dann würden sich evcc und iobroker die 20 Anfragen teilen.
Ich je einen Key für evcc und einen für iobroker.Gemäss Spezifikation heisst es, dass pro VIN die 20 Anfragen pro Stunde begrenzt sind. Ich habe noch nicht versucht, zwei API-Keys zu erstellen. Allenfalls gilt die Grenze für API-Key in Kombination mit VIN.
Ich habe jetzt 30 min EVCC parallel zum Adapter laufen.
Das Auto lädt und als Aktualisierungszeit habe ich bei beiden Instanzen 5 min eingestellt.
Es werden im Ratelimit alle 5 min 2 Punkte abgezogen, was bestätigt, dass das Ratelimit an die VIN gebunden ist (steht ja auch so in der Dokumentation der API). -
Beim vw adapter gab es noch das Datum für die nächste Inspektion:
vw-connect.0.XXXXXXXXXXXXXXXXXXX.status.vehicle-maintenancevehicles.report.inspectionDueInDays
Ist hier nicht vorhanden.
-
Gibt es in der API einen Datenpunkt, der auf "true" geht, wenn das Auto angesteckt ist, aber die Wallbox noch nicht freigeschaltet wurde? Hintergund der Frage: Ich möchte die Wallbox gerne automatosch freischalten lassen, wenn der ENYAQ angesteckt ist.
der Datenpinkt: >skoda-public-api.0.TMBxxxxxxxxxxxxxxx.charging.status.state< bleibt solange auf "Cable not connected" bis die Wallbox freigeschaltet ist.
Gruss Steffen
-
Könnte jemand mal Zeigen, wie die Objects hier aussehen?
Gibt es eine Möglichkeit die Fahrdaten zu extrahieren? Also Streckenaufzeichnnung? Vermutlich nicht, oder?
Falls das nicht geht, gibt es eine Möglichkeit Fahrtbeginn und Fahrtende zu erfassen?
Ich plane diese Werte in ein GrafanaDashboard zu verwursten
-
Beim vw adapter gab es noch das Datum für die nächste Inspektion:
vw-connect.0.XXXXXXXXXXXXXXXXXXX.status.vehicle-maintenancevehicles.report.inspectionDueInDays
Ist hier nicht vorhanden.
-
Gibt es in der API einen Datenpunkt, der auf "true" geht, wenn das Auto angesteckt ist, aber die Wallbox noch nicht freigeschaltet wurde? Hintergund der Frage: Ich möchte die Wallbox gerne automatosch freischalten lassen, wenn der ENYAQ angesteckt ist.
der Datenpinkt: >skoda-public-api.0.TMBxxxxxxxxxxxxxxx.charging.status.state< bleibt solange auf "Cable not connected" bis die Wallbox freigeschaltet ist.
Gruss Steffen
@Steffe.S.
Die Public API hat keinen separaten Wert wie plugConnected. Vorgesehen ist lediglich:- CONNECT_CABLE → Fahrzeug erkennt kein Ladekabel
- READY_FOR_CHARGING → Kabel erkannt, aber es wird nicht geladen
- CHARGING → Ladevorgang aktiv
- CHARGING_INTERRUPTED → Laden unterbrochen
Bei meinem angesteckten Enyaq wird READY_FOR_CHARGING mit chargePowerInKw: 0 geliefert. Ich habe allerdings eine Wallbox, welche immer freigeschaltet ist.
Wenn dein Enyaq bis zur Freischaltung CONNECT_CABLE meldet, deaktiviert die Wallbox vermutlich im gesperrten Zustand das Control-Pilot-Signal. Dann kann das Fahrzeug elektrisch nicht erkennen, dass ein Kabel steckt. Folglich kann auch die Škoda-API diese Situation nicht melden. Allenfalls kannst du den Standort des Fahrzeugs für die Freischaltung der Wallbox nutzen. -
Könnte jemand mal Zeigen, wie die Objects hier aussehen?
Gibt es eine Möglichkeit die Fahrdaten zu extrahieren? Also Streckenaufzeichnnung? Vermutlich nicht, oder?
Falls das nicht geht, gibt es eine Möglichkeit Fahrtbeginn und Fahrtende zu erfassen?
Ich plane diese Werte in ein GrafanaDashboard zu verwursten
@Taddy81
Eine echte Streckenaufzeichnung ist mit der öffentlichen Škoda-API nicht möglich. Sie liefert weder GPS-Punkte während der Fahrt noch historische Fahrten. Während der Fahrt werden Koordinaten sogar ausdrücklich nicht ausgegeben. Die interne MyŠkoda-App-API kennt zwar Fahrstatistiken, diese gehören aber nicht zur offiziell freigegebenen Public API.
Fahrtbeginn und Fahrtende lassen sich näherungsweise über den Datenpunkt parkingPosition.state erkennen.
PARKED → IN_MOTION = Fahrtbeginn
IN_MOTION → PARKED = FahrtendeBeim Fahrtende erhältst du außerdem wieder:
- parkingPosition.gpsCoordinates.latitude
- parkingPosition.gpsCoordinates.longitude
- parkingPosition.formattedAddress
- odometer.mileageInKm
Damit könntest du pro Fahrt speichern:
- ungefährer Beginn und Ende
- Start- und Zielposition
- gefahrene Kilometer aus der Kilometerstandsdifferenz
- ungefähre Fahrtdauer
-
@Steffe.S.
Die Public API hat keinen separaten Wert wie plugConnected. Vorgesehen ist lediglich:- CONNECT_CABLE → Fahrzeug erkennt kein Ladekabel
- READY_FOR_CHARGING → Kabel erkannt, aber es wird nicht geladen
- CHARGING → Ladevorgang aktiv
- CHARGING_INTERRUPTED → Laden unterbrochen
Bei meinem angesteckten Enyaq wird READY_FOR_CHARGING mit chargePowerInKw: 0 geliefert. Ich habe allerdings eine Wallbox, welche immer freigeschaltet ist.
Wenn dein Enyaq bis zur Freischaltung CONNECT_CABLE meldet, deaktiviert die Wallbox vermutlich im gesperrten Zustand das Control-Pilot-Signal. Dann kann das Fahrzeug elektrisch nicht erkennen, dass ein Kabel steckt. Folglich kann auch die Škoda-API diese Situation nicht melden. Allenfalls kannst du den Standort des Fahrzeugs für die Freischaltung der Wallbox nutzen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden