Neuigkeiten:

Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden ;)

Hauptmenü

Einbinden der neuen Volvo on Call API mit HTTPMOD

Begonnen von lynckmeister, 14 Februar 2023, 17:05:47

Vorheriges Thema - Nächstes Thema

Pepe_Pb

Sani, hast Du nacheinander (nicht mit einem Mal) die Befehle in der Eingabezeile des fhem abgesetzt?

setreading VolvoOnCall myAPP-KEY <APP-KEY>
setreading VolvoOnCall myVolvoID <VOLVO-ID>
setreading VolvoOnCall myVolvoPW <VOLVO-ID-PW>

danach ein reread auf VovoOnCall -dann muss es funzen

Sany

Hallo Pepe_Pb (und alle anderen...),

ich habe es nun geschafft, meinen Volvo auszulesen. Copy-Paste allein ging nicht, folgendes hat zum Erfolg geführt:

In Deiner DEF (Post https://forum.fhem.de/index.php?msg=1312431) ist diese eine Zeile:
Zitatattr VolvoOnCall requestHeader02 authorization: Basic aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
die aaaaa müssen gegen den Key vom ersten Post ausgetauscht werden, ist wohl ein öffentlicher Schlüssel??

Zitatsetreading VolvoOnCall myAPP-KEY <APP-KEY>
setreading VolvoOnCall myVolvoID <VOLVO-ID>
setreading VolvoOnCall myVolvoPW <VOLVO-ID-PW>
das kann man direkt an das RAW dranhängen. Ich habe das mehrfach getestet, geht.
Jetzt kommt der wichtige Part:
zuerst ein reread, was u.U. auch Fehler mitbringt?? -> egal
danach unbedingt
Zitatget VolvoOnCall Vehicles
aufrufen.
Dann checken, ob das Reading vehicles_01_id vorhanden ist und die Fahrgestellnummer (FIN) eingetragen ist. Erst dann können die anderen Werte abgerufen werden.

Also recht herzlichen Dank an alle, die zu dieser DEF beigetragen haben.

Nun gehts langsam weiter, da gibts ja noch interessante Dinge wie Reifendruckkontrolle und "Glühlampen" - Status....
.... es bleibt spannend.


Viele Grüße


Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Sany

hier gleich noch ein paar Erweiterungen für die VolvoOnCall DEF:

- Location
- Windows
- Doors
- Tyres
- Warnings


attr VolvoOnCall get10Header1 accept: application/json
attr VolvoOnCall get10Header2 vcc-api-key: %APPKEY%
attr VolvoOnCall get10Header3 authorization: Bearer %AC%
attr VolvoOnCall get10Name Location
attr VolvoOnCall get10Poll 1
attr VolvoOnCall get10URL https://api.volvocars.com/location/v1/vehicles/%VIN%/location

attr VolvoOnCall get11Header1 accept: application/json
attr VolvoOnCall get11Header2 vcc-api-key: %APPKEY%
attr VolvoOnCall get11Header3 authorization: Bearer %AC%
attr VolvoOnCall get11Name Windows
attr VolvoOnCall get11URL https://api.volvocars.com/connected-vehicle/v2/vehicles/%VIN%/windows

attr VolvoOnCall get12Header1 accept: application/json
attr VolvoOnCall get12Header2 vcc-api-key: %APPKEY%
attr VolvoOnCall get12Header3 authorization: Bearer %AC%
attr VolvoOnCall get12Name Doors
attr VolvoOnCall get12URL https://api.volvocars.com/connected-vehicle/v2/vehicles/%VIN%/doors

attr VolvoOnCall get13Header1 accept: application/json
attr VolvoOnCall get13Header2 vcc-api-key: %APPKEY%
attr VolvoOnCall get13Header3 authorization: Bearer %AC%
attr VolvoOnCall get13Name Tyres
attr VolvoOnCall get13URL https://api.volvocars.com/connected-vehicle/v2/vehicles/%VIN%/tyres

attr VolvoOnCall get14Header1 accept: application/json
attr VolvoOnCall get14Header2 vcc-api-key: %APPKEY%
attr VolvoOnCall get14Header3 authorization: Bearer %AC%
attr VolvoOnCall get14Name Warnings
attr VolvoOnCall get14URL https://api.volvocars.com/connected-vehicle/v2/vehicles/%VIN%/warnings

Location ist wie in der App: Update gibts nur nach dem Abstellen des Fahrzeugs. Ist vllt interessant um zu unterscheiden, ob das Auto "zu Hause" ist oder nicht.

Wie weiter oben schon beschrieben wurde: für zyklische Abfragen muss das
Zitatattr VolvoOnCall getXXPoll 1
entsprechend gesetzt werden. Im Beispiel ist es bei Location eingebaut.

Viel Spaß damit


Gruß



Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Sysperion

#48
Hallo,

hat jemand es zufällig auch auf einem Volvo EX30 probiert?

Ich kann zwar Daten auslesen, aber bei Akku Abruf kommt die Fehlermeldung "Car model is not supported".

Auch die Klima kann ich nicht starten oder stoppen, hier kommt die Fehlermeldung "Internal Server Error".

Hat jemand eine Idee, woran es liegen könnte?

Danke
lg
Sysperion

schnuddel

Hallo,

wie es aussieht, hat Volvo in der V2 der API den Batterieladezustand rausgenommen.
ZitatFuel - get battery charge level - The endpoint for getting battery charge level has been removed and the data is now returned in the new consolidated endpoint for fuel.

Wenn ich den Fuel-Level abfrage, erhalte ich allerdings nur Werte zum Benzinstand:
2024-09-23 12:39:13 HTTPMOD VolvoOnCall data_fuelAmount_value: 21.8
2024-09-23 12:39:13 HTTPMOD VolvoOnCall data_fuelAmount_timestamp: 2024-09-23T05:54:27.208Z
2024-09-23 12:39:13 HTTPMOD VolvoOnCall data_fuelAmount_unit: l

Über die Abfrage der Statistiken erhalte ich zumindest einen Wert für die erwartete Distanz, die ich mit Batterie zurücklegen kann:
2024-09-23 12:40:29 HTTPMOD VolvoOnCall data_distanceToEmptyBattery_value: 41
Gibt es ein anderes Reading, dass mir tatsächlich wieder den Batterieladezustand in Prozent angibt?

LG
schnuddel
Raspi, ZWave, HUE, Neato Botvac, Squeezebox

Pepe_Pb

Hast Du den SOC (State of Charge) abgefragt?
Ich habe einen XC60 Hybrid und er zeigt mir den Ladezustand in Prozent an:
data_batteryCapacityKWH 18.819
data_batteryChargeLevel_timestamp 2024-09-24T17:49:48Z
data_batteryChargeLevel_unit percentage
data_batteryChargeLevel_value 44.0
und die Reichweite (ich vermute über die statistic):
data_distanceToEmptyBattery_timestamp 2024-09-24T17:49:48.266Z
data_distanceToEmptyBattery_unit km
data_distanceToEmptyBattery_value 31
data_distanceToEmptyTank_timestamp 2024-09-24T17:51:34.954Z
data_distanceToEmptyTank_unit km
data_distanceToEmptyTank_value 530

schnuddel

Hallo Pepe_Pb,

das ist sehr komisch. Vorgestern bekam ich noch diese Fehlermeldung, wenn ich den SOC abgefragt habe:
Version 1 is removed. See https://developer.volvocars.com/apis/connected-vehicle/v2/overview/Heute läuft es wieder ohne Fehler.
Raspi, ZWave, HUE, Neato Botvac, Squeezebox

Sany

Hallo zusammen,

seit ca 2 Tagen bekomme ich keine Werte mehr von der Volvo Api. Status ist 401, also irgendwas "not Authorized".
Liegts an Volvo? Bei mir habe ich nichts geändert, deshalb die Frage, ob es nur bei mir so ist oder evtl. auch ihr keine Daten bekommt?


Gruß


Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Xcoder

Bei mir auch seit dem 14.10. tod. Mal schauen...

Sany

Ich habe jetzt mal auf der developer.volvocars.com nach dem Einloggen rechts bei "Test access tokens" dann unter my Volvo Car die Energy API ausgewählt und einen tokern erzeugen lassen. Den habe ich dann per setreading VolvoOnCall access_token eingefügt und eine Abfrage vom SOC gestartet: das geht. Bei anderen Abfragen (statistic, doors) kommt wieder als status 403 oder 401 (unauthorized).
Ich kann nicht sagen, ob da was geändert wurde seitens Volvo, aber evtl. sieht es so aus, als ob jede API ihren eigenen access_token braucht. Das wäre irgendwie doof. Ich steck da nicht tief genug in httpmod drin, um überhaupt zu sagen, dass man das mit einem Device abbilden kann, evtl. braucht man womöglich für jede API ein eigenes Device.
Mal sehen, wie lange das mit dem Token von der Website geht, da stand auch ein Verfallszeitpunkt.

unter https://developer.volvocars.com/apis/connected-vehicle/v2/release-notes/

stehen zwar jede Menge Sachen und Änderungen, nur leider kein Datum.
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

matkoh

Auch bei mir werden seit dem 14.10.24 keine Readings mehr aktualisiert.

Ich habe - wie Sany - ein neues Access Token erstellt (das nur ca. 30 Minuten gültig ist) und ebenfalls einen "VCC API key - Primary" und damit gem. https://developer.volvocars.com/apis/docs/getting-started/#your-first-api-request einen Abruf der Vehicles mit curl versucht. Das funktioniert auch und ebenfalls der lt. Anleitung folgende Abruf des Engine-Status mit der vorher übermittelten (und in FHEM eingestellten) VIN.

Ich habe dann im FHEM Device mit setreading myAPP-KEY und access_token entsprechend geändert. Aber es bleibt dabei, dass im FHEM-Device keine Abrufe funktionieren. Es werden keine Readings aktualisiert.

Matthias

Sany

Hallo zusammen,

ich habe (für mich) einen anderen Weg gefunden, die Daten von meinem Volvo zu bekommen und habe die Lösung mit HTTPMOD nicht mehr weiterverfolgt.

gucksu:
https://forum.fhem.de/index.php?topic=139639.0


Viele Grüße



Sany
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....