Hauptmenü

RenaultZE

Begonnen von plin, 29 November 2020, 09:50:17

Vorheriges Thema - Nächstes Thema

plin

Zitat von: chris050280 am 17 Januar 2021, 20:14:28
Ok, das hatte ich gemacht und ich hab auch die neuen Attribute, aber nicht die neuen Readings
Richtig, da war noch was. Das Modul ist faul  ;D. Wieso soll es sich die Mühe machen immer wieder den Abstand von zu Hause zu ermitteln, wenn sich die Position nicht ändert.
Setz mal ein
setreading Zoe gpsLongitude 7.o
ab und danach ein get update.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

chris050280

An das hätte ich auch denken können  8) danke
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

phiona

Das verstehst Du also unter "Schaue ich mir später an"  ;)
Du bist genial, vielen Dank :)

thymjan

Zitat von: plin am 12 Januar 2021, 19:59:24
Was hat Dein verbose ergeben?
[...]
Ich denke in bestimmten Situationen gibt der Aufruf der API html-Code statt JSON zurück. Bei mir war es immer im 'RenaultZE_gData_Step2'. Ich habe vorsorglich eine Abfrage auf '<html>' mit entsprechender Meldung im Log eingebaut.

VG plin

P.S. Die aktuelle Version steht wie üblich im 1. Post.
War irgendwie weg von der Bildfläche und habe keine Updates mehr vom Forum bekommen. Danke für den Fix.
Hab's eben eingebaut und werd's beobachten. Vielen Dank!

thymjan

Hm. Schade. Die aktuelle Version zeigt sich hier mit Phase 1 als sehr instabil. Musste das Modul erst mal deaktivieren, FHEM ist jeweils sofort nach dem Start eingefroren.
Allerdings beim ersten Start lief es einige Minuten. Habe den Längen und Breitengrad definiert und das showaddress attribut gesetzt. Wurde aber bis jetzt nichts angezeigt (auch mit update nicht).

Folgende Fehlermeldungen habe ich gefunden:

2021.01.27 21:10:48 5: RenaultZE_gData_Step1 - Out
2021.01.27 21:10:48 5: RenaultZE_gData_Step1 - charge-mode - RC=0
2021.01.27 21:10:48 5: RenaultZE_Main3 - Out
2021.01.27 21:10:48 5: RenaultZE_getCreds_Step3 - Out
2021.01.27 21:10:55 5: RenaultZE_gData_Step2 - In HASH(0x25d2928)/Zoe
2021.01.27 21:10:55 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:55 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/******/kamereon/kca/car-adapter/v2/cars/VF******battery-status?country=DE returned: {"data":{"type":"Car","id":"VF******","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:49:21 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/******/kamereon/kca/car-adapter/v2/cars/VF*****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF******","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:50:02 5: RenaultZE_gData_Step2 - Out
2021.01.27 21:50:02 5: RenaultZE_gData_Step2 - In HASH(0x24deb10)/Zoe
2021.01.27 21:50:02 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/*****/kamereon/kca/car-adapter/v2/cars/VF*****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF*****","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:50:33 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/*****/kamereon/kca/car-adapter/v2/cars/VF****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF****","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:52:36 5: INFO: RenaultZE_gData_Step2, [...]
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

plin

#65
Zitat von: thymjan am 27 Januar 2021, 22:08:16
Hm. Schade. Die aktuelle Version zeigt sich hier mit Phase 1 als sehr instabil. Musste das Modul erst mal deaktivieren, FHEM ist jeweils sofort nach dem Start eingefroren.
Allerdings beim ersten Start lief es einige Minuten. Habe den Längen und Breitengrad definiert und das showaddress attribut gesetzt. Wurde aber bis jetzt nichts angezeigt (auch mit update nicht).

Folgende Fehlermeldungen habe ich gefunden:

2021.01.27 21:10:48 5: RenaultZE_gData_Step1 - Out
2021.01.27 21:10:48 5: RenaultZE_gData_Step1 - charge-mode - RC=0
2021.01.27 21:10:48 5: RenaultZE_Main3 - Out
2021.01.27 21:10:48 5: RenaultZE_getCreds_Step3 - Out
2021.01.27 21:10:55 5: RenaultZE_gData_Step2 - In HASH(0x25d2928)/Zoe
2021.01.27 21:10:55 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:55 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/******/kamereon/kca/car-adapter/v2/cars/VF******battery-status?country=DE returned: {"data":{"type":"Car","id":"VF******","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:10:56 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:49:21 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/******/kamereon/kca/car-adapter/v2/cars/VF*****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF******","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:49:21 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:50:02 5: RenaultZE_gData_Step2 - Out
2021.01.27 21:50:02 5: RenaultZE_gData_Step2 - In HASH(0x24deb10)/Zoe
2021.01.27 21:50:02 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/*****/kamereon/kca/car-adapter/v2/cars/VF*****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF*****","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:50:33 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/*****/kamereon/kca/car-adapter/v2/cars/VF****/battery-status?country=DE returned: {"data":{"type":"Car","id":"VF****","attributes":{"timestamp":"2021-01-27T16:41:42+01:00","batteryLevel":73,"batteryTemperature":15,"batteryAutonomy":109,"batteryCapacity":0,"batteryAvailableEnergy":0,"plugStatus":0,"chargingStatus":-1.0}}}
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
2021.01.27 21:50:33 5: RenaultZE_Set - opt = ?, value =
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.

[...]

2021.01.27 21:52:36 5: INFO: RenaultZE_gData_Step2, [...]
Error parsing time at /usr/lib/arm-linux-gnueabihf/perl/5.20/Time/Piece.pm line 469.


Ich habe den Übeltäter gefunden: ... attributes":{"timestamp":"2021-01-27T16:41:42+01:00"," ...

Renault liefert hier den Timestamp im Format "2021-01-27T16:41:42+01:00", bei allen anderen das Format "2020-12-11T15:36:56Z". Jetzt muss ich nur noch schauen wie ich das Time::Piece beibringe. Das Pattern %z ist es jedenfalls nicht.

Update: Ich hab' mal 'ne schnelle Lösung eingebaut. Die v 0.19 ist im 1. Post zu finden.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

thymjan

Zitat von: plin am 28 Januar 2021, 07:40:59
Update: Ich hab' mal 'ne schnelle Lösung eingebaut. Die v 0.19 ist im 1. Post zu finden.

Super, vielen Dank! Jetzt startet das Modul wieder.


  • Die Position der Zoe bekomme ich bis jetzt noch nicht angezeigt (den Tipp mit "setreading Zoe gpsLongitude 7.o" und dem anschließenden Update habe ich ohne Erfolg durchgeführt). Die Zeddy-App ist irgendwie an die Infos der Position herangekommen, dort wird sie korrekt angezeigt. Im Log bei verbose 5 kann ich ebenfalls keine Koordinaten-Daten erkennen.


  • Das Reading chargingInstantaneousPower scheint nur bei chargingStatus ungleich -1 valide zu sein.


  • Macht es Sinn das Reading hvacStatus anzulegen?


  • Im log erscheinen noch viele Warnings wegen nichtinitialisierten Variablen. Aber das sind ja nur Schönheitsfehler:
    PERL WARNING: Use of uninitialized value $lastErr in string ne at ./FHEM/96_RenaultZE.pm line 309.
    PERL WARNING: Use of uninitialized value $res in concatenation (.) or string at ./FHEM/96_RenaultZE.pm line 321.
    PERL WARNING: Use of uninitialized value $lastErr in string ne at ./FHEM/96_RenaultZE.pm line 347.
    PERL WARNING: Use of uninitialized value $ze_Renault_AccId in concatenation (.) or string at ./FHEM/96_RenaultZE.pm line 355.
    PERL WARNING: Use of uninitialized value $ze_Renault_AccId in string eq at ./FHEM/96_RenaultZE.pm line 356.
    PERL WARNING: Use of uninitialized value $res in concatenation (.) or string at ./FHEM/96_RenaultZE.pm line 358.
    PERL WARNING: Use of uninitialized value $lastErr in string ne at ./FHEM/96_RenaultZE.pm line 381.



  • Was haben folgende Zeilen zu bedeuten?
    Das taucht ziemlich häufig auf.
    2021.01.28 19:01:41 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:41 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:42 5: RenaultZE_gData_Step2 - Out
    2021.01.28 19:01:47 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:47 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:01:47 5: RenaultZE_Get - opt = ?, value =
    2021.01.28 19:01:47 3: RenaultZE_Get - Unknown argument ?, choose one of #update:noArg#vehicles:noArg#
    2021.01.28 19:06:00 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:07 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:07 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:07 5: RenaultZE_Get - opt = ?, value =
    2021.01.28 19:06:07 3: RenaultZE_Get - Unknown argument ?, choose one of #update:noArg#vehicles:noArg#
    2021.01.28 19:06:17 5: RenaultZE_Get - opt = update, value =
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:17 5: RenaultZE_Main1 - In, key=GET_update
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =
    2021.01.28 19:06:17 5: RenaultZE_Set - opt = ?, value =




thymjan

Kann es sein, das bei der Phase 1 Zoe der Standort anders abgefragt werden muss?

Dies habe ich auf https://gist.github.com/tobwil/94ed7a35ebf8f51c40bbb38f1cc74c77 gefunden:
// locationStatus
// version: 1
// gpsLatitude
// gpsLongitude
// LastUpdateTime
let locationStatus = await getStatus('location', 1, kamareonURL, account_id, VIN, gigyaJWTToken, kamareonAPI)
allResults["locationStatus"] = locationStatus

plin

Zitat von: thymjan am 28 Januar 2021, 19:51:49
Kann es sein, das bei der Phase 1 Zoe der Standort anders abgefragt werden muss?

Dies habe ich auf https://gist.github.com/tobwil/94ed7a35ebf8f51c40bbb38f1cc74c77 gefunden:
// locationStatus
// version: 1
// gpsLatitude
// gpsLongitude
// LastUpdateTime
let locationStatus = await getStatus('location', 1, kamareonURL, account_id, VIN, gigyaJWTToken, kamareonAPI)
allResults["locationStatus"] = locationStatus


Ja, die Rückmeldung scheint anderes zu sein (wenn ich dem im widget.js enthaltenen data Statement trauen darf).

Teste mal die hier angehängte Version.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

thymjan

Ich bekomme die location-Abfrage nicht getriggert. Im Log sehe ich, dass alle anderen Parameter abgefragt werden, location ist aber nicht dabei.

plin

Zitat von: thymjan am 28 Januar 2021, 21:42:11
Ich bekomme die location-Abfrage nicht getriggert. Im Log sehe ich, dass alle anderen Parameter abgefragt werden, location ist aber nicht dabei.
kein Wunder, sehe gerade

              $res = RenaultZE_gData_Step1($hash,'location')                            if ($phase eq "2");
              Log3 $name, 5, "RenaultZE_gData_Step1 - location - RC=".$res              if ($phase eq "2");

Kannst Du es mal ohne die ifs probieren.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

thymjan

Das war wohl ein Satz mit X für Phase 1 ...

2021.01.29 17:15:56 5: INFO: RenaultZE_gData_Step2, url: https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/*****/kamereon/kca/car-adapter/v1/cars/VF*****/location?country=DE returned: {"type":"TECHNICAL","messages":[{"code":"err.tech.501","message":"{\"errors\":[{\"status\":\"501\",\"code\":\"error.internal\",\"detail\":\"This feature is not technically supported by this gateway\"}]}"}],"errors":[{"errorCode":"err.tech.501","errorMessage":"{\"errors\":[{\"status\":\"501\",\"code\":\"error.internal\",\"detail\":\"This feature is not technically supported by this gateway\"}]}"}],"error_reference":"TECHNICAL"}
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 3: ERROR: RenaultZE_gData_Step2, error (data) while calling https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/****/kamereon/kca/car-adapter/v1/cars/VF****/location?country=DE - errorCode=err.tech.501, errorMessage={"errors":[{"status":"501","code":"error.internal","detail":"This feature is not technically supported by this gateway"}]}
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =
2021.01.29 17:15:56 5: RenaultZE_Set - opt = ?, value =

Wahrscheinlich wird bei der Zeddy App der Standort des Smartphones benutzt.

thymjan

Jedoch die Lade-Historie (letzte Vier Ladevorgänge) sollte bei Phase 1 verfügbar sein:
Datum / Zeitraum / Ladestände
Dies wird auch in der Zeddy-App angezeigt.

plin

Zitat von: thymjan am 29 Januar 2021, 22:27:06
Jedoch die Lade-Historie (letzte Vier Ladevorgänge) sollte bei Phase 1 verfügbar sein:
Datum / Zeitraum / Ladestände
Dies wird auch in der Zeddy-App angezeigt.

Ich muss mir anschauen wie ich das "Problem" Phase1-Entwicklung grundsätzlich gelöst kriege (ich habe nämlich keinen). Zum einen müssen bestimmte von Renault angedachte URLs abgerufen werden, dann brauche ich die data-Inhalte dessen was zurückgegeben wurde, um die dann ins Modul einzubauen. Das soll die anderen Nutzer aber weder verwirren noch "Support"-Anfragen produzieren wie "geht nicht" (weil von Renault noch gar nicht implementiert).

Ich denke mir was aus ...
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

thymjan

Kann gerne Log-Ausschnitte beisteuern.