Hauptmenü

RenaultZE

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

Vorheriges Thema - Nächstes Thema

firebal301

Moin,

ich bekomme nach jedem Parken der ZOE jetzt folgende Meldung in meine Logs:

2021.02.26 09:53:24 1:  readingsUpdate(Zoe,gpsGoogleMaps,Google Maps) missed to call readingsBeginUpdate first.
2021.02.26 09:53:24 1:  stacktrace:
2021.02.26 09:53:24 1:      main::readingsBulkUpdate            called by ./FHEM/96_RenaultZE.pm (952)
2021.02.26 09:53:24 1:      main::RenaultZE_gData_Step2         called by FHEM/HttpUtils.pm (639)
2021.02.26 09:53:24 1:      main::__ANON__                      called by fhem.pl (756)


Habe ich etwas vergessen zu konfigurieren oder was könnte der Fehler sein?

Die GoogleMaps-Funktionalität benötige ich auch nicht.

Danke

firebal301

plin

Zitat von: firebal301 am 27 Februar 2021, 11:09:26
Moin,

ich bekomme nach jedem Parken der ZOE jetzt folgende Meldung in meine Logs:

2021.02.26 09:53:24 1:  readingsUpdate(Zoe,gpsGoogleMaps,Google Maps) missed to call readingsBeginUpdate first.
2021.02.26 09:53:24 1:  stacktrace:
2021.02.26 09:53:24 1:      main::readingsBulkUpdate            called by ./FHEM/96_RenaultZE.pm (952)
2021.02.26 09:53:24 1:      main::RenaultZE_gData_Step2         called by FHEM/HttpUtils.pm (639)
2021.02.26 09:53:24 1:      main::__ANON__                      called by fhem.pl (756)


Habe ich etwas vergessen zu konfigurieren oder was könnte der Fehler sein?

Die GoogleMaps-Funktionalität benötige ich auch nicht.

Danke

firebal301

Du hast vermutlich die Version 0.25 im Einsatz. Hast Du es mal mit der aktuellesten (siehe 1. Post) versucht?
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

firebal301

Zitat von: plin am 27 Februar 2021, 18:07:29
Du hast vermutlich die Version 0.25 im Einsatz. Hast Du es mal mit der aktuellesten (siehe 1. Post) versucht?

Du hast recht. bei den vielen Updates kommt man ja garnicht mit :-)

Gruß

firebal301

firebal301

Moin,

leider hat das Update nicht geholfen. Ich habe weiterhin bei jedem Verschließen/Abstellen des Fahrzeuges die Fehlermeldungen.

Ist das nur bei mir so?

Danke

thymjan

#139
Kann es sein, dass seit einem der letzten Updates Steuerzeichen o.ä. in die Readings mit 'rein gerutscht sind, die die Datenbank durcheinander bringen?
Habe jetzt öfters solche Meldungen im Log:
2021.03.09 17:19:32 1: PERL WARNING: DBD::SQLite::st fetch failed: database disk image is malformed at ./FHEM/93_DbLog.pm line 3671.

Habe jetzt schon meine Datenbank (sqlite) neu angelegt, aber die Fehlermeldungen kommen wieder.
Auch werden Diagramme nicht mehr komplett dargestellt.

Folgende Werte lege ich ab: Zoe:(batteryAutonomy|batteryLevel|batteryTemperature|chargeMode|chargingInstantaneousPower|chargingRemainingTime|chargingStatus|externalTemperature|plugStatus|timestamp|totalMileageKm|ze_Gigya_JWT_lastCall).*

Beim Einspielen eines der letzten Updates fingen die Fehlermeldungen an. Dummerweise habe ich die Logs verworfen.

thymjan

#140
Hab mir ein notify gebastelt:
defmod controlZoechargingInstantaneousPower notify Zoe:chargingStatus:.*-1 sleep 0.1;setreading Zoe chargingInstantaneousPower 0

Damit wird der Wert "chargingInstantaneousPower" auf Null gesetzt sobald die Ladung beendet wurde (chargingStatus = -1).
Mit Beenden der Ladung wird der Wert vom Renault-Server nicht mehr aktualisiert.
Das sleep 0.1 muss innerhalb des notify rein, damit ein Event erzeugt wird, und der Wert auch im Log erscheint.
Funktioniert gut. Wollte ich euch nicht vorenthalten.

@plin: macht das Sinn, diese Funktionalität ins Modul zu übernehmen?

thymjan

#141
Und ich habe nochmal gebastelt (userReadings):

batteryCapacity {sprintf("%.1f", 22)},
batteryHealth {sprintf("%.0f", 97)},
batteryEnergy {sprintf("%.1f", ReadingsNum($name,'batteryCapacity',0)*ReadingsNum($name,'batteryHealth',0)/100*ReadingsNum($name,"batteryLevel",1)/100)},
consumption {sprintf("%.1f", ReadingsNum($name,'batteryEnergy',0)/ReadingsNum($name,'batteryAutonomy',1)*100)}


Folgende Werte habe ich damit hinzugefügt:

  • batteryCapacity, die ursprüngliche Batteriekapazität. Sind bei meiner Zoe 22kWh (vielleicht auch 26kWh, dies wird bei "get Zoe vehicles" angegeben ...)
  • batteryHealth, der Akku-Zustand. Wurde beim letzten Werkstattbesuch auf 97% festgelegt
  • batteryEnergy, die (tatsächlich?) geladene/zum Fahren zur Verfügung stehende Energie. Berechnet aus der prozentualen Akku-Ladung, Akku-Alterung berücksichtigt.
  • consumption_per_100km, der zur Berechnung der Reichweite entstehende theoretische Verbrauch auf 100km. Diesen Durchschnitt müsste man erreichen um die angegebene Reichweite tatsächlich zu erlangen.

Habe noch folgendes Attribut angelegt, damit diese Werte auch geloggt werden können (und gleiche Werte nicht unnötig geloggt werden):

attr Zoe event-on-change-reading totalMileageKm,timestamp,plugStatus,externalTemperature,chargingStatus,chargingRemainingTime,chargingInstantaneousPower,batteryTemperature,batteryLevel,batteryAutonomy,batteryEnergy,consumption


Vermutlich kann man sich über die berechneten Werte trefflich streiten... Ich hoffe, ich habe nicht zu viele Denkfehler drin.

plin

Zitat von: thymjan am 09 März 2021, 17:26:55
Kann es sein, dass seit einem der letzten Updates Steuerzeichen o.ä. in die Readings mit 'rein gerutscht sind, die die Datenbank durcheinander bringen?
Habe jetzt öfters solche Meldungen im Log:
2021.03.09 17:19:32 1: PERL WARNING: DBD::SQLite::st fetch failed: database disk image is malformed at ./FHEM/93_DbLog.pm line 3671.

Habe jetzt schon meine Datenbank (sqlite) neu angelegt, aber die Fehlermeldungen kommen wieder.
Auch werden Diagramme nicht mehr komplett dargestellt.

Folgende Werte lege ich ab: Zoe:(batteryAutonomy|batteryLevel|batteryTemperature|chargeMode|chargingInstantaneousPower|chargingRemainingTime|chargingStatus|externalTemperature|plugStatus|timestamp|totalMileageKm|ze_Gigya_JWT_lastCall).*

Beim Einspielen eines der letzten Updates fingen die Fehlermeldungen an. Dummerweise habe ich die Logs verworfen.
Moin.

Ich habe Zoe-Daten aus meiner MariaDB extrahiert und keine Auffälligkeiten gefunden. Ich logge
DbLogExclude .*
DbLogInclude batteryAutonomy,batteryLevel,chargingInstantaneousPower,chargingRemainingTime,chargingStatus,lastCharge,lastChargeKm,plugStatus,totalMileageKm


Das Delta zwischen Deinen und meinen Einträgen ist
batteryTemperature|chargeMode|externalTemperature|timestamp|ze_Gigya_JWT_lastCall

Hast Du die mal aus der DB extrahiert, um zu schauen ob etwas Ungewöhnliches drinsteht?
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

plin

Zitat von: firebal301 am 09 März 2021, 07:29:24
leider hat das Update nicht geholfen. Ich habe weiterhin bei jedem Verschließen/Abstellen des Fahrzeuges die Fehlermeldungen.
Ist das nur bei mir so?

Du bist bisher der Einzige der die Probleme meldet. Vom Code her betrachtet dürfte die Meldung nicht kommen. Es laufen aber einige Webabfragen parallel ab. Auf welcher Hardware läuft Dein FHEM?
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

firebal301

Zitat von: plin am 13 März 2021, 09:22:38
Du bist bisher der Einzige der die Probleme meldet. Vom Code her betrachtet dürfte die Meldung nicht kommen. Es laufen aber einige Webabfragen parallel ab. Auf welcher Hardware läuft Dein FHEM?

mein FHEM läuft auf nem Raspberry Pi 4. Ich habe auch schon FHEM auf den aktuellen Stand gebracht, leider ohne Erfolg.

Könnte man ggf. die Google-Abfrage deaktivieren? Also per attr?  Scheint ja nur die Location zu sein. Und die brauche ich persönlich nicht.

thymjan

#145
Zitat von: plin am 13 März 2021, 09:19:16
[...]
Hast Du die mal aus der DB extrahiert, um zu schauen ob etwas Ungewöhnliches drinsteht?

Ich habe mir mit

select * from HISTORY where DEVICE='Zoe';

die abgelegten Daten in der sqlite Datenbank angesehen. Das sieht alles gut aus.
Die Daten sind alle da.
Nur mein fhem zickt bei der Anzeige der Diagramme rum. Sind mehrere Diagramme im Browser Fenster, werden nach einem Reload mal mehr, mal weniger Daten einer Reihe dargestellt.
Hat das evtl. etwas mit blockierendem Programmcode zu tun?
Oder meine SD-Karte ist am Ende... das hoffe ich nicht.

firebal301

Zitat von: firebal301 am 13 März 2021, 09:29:35
mein FHEM läuft auf nem Raspberry Pi 4. Ich habe auch schon FHEM auf den aktuellen Stand gebracht, leider ohne Erfolg.

Könnte man ggf. die Google-Abfrage deaktivieren? Also per attr?  Scheint ja nur die Location zu sein. Und die brauche ich persönlich nicht.

Vielleicht als Ergänzung hilfreich: beim Neustart von FHEM bekomme ich folgende Meldung ins Log:

2021.03.14 15:53:34 1:  PERL WARNING: Use of uninitialized value $res in concatenation (.) or string at ./FHEM/96_RenaultZE.pm line 381.

plin

Zitat von: firebal301 am 14 März 2021, 15:56:25
2021.03.14 15:53:34 1:  PERL WARNING: Use of uninitialized value $res in concatenation (.) or string at ./FHEM/96_RenaultZE.pm line 381.

mmh, in der v 0.27 steht

...
           my $res = 0;

           Log3 $name, 5, "RenaultZE_Main1 - ze_Gigya_JWT_lastCall=".$ze_Gigya_JWT_lastCall;
           my $gigya_time = Time::Piece->strptime( $ze_Gigya_JWT_lastCall, '%Y-%m-%d %H:%M:%S')->epoch;
           Log3 $name, 5, "RenaultZE_Main1 - ze_Gigya_JWT_lastCall=".$gigya_time;
           Log3 $name, 5, "RenaultZE_Main1 - gettimeofday=".gettimeofday();

           if ( $ze_Gigya_JWT_Token eq ""  ||  $gigya_time < gettimeofday() - 70000 ) {
              $res = RenaultZE_getCreds_Step1($hash);
              Log3 $name, 5, "RenaultZE_Main1 - RC=".$res;
           }
...


Welche Version hast Du im Einsatz?
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

plin

Zitat von: thymjan am 09 März 2021, 22:26:31
@plin: macht das Sinn, diese Funktionalität ins Modul zu übernehmen?
Der Wert ändert sich bei mir so gut wie nie. Ich kann noich nicht mal sagen was der aussagen soll.
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

firebal301

Zitat von: plin am 16 März 2021, 07:58:54
mmh, in der v 0.27 steht

...
           my $res = 0;

           Log3 $name, 5, "RenaultZE_Main1 - ze_Gigya_JWT_lastCall=".$ze_Gigya_JWT_lastCall;
           my $gigya_time = Time::Piece->strptime( $ze_Gigya_JWT_lastCall, '%Y-%m-%d %H:%M:%S')->epoch;
           Log3 $name, 5, "RenaultZE_Main1 - ze_Gigya_JWT_lastCall=".$gigya_time;
           Log3 $name, 5, "RenaultZE_Main1 - gettimeofday=".gettimeofday();

           if ( $ze_Gigya_JWT_Token eq ""  ||  $gigya_time < gettimeofday() - 70000 ) {
              $res = RenaultZE_getCreds_Step1($hash);
              Log3 $name, 5, "RenaultZE_Main1 - RC=".$res;
           }
...


Welche Version hast Du im Einsatz?

Ich habe die v.0.27 im Einsatz:
$Id: 96_RenaultZE.pm  2021-02-20 16:00:00 plin $