[Modul] Smartcar

Smartcar Integration für IP-Symcon

Dieses Modul ermöglicht es, Fahrzeugdaten über die Smartcar-Plattform in IP-Symcon zu empfangen bzw. abzufragen und unterstützte Fahrzeugfunktionen zu steuern.

Die verfügbaren Datenpunkte und Steuerfunktionen werden über Smartcar → Configuration → Vehicle Access festgelegt.
Die tatsächlich vom Fahrzeug gelieferten Signale werden von der Fahrzeuginstanz automatisch erkannt und können anschließend im Konfigurationsformular einzeln aktiviert oder deaktiviert werden.

Smartcar unterstützt eine Vielzahl verschiedener Fahrzeugmarken.
Weitere Informationen zur Fahrzeugunterstützung findest du hier:
:backhand_index_pointing_right: Kompatible Fahrzeuge bei Smartcar

Du findest alle Funktionen für das Smartcar-Symcon-Repository in den entsprechenden Modul-Teilen:

Wichtig: Beim Installieren des Moduls in Symcon muss zuerst ein Smartcar Configurator erstellt werden. Alle weiteren benötigten Instanzen werden automatisch erstellt.

Konfiguration

Die Zugriffsberechtigungen für Fahrzeugdaten und Steuerfunktionen werden direkt bei Smartcar unter Configuration → Vehicle Access festgelegt.

Nach einer Änderung der Vehicle-Access-Konfiguration kann diese über die Fahrzeuginstanz mit „Vehicle Access synchronisieren“ übernommen werden.

Die Fahrzeuginstanz unterscheidet dabei zwischen:

  • Signalen: Datenpunkte werden über die Smartcar Signals API bzw. über Webhooks empfangen. Es werden nur Datenpunkte berücksichtigt, für die Smartcar tatsächlich gültige Werte liefert.
  • Steuerfunktionen: Verfügbare Steuerbefehle werden anhand der von Smartcar für die Fahrzeugverbindung zurückgegebenen control_*-Berechtigungen bereitgestellt.

Signal- und Steuervariablen

Alle erkannten und verfügbaren Variablen werden im Konfigurationsformular der Fahrzeuginstanz angezeigt.

Standardmäßig sind verfügbare Variablen aktiviert. Nicht benötigte Variablen können über die Checkbox-Liste deaktiviert werden. Beim Deaktivieren wird die entsprechende Variable aus dem Objektbaum entfernt.

Wird eine Variable wieder aktiviert, wird sie erneut angelegt, sobald entsprechende Daten zur Verfügung stehen.

Hinweis: Bereits vorhandene Variablennamen werden vom Modul nicht überschrieben. Dadurch bleiben vom Benutzer individuell vergebene Namen erhalten.

Mit „Signale aus Vehicle Access abrufen“ können die aktuell vom Fahrzeug verfügbaren Signale manuell abgefragt und die Liste der verfügbaren Variablen aktualisiert werden.

Webhooks

Wenn Smartcar Signals/Webhooks verwendet werden, verarbeitet das Modul eingehende Fahrzeugdaten automatisch.

Es werden nur erfolgreiche Signale berücksichtigt, die mindestens einen tatsächlichen Nutzwert enthalten. Antworten mit ausschließlich null, leeren Arrays oder leeren Werten führen nicht zur Anlage einer Variable.

Bereits deaktivierte Variablen werden durch einen Webhook nicht automatisch wieder aktiviert.

Versionen

Version Datum Änderungen
4.6 16.08.2026 - Die Kompatibilitätsprüfung der Fahrzeuginstanz entfällt; alle empfangenen Datenpunkte mit gültigen Werten werden als Variablen angeboten.- Verfügbare Signal- und Steuervariablen können im Konfigurationsformular individuell aktiviert oder deaktiviert werden.- Steuervariablen werden automatisch anhand der über Vehicle Access erteilten Berechtigungen bereitgestellt.
4.5 09.08.2026 - Der Webhook wird nun auf Aktualität geprüft und ältere Daten werden verworfen.- In der Vehicle-Instanz kann nun der Powertrain-Filter deaktiviert werden.- Einige Anpassungen zur API V3.
4.4 19.07.2026 - Smartcar hat den Autorisierungsprozess geändert, dieser ist nun den neuen Vorgaben angepasst.- Die Zugriffsberechtigungen werden nun ausschließlich unter Smartcar → Configuration → Vehicle Access verwaltet.- Ein Fehler wurde beseitigt, durch den eine fehlerhafte Vehicle-Instanz erstellt wurde.- Der Konfigurator ist nun mit dem entsprechenden Element von Symcon aufgebaut.
4.3 12.07.2026 - Variablen aktualisieren sich nur noch, wenn sich der Datenstand ändert.- Der OEM-Aktualisierungszeitpunkt kann über zusätzliche Variablen eingeblendet werden.- Die Variablen bekommen beim Erstellen Positionen im Objektbaum, um die Übersichtlichkeit zu verbessern.
4.2 24.05.2026 - Signalverarbeitung erweitert und bestehende Signale aktualisiert.
4.1 06.05.2026 - Control Permissions wurden bisher noch nicht gesetzt. Alle aktuell möglichen Steuerbefehle sollten nun funktionieren.
4.0 02.05.2026 - Komplett neue Version, welche auf der API V3 basiert und nur noch auf Signale ausgelegt ist.- Diese Version ist nicht mit älteren Versionen vor 4.0 kompatibel.- Beim Update verbleiben bestehende Fahrzeuginstanzen funktionslos im Objektbaum und es können allenfalls noch Daten aus aufgezeichneten Variablen übernommen werden.
3.8 25.01.2026 - Diverse Fehler beim Senden von Befehlen (z. B. endlose Wiederholversuche und falsche Darstellung des Ladelimits) behoben.
3.7 10.01.2026 - Code-Korrektur aufgrund Store-Review.
3.6 04.01.2026 - Anpassung der Ausgabe für das Ladeende. Die Zeit wird entweder als Dezimalwert oder in Minuten geliefert.- Zusätzliche Debug-Ausgabe für das Alter der OEM-Daten (teilweise nicht aktuell).
3.5 02.01.2026 - Umstellung auf IPSModuleStrict und Anhebung der Kompatibilität auf Version 8.2.- Variable für das Ladeende angepasst. Die alte Variable Restladezeit muss gelöscht werden.- Tokenerneuerung verbessert.
3.4 21.12.2025 - Fehlermeldung beim Verbinden des Fahrzeugs behoben.- Automatische Scope-Erkennung deaktiviert (Probleme mit Signalen).- Diverse Code-Anpassungen.
3.3 19.10.2025 - Bei Erreichen des Rate-Limits wird nach der vorgegebenen Wartezeit erneut abgefragt.- Verbesserung der Debug- und Fehlerausgaben.- Code überarbeitet.- README neu strukturiert (Scopes & Signals getrennt).
3.2 14.10.2025 - Automatische Scope-Erkennung verbessert.
3.1 07.10.2025 - Automatische Prüfung kompatibler Scopes im Konfigurationsformular.- Es werden nur noch unterstützte Scopes abgefragt → weniger Fehler und unnötige Requests.- Fehler bei der Abfrage der Batteriekapazität behoben.- Ladeleistung wird korrekt dargestellt.- Optionale Variable für Zeitpunkt der letzten Signale hinzugefügt.
3.0 05.10.2025 - Unterstützung für Webhooks (Smartcar Signals) hinzugefügt.- Hinweis: Erfordert entsprechenden Smartcar-Plan.- Variablen werden automatisch erstellt.
2.3 28.09.2025 - Token wird bei jeder Konfigurationsänderung oder nach Neustart automatisch erneuert.- Behebt Probleme mit abgelaufenen Tokens.
2.2 26.07.2025 - Verbesserung der Fehlerausgabe im Debug und Statusdialog.
2.1 15.06.2025 - Rechtschreibkorrekturen.- Codeanpassungen für den Ladestatus.
2.0 02.01.2025 - Code und README überarbeitet.- Anpassung für Store-Kompatibilität.
1.3 26.12.2024 - Timer für Token-Erneuerung auf 90 Minuten fixiert.- Token wird zusätzlich bei jeder Konfigurationsänderung erneuert.- Behandlung von 401-Fehlern verbessert (Token wird erneuert und Anfrage wiederholt).- Fehlerausgabe im Log aktiviert.
1.2 22.12.2024 - Anpassung einiger Variablennamen.- README überarbeitet.- Modulname angepasst.- Konfigurationsformular angepasst.- Diverse Code-Änderungen.- Variablenprofil für Zentralverriegelung angepasst.
1.1 17.12.2024 - Fehler bei BackLeftWindow und BackRightWindow behoben.- Weitere Variablen hinzugefügt.
1.0 15.12.2024 - Initiale Version.

Lizenz

MIT License


Unterstützung

Falls dir das Modul gefällt und du die Weiterentwicklung unterstützen möchtest:

PayPal: PayPal.Me

2 „Gefällt mir“

Bei meinem Spring hat es sofort funktioniert. Ich kann das Modul leider nicht verwenden. Das liegt aber nicht am Modul, sondern an einer Besonderheit. Der Spring schläft irgendwann ein und wenn z.b. in der Nacht geladen werden soll, dann ignoriert er den ankommenden Strom von der Wallbox. Er muss vorher aufgeweckt werden. Das mache ich, indem die Vorklimatisierung aktiviert wird. Ich verwende dazu das Renault Modul. Dort kann ich das. Bei Smartcar wird das leider nicht unterstützt. Ansonsten kommen alle Werte. Gratuliere.

1 „Gefällt mir“

Kannst du mal kurz erläutern, wie man ein Fahrzeug bei Smartcar einbindet?

Habs zum Laufen bekommen. Leider fehlen ausgerechnet die Batterieinformation beim Hyundai Kona.

Würde ja gerne helfen testen, aber wo ist der Modul Code?
Muss ich den über Module und Github einbinden. Falls ja, wie lautet die URL?

Du kannst im Symcon Store nach Smartcar suchen…

Wenn du einen Hybriden hast, dann ist dies tatsächlich nicht unterstützt. Elektrische sollte funktionieren…

Passt. Danke. Bin schon dran…

Hallo Stefan,

wie in dem anderen threat geschrieben, Wechsel ich hier hin.
Ich konnte alles super einrichten. Ich habe seit einer Woche einen BMW 530e und frage aktuell alles ab, wobei ich eine Meldung bekomme das der Status der einzelnen Fenster nicht geht, sowie das Motoröl kann wohl nicht abgefragt werden. Ansonsten ist für mich Tank, Batterie und Reichweiten interessant aber ich muss mir das genau anschauen, da ich auch gerne die Verbräuche und Kosten darstellen möchte.
Wenn du da Input wegen dem BMW haben möchtest sag mir gerne was du brauchst dann kann ich dir das gerne zur Verfügung stellen.
Viele Grüße
Dominik

Was meinst du damit?

Richtig, schau mal hier was alles gehen sollte oder nicht.
Kompatible Fahrzeuge · Produkt · Smartcar

Nach dem Einrichten hab ich im Debug folgendes:
TXT: 12/16/2024, 09:21:29 PM | GetVehicleID | Keine Fahrzeug-ID gefunden!
BMW ist aber im Smartcar Vehicles gelisted, login und alle Daten sind ok.
TXT: 12/16/2024, 09:21:29 PM | FetchVehicleData | Access Token oder Fahrzeug-ID fehlt!

Redirect -Uri bei Smartcar hinterlegt?


Das Fenster kommt hoch, wenn ich die Daten abrufe.

Sorry, das ich da so schwammig war :slight_smile: das hatte ich in der Tat auch in der Liste gesehen.

Danke für die Meldung.
Voll zwei Variablen vergessen :laughing:
Version 1.1 sollte das Problem beheben…
Würdest Du nochmals testen und Feedback geben.

Ja, hinterlegt und bei Smartcar verbinden komme ich ja auch auf die Freitagabe Seite. Am Schluss kommt ja dann auch die Webseite von IPS (Dein Heim ist gerade nicht erreichbar…).
Aber jetzt kommt eh nach dem Update „Undefined variable $redirectURI in…“?

Sorry, Tippfehler…
Mach mal ein Update

Das bedeutet dass was mit deiner redirectURI nicht stimmt.
Läuft dein Connect Dienst?
Wenn du im Konfigurationsfenster oben auf den Link klickst, musst du auf deinen Webhook kommen und diese Fehlermeldung im Browser erhalten .

Fehler: Kein Code erhalten.

Wenn das nicht der Fall ist, dann hast du keinen Connect Dienst oder der Hook wurde nicht angelegt…

Moin, funktioniert, es kommt keine Meldung mehr.
Vielen Dank Dir, wenn du noch was benötigst für das Modul dann gib gerne Bescheid, ich kann Dir nur leider für BMW Daten liefern :wink:
Viele Grüße
Dominik

Was muss man von Seiten des Autos machen?
Bei mir ein Mercedes V-Klasse.

Cross-Post, da es hier besser hingehört:

Habt ihr via SmartCar mal geschaut, wie aktuell die Daten von BMW über das BMW API (CarData) wirklich sind?
Hintergrund ist mein Gehversuch mit Tronity.

Es stellt sich heraus, das - wenn ich das Auto nachts lade - BMW nur alle 40 Minuten die Fahrzeugdaten wirklich aktualisiert. Tronity ruft zwar alle 2 Minuten die Daten von BMW ab (ich habe das Log), aber der SoC in der BMW API Response springt nur alle 40min. nach oben. Das taugt natürlich für eine Laderegelung nicht wirklich.

Es sieht grob so aus: BMW aktualisiert die Daten kontinuierlich, wenn das Fahrzeug sich bewegt. Aber wenn es steht und nur lädt, scheint BMW den SoC und die Ladezeiten in der App „prognostiziert“ anzuzeigen, also nicht wirklich vom Fahrzeug zu holen. Die BMW CarData API liefert aber wohl nur die zuletzt vom Fahrzeug empfangenen, ggf. somit veralteten, Daten.

Ist das bei Smartcar genauso? Basieren ja vermutlich auf derselben API…