Neues Modul 50_VolvoConnect unter Verwendung der neuen OAUTH2 Methode von Volvo

Begonnen von stefan.apetz, 23 August 2026, 16:50:33

Vorheriges Thema - Nächstes Thema

stefan.apetz

VolvoConnect: Volvo-Fahrzeugdaten und Fahrzeugaktionen direkt in FHEM

Du möchtest Ladezustand, Reichweite und Fahrzeugstatus nicht nur in der Volvo-App sehen, sondern auch in deine FHEM-Automationen einbinden? Mit VolvoConnect lassen sich Daten eines Volvo-Fahrzeugs über die offiziellen Volvo Cars APIs in FHEM abrufen und ausgewählte Fahrzeugfunktionen direkt aus FHEM ansteuern.

Was das Modul mitbringt
  • Energie- und Ladeinformationen wie Akkustand, elektrische Reichweite, Ladestatus, Ladeart, Ladeleistung und Zielladestand
  • Je nach freigeschalteten APIs weitere Fahrzeug-, Statistik-, Wartungs-, Diagnose- und Statuswerte
  • Fahrzeugaktionen wie Ver- und Entriegeln, Hupe, Klimatisierung starten/stoppen, Laden starten/stoppen, Ladelimit setzen und Vorkonditionierung anfordern
  • Ein eigenständiges Dashboard mit übersetzten Readings, Statusanzeige und optionaler Standortkarte
  • Konfigurierbare API-Bereiche: Nicht benötigte Scopes können deaktiviert bleiben
  • Bearbeitbares Dashboard: Kacheln und einzelne Readings ausblenden, Labels ändern und die Kachelreihenfolge speichern

Das Dashboard passt sich der Höhe der Kacheln an. Im Bearbeitungsmodus lassen sich die Kacheln außerdem kompakt schalten und per Drag-and-drop neu anordnen. Die Standortdaten können auf Wunsch über OpenStreetMap Nominatim um eine Adresse ergänzt werden.

Einrichtung

Benötigt werden eine Volvo ID, ein Fahrzeug im Konto sowie eine Anwendung im Volvo Cars Developer Portal mit Client-ID, Client-Secret und VCC API Key. Die Autorisierung nutzt OAuth2 mit PKCE. Nach dem Login wird der zurückgegebene Autorisierungscode einmalig an FHEM übergeben; Access- und Refresh-Tokens werden anschließend verwaltet und automatisch erneuert.

Die Installation erfolgt über das FHEM-Modul 50_VolvoConnect.pm. Eine ausführliche Schritt-für-Schritt-Anleitung, die verfügbaren Scopes und Befehle stehen in DOKUMENTATION.md; einen schnellen Einstieg gibt README.md.

Wichtige Hinweise
  • Welche Werte und Befehle verfügbar sind, hängt vom Fahrzeug, Modelljahr, der Region und den im Developer Portal freigegebenen APIs ab.
  • Fahrzeugaktionen müssen vom jeweiligen Fahrzeug unterstützt und durch die erforderlichen Scopes freigegeben sein.
  • Die Standort-API liefert den zuletzt bekannten Standort und ist keine Live-Ortung.
  • Das Modul ist ein Community-Projekt und wird nicht von Volvo Cars herausgegeben oder unterstützt.

Wer VolvoConnect ausprobiert, ist herzlich eingeladen, Erfahrungen, Fahrzeugmodell und hilfreiche Hinweise hier im Thread zu teilen. Bitte dabei keine Zugangsdaten, VINs, OAuth-Codes oder Tokenwerte posten.


# VolvoConnect für FHEM: Installations- und Betriebsdokumentation
Stand: 08.10.2026
## Überblick
VolvoConnect bindet ein Volvo-Fahrzeug über OAuth2 mit PKCE an FHEM an. Das Modul fragt Energie-, Fahrzeug-, Diagnose-, Befehls- und optionale Standortdaten über die Volvo Cars APIs ab. Es stellt zusätzlich Fahrzeugbefehle und ein eigenständiges Dashboard bereit.
Das Modul ist ein Community-Projekt und nicht von Volvo Cars herausgegeben oder unterstützt. API-Felder und Funktionen können je nach Fahrzeugmodell, Baujahr/Modelljahr, Region, Volvo-Anwendung und genehmigten Berechtigungen variieren.
## Voraussetzungen
- Eine aktuelle FHEM-Installation
- Perl-Module `JSON`, `MIME::Base64` und `Digest::SHA`; `HttpUtils` gehört zu FHEM
- Volvo ID und ein mit dem Konto verknüpftes Fahrzeug
- Anwendung im [Volvo Cars Developer Portal](https://developer.volvocars.com/)
- VCC API Key, OAuth Client-ID und Client-Secret der Anwendung
- Eine Redirect-URI, die exakt in FHEM und im Developer Portal eingetragen ist
Volvo kann für Anwendungen Test-, Veröffentlichungs- und Regionsbeschränkungen festlegen. Eine lokale URI wie `http://localhost` wird für Tests häufig verwendet, muss aber für die Anwendung im Portal zulässig sein. Das Modul verwendet die manuelle Übergabe des OAuth-Autorisierungscodes; eine öffentlich erreichbare Callback-Seite wird vom Modul nicht bereitgestellt.
## Installation
1. `50_VolvoConnect.pm` in das FHEM-Modulverzeichnis kopieren, üblicherweise `FHEM/`.
2. FHEM neu starten oder das Modul entsprechend der lokalen FHEM-Verwaltung neu laden.
3. Das Gerät anlegen und Zugangsdaten konfigurieren:
```fhem
define Volvo1 VolvoConnect
attr Volvo1 vin <17-stellige-VIN>
attr Volvo1 client_id <Client-ID>
attr Volvo1 client_secret <Client-Secret>
attr Volvo1 vcc_api_key <VCC-API-Key>
attr Volvo1 redirect_uri http://localhost
attr Volvo1 interval 300
```
`define` trägt zunächst Platzhalter ein. Ersetze alle Zugangsdaten, bevor du die Anmeldung startest. Die Redirect-URI muss exakt der im Developer Portal registrierten URI entsprechen.
## Anmeldung und Tokens
1. Mit `set Volvo1 reauth` die Anmeldung starten.
2. Den Login-Link am FHEM-Gerätestatus öffnen und bei Volvo anmelden.
3. Nach der Weiterleitung nur den Wert des URL-Parameters `code` kopieren.
4. Den Code zeitnah mit `set Volvo1 authCode <code>` an FHEM übergeben.
Access- und Refresh-Tokens werden im FHEM-Key-Value-Store abgelegt und automatisch erneuert. `get Volvo1 tokenInfo` zeigt Tokenstatus und Gültigkeit, nicht die Tokenwerte. `set Volvo1 reauth` löscht gespeicherte Tokens und startet die Anmeldung erneut.
**Sicherheit:** Zugangsdaten, Autorisierungscodes, VIN und Tokenwerte nicht in öffentliche Logs, Screenshots, Tickets oder Repositories übernehmen. Eine Scope-Änderung löscht die vorhandenen Tokens; danach ist eine neue Autorisierung erforderlich.
## API-Bereiche und Scopes
Zusätzliche Datenbereiche werden über Attribute aktiviert. Nicht gesetzte `scope_*` Attribute gelten als deaktiviert. Die konkrete Freigabe muss außerdem für die Anwendung im Volvo Developer Portal verfügbar sein.
| Attribut | Datenbereich |
|---|---|
| `scope_capabilities` | Fahrzeugfähigkeiten und unterstützte Energie-Funktionen |
| `scope_warnings` | Fahrzeugwarnungen und Beleuchtungswerte |
| `scope_brakes` | Bremsstatus |
| `scope_doors` | Türen, Verriegelung und zugehörige Daten |
| `scope_windows` | Fensterstatus |
| `scope_engine_status` | Motorstatus (`engineStatus`) |
| `scope_vehicle_relation` | Fahrzeugdaten, Modell, Modelljahr, Bilder und Ausstattung |
| `scope_fuel` | Kraftstoffdaten |
| `scope_battery_charge` | Batterieladung; aktiviert ebenfalls den Abruf des Fuel-Endpunkts |
| `scope_odometer` | Kilometerstand |
| `scope_statistics` | Fahrt- und Verbrauchsstatistik |
| `scope_tyres` | Reifendaten |
| `scope_engine_diagnostics` | Motordiagnose |
| `scope_workshop_diagnostics` | Werkstattdiagnose und Wartungswerte |
| `scope_location` | Standortdaten und Karte |
| `scope_commands` | Verfügbare Fahrzeugbefehle |
| `scope_command_accessibility` | Aktuelle Befehlsverfügbarkeit |
| `scope_honk_flash` | Hupe und Lichtsignal |
| `scope_lock`, `scope_unlock` | Ver- und Entriegeln |
| `scope_climatization` | Klimatisierung starten/stoppen |
| `scope_engine_commands` | Motorbefehle und Vorkonditionierung |
Die Gruppenauswahl lässt sich über `get Volvo1 _showEntityConfig` öffnen. Alternativ können Attribute direkt gesetzt werden, zum Beispiel:
```fhem
attr Volvo1 scope_location 1-aktiviert
attr Volvo1 scope_engine_status 1-aktiviert
```
## Befehle
| Befehl | Wirkung |
|---|---|
| `set <name> update` | Sofortige Datenabfrage starten |
| `set <name> reauth` | Tokens löschen und neue Autorisierung starten |
| `set <name> authCode <code>` | OAuth-Autorisierungscode übergeben |
| `set <name> login` | Aktuelle Login-URL ausgeben, falls vorhanden |
| `set <name> lock` / `unlock` | Fahrzeug verriegeln/entriegeln |
| `set <name> horn` | Hupe betätigen |
| `set <name> climate` / `climate_stop` | Klimatisierung starten/stoppen |
| `set <name> charge_start` / `charge_stop` | Ladevorgang starten/stoppen |
| `set <name> charge_limit <10-100>` | Zielladestand in Prozent setzen |
| `set <name> precondition` | Vorkonditionierung anfordern |
Die API kann Befehle fahrzeug- oder regionsabhängig ablehnen. Eine erfolgreiche Übergabe an die API garantiert nicht, dass das Fahrzeug den Befehl sofort ausführt.
## Dashboard
- `get <name> _dashboardURL` liefert die vollständige Dashboard-URL; alternativ ist es unter `<FHEM-URL>/VolvoConnect/<name>` erreichbar.
- `get <name> _showDashboard` gibt die Dashboard-Seite direkt in FHEM aus.
- Das Dashboard gruppiert verfügbare Readings in Kacheln und bietet Fahrzeugaktionen, Statusanzeigen sowie bei aktivem Standort-Scope eine Karte.
- Das Bearbeiten-Symbol schaltet den Edit-Modus ein. Dort lassen sich Kacheln und Readings ein-/ausblenden sowie Labels und Reihenfolgen speichern.
- Die Vier-Wege-Pfeile schalten den kompakten Verschiebemodus. Dabei bleiben Kachelüberschriften sichtbar; Kacheln lassen sich an ihrer Fläche verschieben. Ein erneuter Klick öffnet alle Kacheln wieder.
- Das Dashboard nutzt ein responsives Mehrspaltenlayout. Die gespeicherte DOM-Reihenfolge wird spaltenweise dargestellt; sie ist keine starre zeilenweise Links-nach-rechts-Anordnung.
- Die Standortkachel zeigt standardmäßig Straße mit Hausnummer, Postleitzahl mit Ort, Bundesland, Land, Breitengrad, Längengrad und Positionszeitpunkt in fester Reihenfolge. Die Karte steht darunter.
- `location_reverse_geocode` ist standardmäßig aktiv. Für neue Koordinaten wird die Adresse über OpenStreetMap Nominatim ermittelt. Mit `attr <name> location_reverse_geocode 0` wird die externe Adressabfrage deaktiviert.
- Das Fahrzeug-Detail-API liefert laut Volvo-Dokumentation eine generische Außen- und Innenbild-URL. Die URLs sind befristet und sollen nicht dauerhaft zwischengespeichert werden.
Die Dashboard-Konfiguration wird je Gerät im FHEM-Key-Value-Store abgelegt. Für `Volvo1` lautet der Schlüssel `VolvoConnect_dashboard_Volvo1`. Um die komplette Layout-Konfiguration dieses Geräts auf Standard zurückzusetzen:
```fhem
{ setKeyValue("VolvoConnect_dashboard_Volvo1", undef) }
```
Das setzt Reihenfolge, Sichtbarkeit und individuelle Labels zurück, aber keine Tokens oder Device-Attribute.
## Readings
Die API-Readings werden abhängig von aktivierten Scopes dynamisch erzeugt. Verschachtelte JSON-Felder werden mit Unterstrichen abgeflacht; bei Messwerten mit Einheiten kann ein zusätzliches `_unit` Reading entstehen.
| Präfix / Beispiel | Bedeutung |
|---|---|
| `state_*` | Energie- und Ladezustand, z. B. `state_batteryChargeLevel`, `state_chargingStatus` |
| `capabilities_*` | Unterstützte Funktionen |
| `warnings_*`, `brakes_*`, `doors_*`, `windows_*` | Warnungen und Karosseriestatus |
| `engine_*`, `engineDiagnostics_*`, `workshopDiagnostics_*` | Motor- und Werkstattdiagnose |
| `commands_*`, `commandAccessibility_*` | Fahrzeugbefehle und Verfügbarkeit |
| `fuel_*`, `batteryCharge_*`, `odometer_*`, `statistics_*`, `tyres_*` | Energie-, Fahrt- und Fahrzeugdaten |
| `vehicle_*` | Fahrzeugdetails wie `vehicle_modelYear` und `vehicle_images_exteriorImageUrl` |
| `location_*` | Koordinaten und Reverse-Geocoding-Daten |
`authStatus` beschreibt den Authentifizierungsstatus. `state` kann zusätzlich den Verarbeitungsstatus der letzten Abfrage enthalten. `lastUpdate`, `lastError` und `lastErrorCode` unterstützen die Fehlersuche.
## Abfrageverhalten und Grenzen
- Standardintervall: 300 Sekunden. Das Intervall nicht unnötig stark reduzieren; Volvo begrenzt die API-Aufrufe und einzelne Befehlsendpunkte strenger.
- Die Standort-API liefert den zuletzt bekannten Standort, keine Live-Ortung.
- Welche Readings und Befehle verfügbar sind, hängt von Fahrzeug, API-Berechtigungen und Volvo-seitiger Freigabe ab. Nicht unterstützte Felder können fehlen oder einen Nichtverfügbarkeitswert liefern.
- Volvo nennt für die öffentliche Connected Vehicle API Verfügbarkeits- und Regionsbeschränkungen. Maßgeblich sind die aktuellen Angaben im Developer Portal.
## Fehlerbehebung
- `get <name> summary`: Authstatus, letztes Update, letzten Fehler und letzten Befehl prüfen.
- `get <name> tokenInfo`: Token vorhanden und noch gültig? Es werden keine Tokenwerte ausgegeben.
- `get <name> scopes`: aktivierte und deaktivierte Scopes anzeigen.
- `set <name> update`: sofortige Datenabfrage anstoßen.
- Bei OAuth-Fehlern Client-ID, Client-Secret, VCC API Key und exakt übereinstimmende Redirect-URI prüfen. Sicherstellen, dass die Anwendung die benötigten APIs/Scopes verwenden darf.
- Bei fehlenden Readings den zugehörigen Scope, die Volvo-Freigabe und die Verfügbarkeit für das Fahrzeug prüfen.
## Offizielle Referenzen
- [Volvo Cars Developer Portal](https://developer.volvocars.com/)
- [Connected Vehicle API v2](https://developer.volvocars.com/apis/connected-vehicle/v2/overview/)
- [Volvo API Getting Started](https://developer.volvocars.com/apis/docs/getting-started/)
- [Location API v1](https://developer.volvocars.com/apis/location/v1/overview/)





# Changelog
Dieses Protokoll fasst die Änderungen vom 28.09.2026 bis 08.10.2026 zusammen. Als Vergleichsbasis diente die im Arbeitsverzeichnis vorhandene Sicherung vom 29.09.2026.
## 2026-09-29 bis 2026-10-08
### Hinzugefügt
- Gruppierte Scope-Konfiguration im FHEM-Webinterface mit Beschreibungen, Bearbeiten-, Abbrechen- und Speichern-Funktion.
- Eigenständiges Dashboard mit Scope-Kacheln, Fahrzeugaktionen, editierbaren Labels, Reading-Sichtbarkeit und gespeicherter Kachelreihenfolge.
- Persistente Dashboard-Konfiguration je FHEM-Gerät.
- Standortdarstellung mit Reverse-Geocoding über OpenStreetMap Nominatim und eingebetteter Karte.
- Passive Tokenstatus-Anzeige im Dashboard.
- Kompakter Dashboard-Umschalter zum Einklappen der Kacheln sowie Raster und freies Verschieben während der Neuordnung.
### Geändert
- Dashboard-Datenbereiche decken Diagnose-, Befehls- und Fahrzeugdaten strukturiert ab; Diagnosewerte wie Motorstatus, Wischwasser- und Bremsflüssigkeitswarnung werden passend gruppiert.
- Dashboard-Labels und Statuswerte wurden erweitert und auf Deutsch vereinheitlicht; dazu gehören unter anderem Modelljahr, Ladezustände, Wartungswerte und Fahrzeugstatus.
- Standortfelder werden in einer festen Standardreihenfolge ausgegeben. Straße/Hausnummer sowie Postleitzahl/Ort werden jeweils zusammengefasst; nicht gewünschte Zusatzfelder werden ausgeblendet.
- Die Dashboard-Kacheln verwenden ein responsives Mehrspaltenlayout, damit unterschiedlich hohe Kacheln den verfügbaren Platz besser nutzen.
- Die Scope-Auswahl wird validiert. Änderungen an Scopes löschen vorhandene Tokens und erfordern eine erneute Autorisierung.
- Fahrzeugbilddarstellung und Lade-Readings wurden an die tatsächlich dokumentierten API-Daten angepasst.
### Dokumentation
- Veraltete Einrichtungsangaben wurden ersetzt. README, aktuelle Betriebsdokumentation und dieses Änderungsprotokoll wurden ergänzt.

matkoh

Zunächst einmal vielen Dank für das neue Modul. Ich habe bisher volvo2mqtt von Dielee verwendet. Seit 22.10.26 werden damit aber keine Daten mehr geliefert. Insofern kommt das Modul zur rechten Zeit.

Ich hatte bisher meine Anwendung in Volvo Developer nicht veröffentlicht. Das habe ich nun getan, um Client ID und Client Secret zu erhalten. Als Redirect URI habe ich http://localhost:8080/callback verwendet. Das stammt von einer KI. Ich habe aber noch nicht verstanden, welche URL hier verwendet werden muss. Muss die im Internet erreichbar sein? Das wäre für mich nicht machbar, weil ich keine Anwendungen hoste, die im Internet direkt erreichbar sind. Oder reicht es, wenn die URL lokal erreichbar ist, also beim Aufruf von fhem aus? Und was muss unter der URL liegen? Nur ein leeres Verzeichnis?

Jedenfalls habe ich das Modul installiert, meine Anmeldedaten eingetragen und das reauth durchgeführt.
Die generierte URL in STATE habe ich aufgerufen und erhalte dann
Access Denied
You don't have permission to access "http://volvoid.eu.volvocars.com/as/authorization.oauth2?" on this server.

Wenn ich den letzten Teil der URL
style="display:inline-block; padding:2px 8px; background-color:#2e5e87; color:white; text-decoration:none; border-radius:4px; font-size:0.85em;entferne, bekomme ich immerhin ein
404 page not found
für die URL https://localhost:8080/callback?error_description=code_challenge_method+invalid&state=fhemstate&error=invalid_request#.
Liegt das nur an der falschen Redirect URI?

Matthias

stefan.apetz

Moin,

wichtig ist, dass man im VolvoDevelopper Portal eine redirect URL mit https einträgt, sonst lässt sich das nicht speichern. Die redirect-URL muss nicht aus dem Internet aufrufbar sein. Das ist deine interne FHEM-URL.

Wenn keine Verbindung besteht ist ganz weit rechts ein Button zum Anmelden. (der ist super weit rechts, da ich das momentan noch nicht anders lösen konnte). Einfach auf den Button klicken und nicht die ganze URL aus dem Textfeld kopieren.

Hinter dem Button liegt diese URL (sensible Bereiche habe ich hier mal ausgeXt:

https://volvoid.eu.volvocars.com/as/authorization.oauth2?response_type=code&client_id=XXXXXXXXXXXXXX&redirect_uri=https%3A%2F%2Ffhem%2Efritz%2Ebox%2Fredirect&scope=openid%20energy%3Astate%3Aread%20energy%3Acapability%3Aread%20conve%3Awarnings%20conve%3Abrake%5Fstatus%20conve%3Adoors%5Fstatus%20conve%3Alock%5Fstatus%20conve%3Awindows%5Fstatus%20conve%3Aengine%5Fstatus%20conve%3Avehicle%5Frelation%20conve%3Acommand%5Faccessibility%20conve%3Ahonk%5Fflash%20conve%3Alock%20conve%3Aunlock%20conve%3Aclimatization%5Fstart%5Fstop%20conve%3Afuel%5Fstatus%20conve%3Abattery%5Fcharge%5Flevel%20conve%3Aodometer%5Fstatus%20conve%3Atrip%5Fstatistics%20conve%3Atyre%5Fstatus%20conve%3Adiagnostics%5Fengine%5Fstatus%20conve%3Adiagnostics%5Fworkshop%20location%3Aread&state=fhemstate&code_challenge=XXXXXXXXXXXXXXX&code_challenge_method=S256

Die URL gibt dann auch die ganzen gewünschten Scopes als Parameter mit, sowie die Client ID, die angesprochen werden soll. Beim ersten Aufruf sollte sich ein Anmeldefenster bei Volvo öffnen (bei einer Score Änderung / Anpassung ebenfalls).


Vom Vorgehen also:

Also im ersten Schritt eine APP anlegen. Da erhält man dann entsprechend den VCC Primar und secondary key. Der Primare wird dann im Modul im Attribut eingetragen. (Bild Volvo_Step_1.png).

Dann beim Veröffentlichen bei der Redirect URL eine https-Adresse eintragen (auch wenn es diese https nicht im fhem gibt, der fhem-host muss aber passen).

Bei mir läuft fhem ohne SSL und ich habe als Adresse eingetragen https://fhem.fritz.box/redirect. (Volvo_Step_2.png)

Genau die gleiche Redirect URL muss als Attribut im Modul eingetragen sein (Volvo_Step_3.png).

Nach dem Speichern erhält du eine Client ID und ein Client Secret. Das wird nur dieses eine Mal angezeigt. Also gut merken / wegspeichern.

Die Adresse gibt es bei mir nicht (wird / muss es bei dir auch nicht geben), daher zeigt der Browser die 404 Fehlermeldung an (Volvo_Step_4.png).

Wenn Du Dir dann im Browser die vollständige URL anzeigen lässt von der 404 Seite, steht dort als Teil der URL der AUTH-Code (Volvo_Step_5.png), den du dann bei den Setter-Methoden / beim SET authCode einträgst.

Das Eintragen des authCodes ist beim ersten Verbinden notwendig, aber auch wenn Du die Scopes änderst, die die API zurückliefen soll.

Die Scopes kannst Du unter SET saveScopeConfig eintragen. Bei jedem Ändern des Scopes ist eine re-authentifizierung notwendig.

Teste die Schritte nochmal und gib gerne eine Rückmeldung.

matkoh

Wie kann ich denn bei einer vorhandenen App auf Volvo Developer die Redirect-URI und ggf. die Scopes ändern?
Wenn ich meine App aufrufe, sehe ich die VCC API Keys und dann nur einen Button "Generate new client secret".

stefan.apetz

Das geht leider nicht. Habe ich mich auch schon drüber geärgert.
Man muss dann einfach eine neue anlegen.

Die Scopes brauchst du da übrigens gar nicht auswählen.

Erweiterst du den Score in den FHEM Einstellungen kommt beim Aufpumpen des Volvo Anmeldefensters die Meldung "soll Scope XYZ erlaubt werden?"

Ich habe hier auch mal meine aktuellste Version vom Modul angehängt, nebst Changelog.

matkoh

Es funktioniert! Man muss relativ schnell den Code eingeben, aber dann werden die Daten geholt. Ich habe jetzt mal alle Scopes aktiviert. Sieht gut aus!

Danke!

stefan.apetz

Danke.

Gerne ausgiebig testen und Verbesserungswünsche / Vorschläge machen.

Falls da bei deinem Volvo (welches Modell hast Du?) im Dashboard Werte angezeigt werden ohne Übersetzung / mit falscher Übersetzung: auch gerne mitteilen. Dann nehme ich das noch in der Translation List mit auf.

Ich möchte das auch gerne irgendwann mal im offiziellen fhem GIT als Standardmodul zur Verfügung stellen, weiß aber nicht, was ich da machen muss.

Bzgl. der return URL:

Falls du irgendwo einen Webserver hast (für eine eigene Homepage oder so), könntest du dort einfach eine php Datei ablegen und die Adresse der php Seite als redirect angeben. Die php Datei könnte dann den URL Parameter "code" aus dem request auslesen und schön als Text auf der Webseite darstellen.


matkoh

Ich habe einen Volvo XC40 Recharge Long Range aus 2023.

Das Dashboard sieht super aus, ich sehe nur direkt am Anfang 2 Mal Akkustand. Ist das Soll- und Istzustand? Dann wäre gut, wenn es dabei stünde.

Und noch eine Anregung: Der Button, der rechts oben zur Anmeldung erscheint, ist kaum lesbar. Die Schrift wird von der Füllung des Buttons fast unsichtbar gemacht. Vielleicht kannst Du da eine andere Farbkombination wählen.

Ansonsten werde ich jetzt mit dem Modul arbeiten und melde mich, wenn mir etwas auffällt.

Matthias

stefan.apetz

Dass der Ladelevel 2 Mal angezeigt wird liegt an der API.

Der kommt über zwei Scopes zurück:

state_batteryChargeLevel          80

und über den Kraftstoffscope.

fuel_batteryChargeLevel 80

Also einmal über den Standard Score und einmal über den fuel Scope.

Über

get _showEntityConfig kann man einfach die Scopes setzen. Ist einfacher als einzeln über die Attribute.

In get _showDashboard kann man mit dem Stift das Dashboard bearbeiten und dann bspw. den doppelten Eintrag deaktivieren (so wie man alle anderen Punkte auch aktivieren und deaktivieren kann).

Der Button sieht bei mir gut aus. Siehe angefügten Screenshot.

Hast Du ggf. ein anderes Farbschema in fhem am laufen?



matkoh

Ich habe nicht bewusst ein Farbschema geändert. Wo könnte ich das nachsehen?

Mir ist gerade noch aufgefallen, dass bei "Motor Läuft" der Umlaut nicht korrekt dargestellt wird.

Und ich habe gerade versucht, den doppelten Akkustand zu deaktivieren. Er lässt mich aber nicht speichern. Da kommt ein JavaScript-Fehler "Speichern fehlgeschlagen". Muss ich da noch Berechtigungen ändern?