Autor Thema: FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)  (Gelesen 4735 mal)

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
(Stand 26.02.2019)

Das Modul kann man benutzen, um die Ladung zu steuern ("bis 80% laden, um den Akku zu schonen"): man kann periodisch abfragen (siehe weiter unten), wie der Ladezustand des Autos ist, die Klimaanlage eingestellt ist, oder diese ein- oder ausschalten, oder den Ladevorgang starten.

Das Ergebnis der Akkuabfrage dauert allerdings mindestens eine halbe Minute, eher länger (bis zu 3 Minuten). Das liegt allerdings an der verwendeten API und kann nicht weiter optimiert werden.

Wichtig: bitte bei Problemen eine Direktnachricht oder Mail schicken! Ich bekomme nicht immer mit, wenn hier jemand was schreibt.

Zur Installation der verwendeten Module hat mir Puschel dankenswerterweise weitergeholfen:

ModulInstallation über...
Data::Dumpersudo apt-get install libdata-dumper-simple-perl
Crypt::Blowfishsudo apt-get install libcrypt-blowfish-perl
MIME::Base64sudo apt-get install libmime-base64-perl
JSONsudo apt-get install libjson-perl
Try::Tinysudo apt-get install libtry-tiny-perl
DateTimesudo apt-get install libdatetime-perl

<hr>
Anlegen eines FHEM-Devices über:

define <name> Carwings <user> <password> <region>

(Das Passwort am Besten in Anführungszeichen, oft sind Sonderzeichen drin - hoffe ich für euch!).

dann fügt es später die Werte (SOC etc) als Readings des Objekts hinzu, wenn man sie über

set <name> query battery

abfragt.

Übersicht der Abfragen:

KommandoAktion
set <name> query battery
siehe oben, Abfrage des (Batterie-)Ladezustands, Kabel-Verbindung des Autos, ...
set <name> query battery_cached
Abfrage des letzten bekannten (Batterie-)Ladezustands, Kabel-Verbindung des Autos, ... (letzte Meldung an den Nissan-Server). Die Werte werden in den Readings mit "_CachedRecord_Battery_"-Präfix gespeichert.
set <name> query start_charge
Startet Ladevorgang, wenn das Auto verbunden ist
set <name> charging on
äquivalent zu "query start_charge"
set <name> query location
Abfrage des Orts des Wagens.
set <name> query climate_cached
Abfrage des letzten bekannten Zustands der Klimaanlage (letzte Meldung an den Nissan-Server). Die Werte werden in den Readings mit "_CachedRecord_Climate_"-Präfix gespeichert.
set <name> query climate_on
schaltet die Klimaanlage an. Der resultierende Zustand wird - bei Erfolg - in "ClimateControlState" geschrieben.
set <name> AC on
schaltet die Klimaanlage an (kann man sich besser merken als "query climate_on")
set <name> query climate_off
schaltet die Klimaanlage aus. Der resultierende Zustand wird - bei Erfolg - in "ClimateControlState" geschrieben.
set <name> AC off
schaltet die Klimaanlage aus (kann man sich besser merken als "query climate_off")
set <name> query climate_schedule
fragt geplanten Klimaanlagen-Einsatz ab und schreibt den in "_CachedRecord_ClimateScheduledTime"
set <name> query cabintemp
fragt Wagen-Innentemperatur ab und schreibt den in "CabinTemp"
set <name> query cabintemp_cached
fragt Wagen-Innentemperatur ab (letzte Meldung an den Nissan-Server) und schreibt den in "_CachedRecord_CabinTemp"

Attribute:

NameBeschreibung
loglevel
Log Level für das Log file, default 3
usable_battery_capacity
benutzbare Batteriekapazität (Default 36.5) - wird zur Berechnung der Ladezeit benutzt. Ist aber eh inexakt, da der SOC-Wert nicht genau die Ladezeit bestimmt wegen der Reserven an den Extremwerten.

Die "query"-Abfragen können auch kombiniert werden, beispielsweise:

set <name> query battery_cached climate_cached battery



Das Modul hängt an.

Die Abfrage kann man dann periodisch einrichten, möglichst nicht häufiger als alle 15 Minuten (da bei den nicht-Cache-Werten eine Abfrage an das Auto stattfindet, nicht dass Nissan da irgendwann mal meckert). Idealerweise vom Zustand des Ladens abhängig: wenn man den Wert dafür braucht, sonst seltener (stündlich reicht). Bei mir ist die normale "battery"-Abfrage stündlich, und wenn ich lade, viertelstündlich. Bei maximal 4.6 kW ist das etwa 1 kW Schrittweite.

Die "_cached"-Werte braucht man eigentlich nicht abfragen, da sie automatisch abgefragt werden, wenn die direkte Abfrage fehlschlägt, um die Werte auf diese Weise zu bekommen.

Meine Definition für "myLeaf" sieht dann so aus:

Internals:
   CFGFN
   DEF        xxx@yyyy.zz 'xxxxxxxxx' NE
   NAME       myLeaf
   RegionCode NE
   STATE      SOC = 40% [CONNECTED, NOT_CHARGING]
   TYPE       Carwings
   READINGS:
   READINGS:
     2018-12-28 18:40:25   APIResponse     OK battery_cached 2
     2018-12-28 18:40:25   BatteryDataSource _CachedRecord_
     2018-12-28 18:40:25   BatteryQuality  100
     2018-12-28 18:40:25   BatterySOC      69
     2018-12-28 18:40:25   BatteryTime     2018-12-28T18:38:00
     2018-12-28 16:36:17   CabinTemp       14.5
     2018-12-28 16:36:17   CabinTempDataSource _CachedRecord_
     2018-12-28 16:36:17   CabinTempTime   2018-12-28T16:33:00
     2018-12-28 18:40:25   ChargeMode      NOT_CHARGING
     2018-12-26 23:40:29   ClimateControlOperationResult SUCCESS
     2018-12-26 23:40:29   ClimateControlStatus OFF
     2018-12-28 18:40:25   CruisingRangeACOff 187
     2018-12-28 18:40:25   CruisingRangeACOn 167
     2018-12-28 18:40:25   LoadTimeRemaining_11kW_100Perc 3.5
     2018-12-28 18:40:25   LoadTimeRemaining_11kW_80Perc 1.2
     2018-12-28 18:40:25   LoadTimeRemaining_11kW_ToFull 9.0
     2018-12-28 18:40:25   LoadTimeRemaining_22kW_100Perc 2.0
     2018-12-28 18:40:25   LoadTimeRemaining_22kW_80Perc 0.7
     2018-12-28 18:40:25   LoadTimeRemaining_22kW_ToFull 4.5
     2018-12-28 16:41:27   LocationLatitude 47.716197222222
     2018-12-28 16:41:27   LocationLongitude 9.0687388888889
     2018-12-28 16:41:27   LocationTime    2018-12-28T16:40:00
     2018-12-28 18:40:25   PlugState       CONNECTED
     2018-12-28 17:11:38   _CachedRecord_BatteryQuality 100
     2018-12-28 18:40:25   _CachedRecord_BatteryRemainingkWh 27
     2018-12-28 18:40:25   _CachedRecord_BatteryResult SUCCESS
     2018-12-28 18:40:25   _CachedRecord_BatterySOC 69
     2018-12-28 18:40:25   _CachedRecord_BatteryTime 2018-12-28T18:38:00
     2018-12-28 16:36:17   _CachedRecord_CabinTemp 14.5
     2018-12-28 16:36:17   _CachedRecord_CabinTempTime 2018-12-28T16:33:00
     2018-12-28 13:37:42   _CachedRecord_ChargeMode NOT_CHARGING
     2018-12-27 19:49:32   _CachedRecord_ClimateChangeOperation STOP
     2018-12-27 19:49:32   _CachedRecord_ClimateChangeTime 2018/12/26 22:40
     2018-12-27 19:49:32   _CachedRecord_ClimateIncTemp 15
     2018-12-27 19:49:32   _CachedRecord_ClimateResult SUCCESS
     2018-12-26 23:34:00   _CachedRecord_ClimateScheduledTime
     2018-12-27 19:49:32   _CachedRecord_ClimateTemp 22
     2018-12-27 19:49:32   _CachedRecord_ClimateTime 2018-12-26T23:40:00
     2018-12-28 18:36:03   _CachedRecord_CruisingRangeACOff 187
     2018-12-28 18:36:03   _CachedRecord_CruisingRangeACOn 167
     2018-12-28 18:33:51   _CachedRecord_LoadTimeRemaining_11kW_100Perc 3.5
     2018-12-28 18:33:51   _CachedRecord_LoadTimeRemaining_11kW_80Perc 1.2
     2018-12-28 18:33:51   _CachedRecord_LoadTimeRemaining_11kW_ToFull 9.0
     2018-12-28 18:33:51   _CachedRecord_LoadTimeRemaining_22kW_100Perc 2.0
     2018-12-28 18:33:51   _CachedRecord_LoadTimeRemaining_22kW_80Perc 0.7
     2018-12-28 12:37:43   _CachedRecord_LoadTimeRemaining_22kW_ToFull 4.5
     2018-12-28 18:36:03   _CachedRecord_PlugState CONNECTED
     2018-12-27 19:41:42   car             Leaf1niss
     2018-12-28 18:40:25   error Attributes:
   group      e-Auto
   icon       car
   room       PV,debug
   sortby     9
   stateFormat stateFormat {
sprintf("SOC = <b>%3d%%</b> (≈%dkm-%dkm) (%s%s)<br>%s",
  ReadingsNum($name, "BatterySOC", -1),
  ReadingsNum($name, "CruisingRangeACOn", 0),
  ReadingsNum($name, "CruisingRangeACOff", 0),
  ReadingsVal($name, "BatteryTime", 0),
  ((ReadingsVal($name, "BatteryDataSource", "") eq '_CachedRecord_') ? ', cached' : ''),
 length(ReadingsVal($name, "error", "")) > 0
  ? sprintf("[ERROR %s (%s)]", ReadingsVal($name, "error", ""), ReadingsTimestamp($name,"error",0))
  : sprintf("[%s, %s]", ReadingsVal($name, "PlugState", ""), ReadingsVal($name, "ChargeMode", ""))
 )
}

Updates:

2018-11-15
  • startet immer nur eine query
  • bessere Fehlerverarbeitung
  • geschätzte Entfernung wird auch als Reading mit/ohne Klimaanlageneinsatz gesetzt

2018-12-10
  • verbessertes timing
  • bessere Fehlerverarbeitung (kann man im LOG sehen) für Plot

2018-12-17
  • neues Attribut "loglevel", Default 3

2018-12-18
  • neue queries 'battery_cached', climate_cached', 'climate_on', 'climate_off', 'climate_schedule'
  • neue Kommandos 'AC on', 'AC off'

2018-12-20
  • 'Hash'-Fehler bei leerem Climate-Cache-Record gefixt

2018-12-21
  • neue API URL eingebaut - FHEM muß neu gestartet werden, damit das übernommen wird

2018-12-22
  • APIResponse log entries sind jetzt task-spezifisch
  • LoadTimeRemainingXxxx (berechnete) Readings für 80% und 100% Ladung
  • Datumswerte alle normiert in Perl-ISO-Zeitformat
  • "query all", um alles auf ein Mal abzufragen
  • neue queries 'cabintemp_cached', 'cabintemp' für die Auto-Innentemperatur
  • API URL wird nun immer neu gesetzt, kein FHEM-Neustart mehr nötig

2018-12-23
  • Einheiten an Readings hinzugefügt (mit Leerzeichen davor, damit man keine Perl-Warnung bekommt)
  • BatterySOC reading time war Lokalzeit, alle anderen waren UTC (Nissan! sigh) - korrigiert
  • _CachedRecord_BatteryPlugState umbenannt in _CachedRecord_PlugState (Konsistenz zu "PlugState")
  • _CachedRecord_BatteryChargeMode umbenannt in _CachedRecord_ChargeMode (Konsistenz zu "ChargeMode")
  • Job-Liste ist nun ein Array, das auch neue Jobs aufnehmen kann statt sich zu beschweren, dass noch ein Job aktiv sei - man kann also mehrere "set ... query" hintereinander aufrufen
  • Ein Datenfehler in einer Query beendet nicht mehr den Ablauf, sondern startet die nächste Query

2018-12-27
  • Einheiten an Readings wieder weg - danke Herjemine
  • LoadTimeRemaining... readings haben jetzt auch die "_ToFull"-Angaben des Autos (von der 'battery_cache'-Query, die 'battery'-Query liefert zumindest bei mir nichts)

2018-12-28
  • 'cached'-Werte werden automatisch nach einer fehlgeschlagenen Abfrage gemacht, um dennoch an die Werte ranzukommen
  • Die Akku-Referenz-'Quality' ist nun fix auf 12 (ZE0) bzw. 240 (ZE1) - danke Herjemine. Damit sollten keine SOC-Wert über 100% möglich sein
  • Region-Code Nordamerika hat eine eigene URL (falls jemand in den USA registriert ist...)
  • Die aktuellen Batterie- und Innentemperatur-Abfragewerte liegen nun in _CurrentRecord_Xxxxx Readings
  • Batterie- und Innentemperatur werden automatisch von den Neueren der aktuellen (_CurrentRecord_)- und Cached (_CachedRecord_)-Werte genommen, 'BatterySOC' etc sind also immer der beste Werte

2018-12-29
  • verbesserte Batterie- und Cabintemp-Abfragen durch paralleles Abfragen der zwischengespeicherten Werte, die früher als die aktuellen Werte verfügbar sein könnten (böser, böser Nissan-Server! mein Glück, dass das funktioniert....).
  • Problem mit leerem Array von climate_cached Datensätzen behoben (falls nicht vorhanden)
  • Problem mit der automatischen Auswahl der Datenquelle mit neu definiertem device und ohne aktuelle Werte (keine _CurrentRecord_-Readings) vom Server behoben, was zu einem SOC-Wert von 0 führte.
  • ptimierter und reduzierter Copy&Paste-Code
  • Standortkoordinaten auf 5 Dezimalstellen (ca. 1m Auflösung) reduziert

2018-12-30
  • 'all' führte alle Kommandos aus, also auch Klimaanlage ein- und wieder ausschalten, und die bei den 'battery'- und 'cabintemp'-Queries - überflüssigen - 'battery_cached'- und 'cabintemp_cached'- Queries.
  • die Änderungs-Liste von gestern eingedeutscht. Es fällt mir nicht auf, wenn ich bei Englisch bleibe, denn alle PERL-Docs sind auf Englisch

2019-01-12
  • 'start_charge' um den Ladevorgang zu starten
  • Abfrage der Monatsstatistiken möglich: 'stat_monthly:<yyyymm>', also z.B. 'query stat_monthly:201812 stat_monthly:201901' für diese beiden Monate. Schreibt das Resultat (jeweils km, kWh, kWh_Motor, kW_100km) für den entsprechenden Monat als Reading 'Stat_<yyyymm>_<typ>'. Hier sind aber - warum auch immer - zumindest bei mir nicht alle Fahrten drin, daher schreibe ich das oben auch nicht in die Tabelle!

2019-01-15
  • 'query location' dokumentiert
  • 'charging on' als Alias für 'query start_charge'

2019-01-18
  • 'query stat_monthly:now' speichert nun die 4 Stat-readings ohne Datum, so dass man beispielsweise diese in ein Jahres-Logfile schreiben kann ("define xxx FileLog ./log/myLeaf_Stat-%Y.log myLeaf:Stat_kW_100.*"), um das als Jahres-Plot auszugeben
  • 'Battery' und 'Climate' readings lösen jetzt nur eine Änderung aus, wenn sich der Wert ändert to update only if changed, so that they can be used for notifications of state changes

2019-01-26
  • neue URL eingebaut (Nissan ändert die alle paar Monate)



PS: Dank an Puschel74 und Herjemine mit Fehlerkorrekturen und Hinweisen!!!!
« Letzte Änderung: 26 Februar 2019, 21:42:28 von c2j2 »

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Hallo,

also ich hätte schon Interesse an dem Modul. Kannst Du es veröffentlichen?

Danke im voraus

Gröpi

Offline Moeti

  • New Member
  • *
  • Beiträge: 31
Hallo Gröpi!
Klingt sehr interessant. Ich wäre interessiert!
lG
Michael
RaspberryPi 2 B, FHEM, CUL, HMLAN, homebridge
diverse Homematic, diverse Sonoff mit Tasmota per mosquitto
WH1080 per pywws, RaspiCam, Kostal PIKO 5.5,
Hörmann Supramatic mit UAP1, HM-SCI-3-FM, HM-LC-SW4-BA-PCB
SmartPi, Automower

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo c2j2,

ich habe auch Interesse an deinem Modul.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
OK, sorry... My fault. Private Message ist besser, ich komme nicht zum Vorbeischauen her. Und die Nachricht bei Antworten habe ich nicht bekommen als eMail, obwohl ich das angekreuzt habe. Grund unbekannt.

Ich habe das Modul jetzt noch so umgebaut, dass man nur

define <name> Carwings <user> <password> <region>

(Passwort am Besten in Anführungszeichen).

machen muß, und es fügt die Werte (SOC etc) als Readings des Objekts hinzu - die Idee mit dem Dummy war überflüssig und "historisch" zu betrachten, da mein externer LeafSpy-Server einen Dummy benötigte.

Das Modul hängt an. Ich mache die Abfragehäufigkeit über den Zustand der Wallbox abhängig, alle 5 Minuten während des Ladens, sonst halbstündig:

Internals:
   DEF        (["^go_eCharger:alw",0] == 0) (set myLeaf query battery)
   NAME       di_go_eCharger_ALW_OFF
   TYPE       DOIF
Attributes:
   cmdpause   1800
   do         always
   room       debug

und

Internals:
   DEF        (["^go_eCharger:alw",0] != 0) (set myLeaf query battery)
   NAME       di_go_eCharger_ALW_ON
   TYPE       DOIF
Attributes:
   cmdpause   300
   do         always
   room       debug

Meine Definition für "myLeaf" sieht dann so aus:

Internals:
   CFGFN
   DEF        xxx@yyyy.zz 'xxxxxxxxx' NE
   NAME       myLeaf
   RegionCode NE
   STATE      SOC = 40% [CONNECTED, NOT_CHARGING]
   TYPE       Carwings
   READINGS:
     2018-11-11 19:14:21   BatteryCapacity 240
     2018-11-11 19:55:38   BatteryDegradation 97
     2018-11-11 19:55:38   BatterySOC      40
     2018-11-11 19:56:40   ChargeMode      NOT_CHARGING
     2018-11-11 19:00:33   ChargeStatus    CT
     2018-11-11 20:27:40   Charging        NO
     2018-11-11 19:00:33   PlugState       CONNECTED
     2018-11-11 20:27:02   car             Leaf1niss (SJNFAAZE1Unnnnnnn)
     2018-11-11 20:27:02   error
Attributes:
   group      e-Auto
   icon       refresh
   room       PV,debug
   sortby     9
   stateFormat {
sprintf("SOC =%3d%% [%s, %s]%s",
ReadingsNum($name, "BatterySOC", -1),
ReadingsVal($name, "PlugState", ""),
ReadingsVal($name, "ChargeMode", ""),
"")
}

Viel Spaß!!!
« Letzte Änderung: 12 November 2018, 19:51:58 von c2j2 »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Winzige Verbesserung im Modul im Anhang: ich habe den -BatterySOC-Wert nun immer auf Update, so dass man mit

ReadingsTimestamp($name,"BatterySOC",0)

erfährt, wann der Wert zuletzt erfolgreich gelesen wurde.
« Letzte Änderung: 12 November 2018, 19:52:08 von c2j2 »

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Hallo c2j2,

erstmal vielen Dank für das Modul.

Ich habe es per FTP auf den Pi geladen (/opt/fhem/FHEM) die Berechtigung auf 755 und den Besitzer auf FHEM:dialout gesetzt.

Leider bekomme ich wenn ich versuche zu definieren die Fehlermeldung: Cannot load module Carwings. Wahrscheinlich fehlt noch ne Kleinigkeit.

Gröpi

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Im LOG von FHEM müßte man es sehen.

Während der Entwicklung hatte ich ein paar Perl-Module installiert. Hmmm... wenn ich noch wüßte, welche (und welche noch benötigt werden).

Ich fürchte, Du mußt den Weg über das Log gehen. Ich weiß nicht, wie man sonst herausfinden kann, welche Module dafür benötigt werden.

Möglicherweise JSON?

https://schmidt-feldberg.de/fhem-server-hausautomation-auf-dem-raspberry-pi-teil-3-module-aktivieren-konfigurieren/
« Letzte Änderung: 11 November 2018, 22:24:17 von c2j2 »

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Zitat
reload: Error:Modul 98_Carwings deactivated:
 Can't locate Crypt/Blowfish.pm in @INC (you may need to install the Crypt::Blowfish module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM) at ./FHEM/98_Carwings.pm line 10.
BEGIN failed--compilation aborted at ./FHEM/98_Carwings.pm line 10.
Liegt wohl an Blowfish läßt sich aber auch nicht installieren.
Zitat
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-2Vvkgi/blowfish


Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Ich glaube, das war über

sudo cpan
install Crypt::Blowfish

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Super die Installation hat geklappt.

Zitat
018.11.12 11:08:50 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Carwings.pm line 96.
2018.11.12 11:08:50 1: query  started
2018.11.12 11:08:50 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_Carwings.pm line 97.
2018.11.12 11:08:51 1: +++JOB connect returned: {"status":200,"message":"success","baseprm":"xx_verschleiert_xx"}
2018.11.12 11:08:51 1: ** CONNECT
2018.11.12 11:09:01 1: +++JOB login returned: {"status":200,"sessionId":"xx_verschleiert_xx","VehicleInfoList":{"VehicleInfo":[{"nickname":"Leaf1mrti","telematicsEnabled":"true","vin":"xx_verschleiert_xx"}],"vehicleInfo":[{"nickname":"Leaf1mrti","telematicsEnabled":"true","vin":"xx_verschleiert_xx","custom_sessionid":"xx_verschleiert_xx"}]},"vehicle":{"profile":{"vin":"xx_verschleiert_xx","gdcUserId":"","gdcPassword":"","encAuthToken":"3xx_verschleiert_xx","dcmId":"xx_verschleiert_xx","nickname":"xx_verschleiert_xx","modelyear":"17"}},"EncAuthToken":"xx_verschleiert_xx","CustomerInfo":{"UserId":"xx_verschleiert_xx","Language":"de-DE","Timezone":"Europe\/Berlin","RegionCode":"NE","OwnerId":"xx_verschleiert_xx","EMailAddress":"xx_verschleiert_xx","Nickname":"xx_verschleiert_xx","Country":"DE","VehicleImage":"\/content\/language\/default\/images\/img\/ph_car.jpg","UserVehicleBoundDurationSec":"xx_verschleiert_xx","VehicleInfo":{"VIN":"xx_verschleiert_xx","DCMID":"xx_verschleiert_xx","SIMID":"xx_verschleiert_xx","NAVIID":"xx_verschleiert_xx","EncryptedNAVIID":"xx_verschleiert_xx","MSN":"xx_verschleiert_xx","LastVehicleLoginTime":"","UserVehicleBoundTime":"2018-02-10T07:15:02Z","LastDCMUseTime":"","NonaviFlg":"false","CarName":"LEAF","CarImage":"carimg6.png"}},"UserInfoRevisionNo":"1"}
2018.11.12 11:09:01 1: ** LOGIN
2018.11.12 11:09:01 1: Carwings_ExecuteNextJob
2018.11.12 11:09:01 1: ***** jobs $VAR1 = undef;

2018.11.12 11:09:01 1: PERL WARNING: Use of uninitialized value $jobs in numeric gt (>) at ./FHEM/98_Carwings.pm line 184.
2018.11.12 11:09:29 1: Hallöchen, $VAR1 = 'Leaf';
$VAR2 = 'Carwings';
$VAR3 = 'xx_verschleiert_xx';
$VAR4 = 'xx_verschleiert_xx';
$VAR5 = 'NE';

2018.11.12 11:09:35 1: query  started
2018.11.12 11:09:37 1: +++JOB connect returned: {"status":200,"message":"success","baseprm":"uyI5Dj9g8VCOFDnBRUbr3g"}
2018.11.12 11:09:37 1: ** CONNECT

Aber irgendwie gibts keinen Status zurück.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
muß ich heute abend anschauen...  :(

Danke (und entschuldige den Aufwand...)

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Nein, kein Thema. Ich danke Dir für das Modul!

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
ah...

Du mußt angeben, was er abfragen soll. Im Moment zwar nur "battery", aber wer weiß...

Also "set Leaf query battery"

Besser?

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Noch 2 Tips:

a) neues Modul meckert den fehlenden "query"-Parameter an

b) Serviervorschlag für stateFormat in dem Device:
{
sprintf("SOC = %3d%% (≈%dkm)\n%s (%s)",
 ReadingsNum($name, "BatterySOC", -1),
 ReadingsNum($name, "BatterySOC", -1) * 36.5 / 15,
 length(ReadingsVal($name, "error", "")) > 0
  ? sprintf("[ERROR: %s]", ReadingsVal($name, "error", ""))
  : sprintf("[%s, %s]", ReadingsVal($name, "PlugState", ""), ReadingsVal($name, "ChargeMode", "")),
 ReadingsTimestamp($name,"BatterySOC",0)
 )
}
« Letzte Änderung: 12 November 2018, 19:52:20 von c2j2 »

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Also das Quer habe ich abgesetzt aber irgendwie bekomme ich kein SOC zurück.

Zitat
2018.11.12 18:33:09 1: +++JOB wait_battery returned: {"status":200,"responseFlag":"0"}
*************************************************************************
2018.11.12 18:33:09 2: +++JOB wait_battery returned: $VAR1 = {
          'responseFlag' => '0',
          'status' => 200
        };

Readings:
Zitat
error
timeout executing wait_battery
2018-11-12 18:33:09
fullResponse
read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-12 17:35:32

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Geduld ;)

Der Server ist a) lahm und b) hat öfter mal timeout.

Zitat
2018-11-12_15:54:16 myLeaf BatteryDegradation: 121
2018-11-12_15:59:16 myLeaf BatterySOC: 50
2018-11-12_15:59:16 myLeaf ChargeMode: NOT_CHARGING
2018-11-12_16:29:16 myLeaf BatterySOC: 50
2018-11-12_16:29:16 myLeaf Charging: NO
2018-11-12_17:00:52 myLeaf error: ERR: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-12_17:13:04 myLeaf error: timeout executing wait_battery
2018-11-12_17:29:16 myLeaf error:
2018-11-12_17:29:16 myLeaf BatterySOC: 50
2018-11-12_18:00:50 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-12_18:06:11 myLeaf error: timeout executing wait_battery
2018-11-12_18:30:41 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-12_18:59:25 myLeaf error:
2018-11-12_18:59:25 myLeaf BatterySOC: 50
2018-11-12_19:05:00 myLeaf error: timeout executing wait_battery

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

danke c2j2 fürs vorbei schauen und das Modul hochladen  :)

Kleine Bitte am Rande - könntest du die jeweils letzte aktuelle Fassung deines Moduls im ersten Beitrag hinterlegen.
Ich vermute mal das dieser Thread noch mehrere Seiten bekommt und dann brauchen Suchende nur das Modul aus dem ersten Beitrag nehmen.
Und evtl. noch notwendige Abhängigkeiten zu Perl-Modulen dort hinterlegen  ;)
Danke.

Ich komm wohl erst frühestens am Wochenende dazu das Modul zu testen aber ich melde mich auf alle Fälle wieder.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Macht Sinn. Muss schauen, wie das geht.

So, erledigt. Und alle "neueren" Anhänge sind auch weg.

Danke für den Tip.
« Letzte Änderung: 12 November 2018, 19:56:26 von c2j2 »

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

danke fürs Zusammenfassen und in den ersten Beitrag stellen.

Zum Installieren bin ich noch nicht gekommen aber ich hab mal kurz in dein Modul geschaut und gesehen das wohl
use Data::Dumper;
use Crypt::Blowfish;
use MIME::Base64 ();
use JSON;
use Try::Tiny;

benötigt werden.

Eine kurze Recherche im Netz ergab folgendes für apt-get:
use Data::Dumper;         sudo apt-get install libdata-dumper-simple-perl
use Crypt::Blowfish;        sudo apt-get install libcrypt-blowfish-perl
use MIME::Base64 ();     sudo apt-get install libmime-base64-perl
use JSON;                       sudo apt-get install libjson-perl
use Try::Tiny;                 sudo apt-get install libtry-tiny-perl


Leider habe ich noch nicht geschafft das zu verifizieren und wäre dankbar wenn das jemand übernehmen könnte - sonst mach ich das am Wochenende.

Grüße

Edith: Crypt::Blowfish angepasst
« Letzte Änderung: 18 November 2018, 20:23:40 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
@Groepi: geht's jetzt mit etwas Geduld?

Man sieht ja, das es manchmal nicht, aber doch meist geht:

Zitat
2018-11-12_22:50:59 myLeaf ChargeMode: 220V
2018-11-12_22:50:59 myLeaf Charging: YES
2018-11-12_22:56:44 myLeaf BatterySOC: 36
2018-11-12_22:56:44 myLeaf BatteryDegradation: 88
2018-11-12_23:05:40 myLeaf error: timeout executing wait_battery
2018-11-12_23:08:39 myLeaf error: timeout executing wait_battery
2018-11-12_23:11:47 myLeaf error:
2018-11-12_23:11:47 myLeaf BatterySOC: 39
2018-11-12_23:11:47 myLeaf BatteryDegradation: 94
2018-11-12_23:19:18 myLeaf error: timeout executing wait_battery
2018-11-12_23:23:43 myLeaf error: timeout executing wait_battery
2018-11-12_23:26:51 myLeaf error:
2018-11-12_23:26:51 myLeaf BatterySOC: 42
2018-11-12_23:26:51 myLeaf BatteryDegradation: 101
2018-11-12_23:27:49 myLeaf BatterySOC: 42
2018-11-12_23:27:49 myLeaf ChargeMode: NOT_CHARGING
2018-11-12_23:28:47 myLeaf BatterySOC: 42
2018-11-12_23:58:56 myLeaf BatterySOC: 42
2018-11-12_23:58:56 myLeaf Charging: NO
2018-11-13_00:28:52 myLeaf BatterySOC: 42
2018-11-13_00:58:55 myLeaf BatterySOC: 42
2018-11-13_01:28:59 myLeaf BatterySOC: 42
2018-11-13_01:59:03 myLeaf BatterySOC: 42
2018-11-13_02:29:06 myLeaf BatterySOC: 42
2018-11-13_03:01:32 myLeaf error: timeout executing wait_battery
2018-11-13_03:29:09 myLeaf error:
2018-11-13_03:29:09 myLeaf BatterySOC: 42
2018-11-13_04:01:07 myLeaf error: timeout executing wait_battery
2018-11-13_04:29:14 myLeaf error:
2018-11-13_04:29:14 myLeaf BatterySOC: 42
2018-11-13_05:00:12 myLeaf BatterySOC: 42
2018-11-13_05:30:13 myLeaf BatterySOC: 42
2018-11-13_06:00:14 myLeaf BatterySOC: 42
2018-11-13_06:31:07 myLeaf BatterySOC: 42
2018-11-13_07:00:12 myLeaf BatterySOC: 42
2018-11-13_07:32:15 myLeaf BatterySOC: 42
2018-11-13_08:02:14 myLeaf BatterySOC: 42
2018-11-13_08:32:08 myLeaf BatterySOC: 42
2018-11-13_09:02:11 myLeaf BatterySOC: 42
2018-11-13_09:32:15 myLeaf BatterySOC: 42
2018-11-13_10:02:18 myLeaf BatterySOC: 42
2018-11-13_10:32:17 myLeaf BatterySOC: 42
2018-11-13_11:02:17 myLeaf BatterySOC: 42
2018-11-13_11:32:17 myLeaf BatterySOC: 42
2018-11-13_12:02:17 myLeaf BatterySOC: 42
2018-11-13_12:32:18 myLeaf BatterySOC: 42
2018-11-13_13:02:19 myLeaf BatterySOC: 42
2018-11-13_13:33:19 myLeaf BatterySOC: 42
2018-11-13_14:03:20 myLeaf BatterySOC: 42
2018-11-13_14:34:17 myLeaf BatterySOC: 42
2018-11-13_15:04:19 myLeaf BatterySOC: 42
2018-11-13_15:35:34 myLeaf BatterySOC: 42
2018-11-13_16:05:21 myLeaf BatterySOC: 42
2018-11-13_16:35:23 myLeaf BatterySOC: 42
2018-11-13_17:05:21 myLeaf BatterySOC: 42
2018-11-13_17:35:18 myLeaf BatterySOC: 42
2018-11-13_18:05:19 myLeaf BatterySOC: 42
2018-11-13_18:37:23 myLeaf error: timeout executing wait_battery
2018-11-13_19:05:30 myLeaf error:
2018-11-13_19:05:30 myLeaf BatterySOC: 42
2018-11-13_19:35:35 myLeaf BatterySOC: 42
2018-11-13_19:45:39 myLeaf error: 'VehicleInfoList' missing in session info
2018-11-13_19:47:17 myLeaf error: timeout executing wait_battery
2018-11-13_19:47:28 myLeaf error: timeout executing wait_battery

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

in Antwort #19 habe ich die Installation von Crpyt::Blowfish angepasst - @c2j2, kannst du gerne in deinen Beitrag#1 kopieren - evtl. mit Datumsangabe - es könnte ja später mal veraltet sein (dann steht alles übersichtlich in deinem ersten Beitrag).

Die Perl-Module habe ich mit den dort geposteten Aufrufen installiert und das Modul in meine Testumgebung kopiert.
Nach dem define aus Beitrag #1 und einem set <Name> query battery stehen die Daten meines Leaf in den Readings.

Top und danke für das Modul.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

hmm  ??? mal ne blöde Frage.
Zitat
BatteryCapacity 240
BatteryDegradation 140
BatterySOC 58
soll mir was genau sagen?

Ich hab vorhin mein Auto in die Garage gestellt - Anzeige ist 54%
Reichweite lt. Auto = 102 km ohne Klimaanlage und 91 km mit Klimaanlage.
Selbiges sagt mir auch die Nissan EV App.
Irgendwie bekomme ich das mit der Anzeige des Modules nicht unter einen Hut.

Internals:
   CFGFN     
   CW_INITIALAPPSTRINGS ............................
   CW_URL     https://gdcportalgw.its-mo.com/.................._NE/gdc/
   DEF        ..............................................
   NAME       Leaf
   NR         23
   RegionCode NE
   STATE      Ladestand:58 % <br>Restkilometer:140 km
   TYPE       Carwings
   cur_job   
   dcmid      ...............................
   jobs       
   lastjob    battery
   password   ......................
   resultKey  ..................................................................
   timeout    11
   user       ....................................................
   READINGS:
     2018-11-18 20:05:24   BatteryCapacity 240
     2018-11-18 20:05:24   BatteryDegradation 140
     2018-11-18 20:43:20   BatterySOC      58
     2018-11-18 20:05:24   ChargeMode      NOT_CHARGING
     2018-11-18 20:05:24   ChargeStatus    CT
     2018-11-18 20:05:24   Charging        NO
     2018-11-18 20:05:24   PlugState       NOT_CONNECTED
     2018-11-18 20:04:33   car             ....................................................
Attributes:
   stateFormat Ladestand:BatterySOC % <br>Restkilometer:BatteryDegradation km

Grüße

Edith: Das ich eine Nissan EV-Notification auf mein Handy mit jeder Abfrage in FHEM bekomme ist normal?
« Letzte Änderung: 18 November 2018, 21:07:17 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Es gibt keine blöden Frage, habe ich mal gelernt ;)

Sagen wir mal, wenn Du

Zitat
BatteryCapacity 240
BatteryDegradation 140
BatterySOC 58

bekommst, bedeutet das, dass die ConnectEV API noch nichts von den 54% weiss, sondern auf 140/240=58 als Auslesewert besteht. Woran das liegt, kann ich nicht sagen.

Und da ich die App nicht verwende, bekomme ich auch keine Meldung diesbezüglich. Das ist natürlich nervig. Kannst Du mal schauen, ob das auch bei Abfragen von anderen Apps so ist (z.B. "My Leaf", was mir persönlich am besten gefällt)?

Die Nissan-App taugt nicht, wenn man (a) das Handy zum Debugging frei geschaltet hat, und (b) ein Bildschirmoverlay verwendet (was ich standardmäßig habe). Oder auch so, siehe unten.

Ich würde sie ja mal auf einem anderen Phone zum Test installieren. Aber welchem?

S4 mit Lineage OS -> "invalid operation detected" beim Start der App, Absturz
Nexus 7 -> "ist nicht mit dieser Version kompatibel"
Kindle Fire -> Amazon Store kennt die App nicht

Kein Wunder, dass die App nur 1.7 Sterne hat!

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Ah, ich nehme an, dass Du Dich bei Nissan registriert hast für Benachrichtigungen?

Zitat
Legen Sie fest, welche Benachrichtigungen Sie in welcher Form erhalten möchten.

(Bitte beachten Sie: Sie können nur dann Textnachrichten erhalten, wenn Sie uns Ihre Mobilfunk-Nr. mitteilen. Bitte stellen Sie dies auf Ihrer YOU+NISSAN-Profilseite ein, falls Sie es noch nicht getan haben.)

DER LADEVORGANG BEGINNT
BATTERY STATUS
DER LADEVORGANG ENDET
DIE KLIMAANLAGE PER FERNBEDIENUNG GEÄNDERT WURDE
DAS LADEGERÄT NICHT EINGESTECKT IST
(Deutsch-Englisch 100% übernommen)

Dann passiert das bei einer Abfrage, hier auch. Wenn Nissan das nicht trennen kann (auch wenn das in meinen Augen überhaupt keinen Sinn macht...), muß man eins von beidem abschalten - FHEM Carwings oder die Notification.

Fun fact: ich habe eben die SMS-Info aktiviert, und bekam:

Zitat
NISSAN VEHICLE INFORMATION

</br>The battery status fo your Nissan .

For more information, visit 25.
(Schreibfehler 100% übernommen, auch das "End"-Tag von HTML, und ich habe gerade 25%... (sagen Nissan und FHEM, bei mir stimmt also auch das).

Beschämend (für Nissan).

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
PS: BatteryDegradation ist nicht die Restkilometerzahl, sondern muß durch BatteryCapacity geteilt werden, um den SOC-Wert zu erhalten.

Die Restkilometerzahl(en) gibt mein Modul auch zurück in der aktuellen Version.

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

puh, ganz schön viele Infos auf einmal - danke dafür.

Ja, für die Notification habe ich mich registriert.
Ist in der Firma recht bequem wenn ich die Info bekomme das der Akku voll ist.
Aber zuhause kann ich damit leben wenn die Notification bei der Abfrage kommt.

Die App selbst habe ich nur auf meinen beiden Apple-Geräten laufen (iPhone und iPad).
Sonst habe ich noch keine Notwendigkeit gesehen das auch auf einem meiner anderen Tablets zu versuchen.
Das wird auch so bleiben.

PS: BatteryDegradation ist nicht die Restkilometerzahl, sondern muß durch BatteryCapacity geteilt werden, um den SOC-Wert zu erhalten.

Die Restkilometerzahl(en) gibt mein Modul auch zurück in der aktuellen Version.
Grad die letzte aktuelle Version von dir in mein Testsystem eingespielt und die Abfrage gestartet.
Die beiden Restkilometerangaben bekomme ich jetzt auch und die stimmenauch: 102 km/ 91 km ohne/mit Klimaanlage.

Ah, klick.
Der SOC-Wert zeigt in % an wie gut (oder schlecht) die Batterie noch ist im Vergleich zur Kapazität die sie mal hatte.
Das erschreckt mich jetzt schon ein bischen  :o
~ 46 tkm in 2 Jahren und der Wert liegt bei 58% - so werde ich meine angepeilten 8 Jahre nicht schaffen  ???

Na dann mach ich mich mal dran das Auto nach Bedarf automatisch per FHEM zu laden.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Nein, keine Panik. SOC = "state of charge" = Ladezustand in Prozent.

Nicht die Qualität. "Degradation" klingt so, gell? Möglicherweise ist "BatteryCapacity" 240, wenn alle Zellen heil sind, und wird später geringer, das weiß ich nicht. Es gibt natürlich keine Doku, nur Beispielcode von Leuten, die das mehr oder weniger gehackt haben.

Wenn der SOC nicht stimmt, dann liegt das an der Nissan-API. Ich packe heute oder morgen noch Datum/Zeit des Messwerts (laut Nissan) als Reading dazu, dann kann man sehen, von wann der ist.

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

na dann bin ich erstmal beruhigt.
Danke.

Grüße

Edith:
Die Installation grad auf mein Hauptsystem übertragen und klappt (wie soll es auch sonst sein   8) ).
Die Installation der Pakete in Beitrag#1 (und Beitrag #19) wurden somit getestet auf folgenden Installationen:

Testsystem: Cubietruck mit 3.4.113-sun7i armv71 Kernel und einem Debian 8.11 jessie
FHEM-Version: 17782 mit fhem.pl 17779 2018-11-18 17:49:14Z rudolfkoenig

Hauptsystem: ZBOX-BI323 mit 4.13.0-41-generic x86_64 Kernel und einem Ubuntu 16.04.5 LTS xenial
FHEM-Version: 16189 mit fhem.pl 16170 2018-02-13 21:19:52Z rudolfkoenig

Inwieweit die beiden Installationen vom System (Kernel und Betriebssystem) her vergleichbar sind kann ich nicht sagen weil ... keine Ahnung (aber davon jede Menge  ;D ).
Und ja, ich weiß. Mein Haupt-FHEM ist etwas älter aber das stört (mich) nicht.

Edith1:
Was vllt. noch ein nettes Gimmick wäre wenn man das Abfrageintervall optional mit angeben könnte.
Und wo liegt eigentlich die Grenze bei den anfragenden Geräten?
« Letzte Änderung: 19 November 2018, 19:15:56 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Das Abfrageintervall wählst Du in den DOIFs meines Beitrags - jeder "SET <name> QUERY BATTERY" ruft es ein einziges Mal ab (notfalls mit ein paar Wiederholungen bis zu ca. 5 Minuten).

Die Grenze: keine Ahnung. Da habe ich noch nichts dazu gesehen, daher mache ich es alle 30 Minuten , wenn ich nicht lade, und alle 5, wenn ich lade.

Meist geht's, aber heute ist der Server seit 6 Uhr so was von bockig:

Zitat
2018-11-20_05:48:11 myLeaf BatterySOC: 67
2018-11-20_05:48:11 myLeaf BatteryDegradation: 161
2018-11-20_05:48:11 myLeaf CruisingRangeACOn: 180
2018-11-20_05:48:11 myLeaf CruisingRangeACOff: 188
2018-11-20_05:52:31 myLeaf error:
2018-11-20_05:53:13 myLeaf BatterySOC: 67
2018-11-20_05:53:13 myLeaf BatteryDegradation: 163
2018-11-20_05:53:13 myLeaf CruisingRangeACOn: 182
2018-11-20_05:53:13 myLeaf CruisingRangeACOff: 190
2018-11-20_05:57:30 myLeaf error:
2018-11-20_05:58:11 myLeaf BatterySOC: 68
2018-11-20_05:58:11 myLeaf BatteryDegradation: 164
2018-11-20_05:58:11 myLeaf CruisingRangeACOn: 184
2018-11-20_05:58:11 myLeaf CruisingRangeACOff: 192
2018-11-20_06:02:29 myLeaf error:
2018-11-20_06:03:00 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_06:07:30 myLeaf error:
2018-11-20_06:08:39 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_06:12:49 myLeaf error:
2018-11-20_06:13:20 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_06:22:33 myLeaf error:
2018-11-20_06:23:04 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_07:23:49 myLeaf error:
2018-11-20_07:24:37 myLeaf error: status -6000 executing wait_battery
2018-11-20_07:25:28 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_07:48:33 myLeaf error:
2018-11-20_07:49:04 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_08:44:54 myLeaf error:
2018-11-20_08:45:25 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_08:45:44 myLeaf error:
2018-11-20_08:46:15 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:03:22 myLeaf error:
2018-11-20_09:03:53 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:04:31 myLeaf error:
2018-11-20_09:05:01 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:05:54 myLeaf error:
2018-11-20_09:06:25 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:10:09 myLeaf error:
2018-11-20_09:10:39 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:20:47 myLeaf error:
2018-11-20_09:21:18 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:36:11 myLeaf error:
2018-11-20_09:36:42 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:49:58 myLeaf error:
2018-11-20_09:50:29 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_09:54:21 myLeaf error:
2018-11-20_09:56:56 myLeaf error: status 401 executing wait_battery
2018-11-20_09:58:38 myLeaf error:
2018-11-20_09:59:56 myLeaf BatterySOC: 93
2018-11-20_09:59:56 myLeaf ChargeMode: NOT_CHARGING
2018-11-20_09:59:56 myLeaf Charging: NO
2018-11-20_09:59:56 myLeaf BatteryDegradation: 225
2018-11-20_09:59:56 myLeaf CruisingRangeACOn: 252
2018-11-20_09:59:56 myLeaf CruisingRangeACOff: 263
2018-11-20_09:59:56 myLeaf error:
2018-11-20_10:00:07 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:04:07 myLeaf error:
2018-11-20_10:04:31 myLeaf error:
2018-11-20_10:04:38 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:08:43 myLeaf error:
2018-11-20_10:09:14 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:10:51 myLeaf error: 'baseprm' missing while connecting
2018-11-20_10:11:01 myLeaf error:
2018-11-20_10:11:32 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:20:21 myLeaf error:
2018-11-20_10:20:52 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:21:31 myLeaf error:
2018-11-20_10:22:22 myLeaf BatterySOC: 93
2018-11-20_10:26:40 myLeaf error:
2018-11-20_10:27:13 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:36:55 myLeaf error:
2018-11-20_10:37:26 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:38:40 myLeaf error:
2018-11-20_10:41:02 myLeaf error:
2018-11-20_10:41:34 myLeaf error:
2018-11-20_10:42:38 myLeaf error: timeout executing wait_battery
2018-11-20_10:46:17 myLeaf error:
2018-11-20_10:46:47 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:47:27 myLeaf error:
2018-11-20_10:47:58 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:48:51 myLeaf error:
2018-11-20_10:49:42 myLeaf BatterySOC: 93
2018-11-20_10:50:59 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_10:54:05 myLeaf error:
2018-11-20_11:00:41 myLeaf error:
2018-11-20_11:01:00 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:01:54 myLeaf error:
2018-11-20_11:02:26 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:07:13 myLeaf error:
2018-11-20_11:07:45 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:09:39 myLeaf error:
2018-11-20_11:10:10 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:12:10 myLeaf error:
2018-11-20_11:12:41 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:16:31 myLeaf error:
2018-11-20_11:21:23 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:27:33 myLeaf error:
2018-11-20_11:28:17 myLeaf BatterySOC: 93
2018-11-20_11:30:34 myLeaf error:
2018-11-20_11:31:05 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:37:38 myLeaf error:
2018-11-20_11:38:41 myLeaf BatterySOC: 93
2018-11-20_11:41:21 myLeaf error:
2018-11-20_11:41:52 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_11:52:16 myLeaf error:
2018-11-20_11:52:47 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:05:25 myLeaf error:
2018-11-20_12:05:55 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:08:11 myLeaf error:
2018-11-20_12:08:44 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:10:23 myLeaf error:
2018-11-20_12:11:23 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:13:49 myLeaf error: status 401 executing wait_battery
2018-11-20_12:21:33 myLeaf error:
2018-11-20_12:22:04 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:42:04 myLeaf error:
2018-11-20_12:42:35 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_12:47:32 myLeaf error:
2018-11-20_12:48:03 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:02:16 myLeaf error: 'baseprm' missing while connecting
2018-11-20_13:02:23 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:03:29 myLeaf error:
2018-11-20_13:05:00 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:06:31 myLeaf error:
2018-11-20_13:06:52 myLeaf error: 'VehicleInfoList' missing in session info
2018-11-20_13:07:13 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:11:20 myLeaf error:
2018-11-20_13:11:51 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:22:30 myLeaf error:
2018-11-20_13:23:01 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:36:57 myLeaf error:
2018-11-20_13:37:53 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:41:09 myLeaf error:
2018-11-20_13:41:40 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_13:52:48 myLeaf error:
2018-11-20_13:53:19 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_14:02:57 myLeaf error:
2018-11-20_14:03:28 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_14:07:48 myLeaf error:
2018-11-20_14:09:28 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_14:14:35 myLeaf error:
2018-11-20_14:15:06 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_14:38:10 myLeaf error:
2018-11-20_14:38:41 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out
2018-11-20_14:49:31 myLeaf error: 'baseprm' missing while connecting
2018-11-20_14:50:24 myLeaf error: read from https://gdcportalgw.its-mo.com:443 timed out

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Hallo zusammen,

es gibt heute generell Probleme mit dem Nissan Server. Selbst die Orginal App geht nicht mehr.
Was bei mir nervend ist, das ich mich immer nur mit einer App verbinden kann. Ich nutze eigentlich auf dem iPhone Leafter flieg aber wenn ich auf die Orginal App wechsle raus. Umgekehrt genau so.

Und das selber Fehlerbild (oder ist es ein Feature) sehe ich auch bei der FHEM Anbindung.
Toll wäre wenn man die Ladung Ein und Ausschalten könnte per FHEM und vor allem die Klima Anlage anschalten könnte. Ist das machbar?

Grüße

Gröpi

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

Zitat
Das Abfrageintervall wählst Du in den DOIFs meines Beitrags - jeder "SET <name> QUERY BATTERY" ruft es ein einziges Mal ab (notfalls mit ein paar Wiederholungen bis zu ca. 5 Minuten).
Das ist mir bekannt.

Mit einem "Workaround" bekomme ich das auch hin  :D

Ich dachte eher so in die Richtung wie Presence - ein eigenes Intervall für present und ein eigenes für absent.
Hier dann für Laden oder eben nicht Laden resp. connected und not connected oder vllt. per Attribut einstellbar auf welchen Zustand welches Intervall greifen soll.

Hintergrund: Da ich in der Garage nur 230 V/50 Hz zur Verfügung habe kann ich mir keine Wallbox installieren.
Grad gesehen: 3,7 kW einphasig. Da reicht mir aber auch das Original Steckdosenladekabel von Nissan.
Das funktioniert auch einwandfrei dauert aber halt etwas länger.
Ja ok. Extra für mich braucht es das Gimmick mit dem Abfrageintervall dann nicht.
Per at und notify bekomme ich das auch passend umgestellt - ja, ich benutze kein DOIF und das bleibt auch so  :-X

Zitat
Die Grenze: keine Ahnung. Da habe ich noch nichts dazu gesehen, daher mache ich es alle 30 Minuten , wenn ich nicht lade, und alle 5, wenn ich lade.
Sorry da hab ich mich missverständlich ausgedrückt.
Ich meinte eigentlich die Anzahl an Geräten die per App (oder API) die Abfragen durchführen.

Was bei mir nervend ist, das ich mich immer nur mit einer App verbinden kann. Ich nutze eigentlich auf dem iPhone Leafter flieg aber wenn ich auf die Orginal App wechsle raus. Umgekehrt genau so.

Und das selber Fehlerbild (oder ist es ein Feature) sehe ich auch bei der FHEM Anbindung.
Hm, wenn ich per FHEM die Abfrage mache und sie klappt dann habe ich auch in der App die Daten zur Verfügung ohne das ich in der App eine eigene Abfrage starte.
Ich hatte mich nämlich gestern erst gewundert warum in der App die aktuellen Daten stehen obwohl ich keine Abfrage gestartet hatte (per App).
Aber die Uhrzeit stimmte mit der FHEM-Abfrage überein.
Muss ich grad nochmal schauen (wenn der Server wieder mal mitspielt  >:( ).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Zitat
Grad gesehen: 3,7 kW einphasig. Da reicht mir aber auch das Original Steckdosenladekabel von Nissan.
Das kann aber nur 10 A = 2.3 kW.

3.7 kW kannst Du bspw mit dem go-eCharger. Auch einphasig.

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

Das kann aber nur 10 A = 2.3 kW.
Das ist richtig - das reicht mir aber mehr als locker.

Zumal das Auto die meiste Zeit eh nur rumsteht und nichts macht  ;D

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo c2j2,

also bei mir funktioniert es mit der Abfrage if (defined($res->{VehicleInfoList})) nicht,
ist bei mir im $res nicht vorhanden

2018.12.11 15:29:00 1: +++JOB login returned: $VAR1 = {
          'CustomerInfo' => {
                              'RegionCode' => 'NE',
                              'Timezone' => 'Europe/Paris',
                              'VehicleInfo' => {
                                                 'NAVIID' => '1002000xxx',
                                                 'NonaviFlg' => 'false',
                                                 'CarImage' => 'carimg6.png',
                                                 'DCMID' => '20130000xxx',
                                                 'SIMID' => '894608000010xxxx',
                                                 'MSN' => '46719000xxx',
                                                 'CarName' => 'LEAF',
                                                 'VIN' => 'JN1FAAZE0U00xxx',
                                                 'EncryptedNAVIID' => '798DA0C7983FF4B5FF793CDAxxxA',
                                                 'LastDCMUseTime' => '2018/12/11 13:13',
                                                 'UserVehicleBoundTime' => '2017-04-18T14:02:49Z',
                                                 'LastVehicleLoginTime' => ''
                                               },
                              'Language' => 'de_DE',
                              'UserId' => 'diexxx',
                              'OwnerId' => '3097xxx',
                              'VehicleImage' => '/content/language/default/images/img/ph_car.jpg',
                              'UserVehicleBoundDurationSec' => '946771200',
                              'Country' => 'DE',
                              'Nickname' => 'haxxxx,
                              'EMailAddress' => 'diexxxxx'
                            },
          'EncAuthToken' => 'DEEF6C8FF3D04295AB6171BE76681F125F7EAA0F5081607FD94C740AD77D538EACxxxx',
          'UserInfoRevisionNo' => '1',
          'status' => 200,
          'vehicle' => {
                         'profile' => {
                                        'gdcPassword' => '',
                                        'gdcUserId' => '',
                                        'encAuthToken' => '1B7E9BC5A721B6CABCAC797F384E1766A35817C3A8326F694ECA5xxxx',
                                        'nickname' => 'halterle',
                                        'statusDate' => '2017/03/10 23:00',
                                        'status' => 'true',
                                        'dcmId' => '2013000xxx',
                                        'vin' => 'JN1FAAZE0U0xxx'
                                      }
                       },
          'vehicleInfo' => [
                             {
                               'custom_sessionid' => 'AhMRLLv64PwA1Mt3UaY3Hg02cSzJ8LtGGX2EI5onWduRasDS0uqvZzruKSD910gxZwzd0VjiFpqwrKq/VGwd+GN4jRohMxxxxx',
                               'nickname' => 'haxxxx',
                               'telematicsEnabled' => 'true',
                               'vin' => 'JN1FAAZE0U0xxxx',
                               'charger20066' => 'false'
                             }
                           ]
        };

------------------------------1

Gruß Hermann
« Letzte Änderung: 11 Dezember 2018, 16:31:10 von Herjemine »

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo c2j2,

ich hab das 98_Carwings.pm beim mir jetzt so geändert, dass er die Daten richtig abfragt.
Was mir aufgefallen ist, die Berechnung für den BatterySoc
readingsBulkUpdate($hash, "BatterySOC",  $res->{batteryCapacity} > 0 ? int(100 * $res->{batteryDegradation} / $res->{batteryCapacity}) : 0);

stimmt nicht, wenn durch Degradion schon Balken fehlen,
das gibt dann bei 12 von 11 Balken, die man bei Voller Ladung hat 109%  8)

Gruß Hermann Hermann

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo c2j2,

hast Du auch einmal darüber nachgedacht, auch über die API die Klima anzuschalten?
wäre nice dies auch über Fhem statt der lahmen App zu machen  8)

Gruß Hermann

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Hallo,

ja die Steuerung der Klima wäre echt toll. Ist es denn ein Problem das zu entwickeln?

Danke Gröpi

Offline Moeti

  • New Member
  • *
  • Beiträge: 31
Hallo c2j2!

Danke für das Modul. Ich hatte voriges Wochenende endlich Zeit, es zu installieren, und es hat alles auf Anhieb geklappt.

Mittlerweile hab ich gesehen, dass im ersten Post zwei Versionen zum Download zu finden sind. Welche ist die aktuelle? Könntest du vielleicht eine Versionsnummer und/oder ein Datum dazuschreiben?

Das Modul ist sehr "geschwätzig". Auch bei verbose 0 füllt es mir das logfile voll, insbesondere mit Sternen *. Vielleicht könnte man erst bei verbose 1 diese Meldungen ins log schreiben.

2018.12.14 19:15:00 2: DI_CarwingsUpdate: set Nissan query battery: query battery started
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************

Danke für deine Bemühungen!
lG
Michael

RaspberryPi 2 B, FHEM, CUL, HMLAN, homebridge
diverse Homematic, diverse Sonoff mit Tasmota per mosquitto
WH1080 per pywws, RaspiCam, Kostal PIKO 5.5,
Hörmann Supramatic mit UAP1, HM-SCI-3-FM, HM-LC-SW4-BA-PCB
SmartPi, Automower

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
ich hab das 98_Carwings.pm beim mir jetzt so geändert, dass er die Daten richtig abfragt.
Was mir aufgefallen ist, die Berechnung für den BatterySoc
readingsBulkUpdate($hash, "BatterySOC",  $res->{batteryCapacity} > 0 ? int(100 * $res->{batteryDegradation} / $res->{batteryCapacity}) : 0);

stimmt nicht, wenn durch Degradion schon Balken fehlen,
das gibt dann bei 12 von 11 Balken, die man bei Voller Ladung hat 109%  8)

Gruß Hermann Hermann

Moin "Hermann Hermann" ;)

Kannst Du mir die Änderungen zuschicken, dann kann ich das einpflegen. Habe derzeit leider weniger Zeit, als ich gedacht hatte.

(das mit dem Array "vehicleList" habe ich gerade erledigt, fehlt die Balkenzahl-Einrechnung). Den Code hatte ich kopiert (https://github.com/fbarriere/script.leaf.control/blob/master/addon.py):

    capacity         = float(battery_status.answer[u"batteryCapacity"])
    degradation      = float(battery_status.answer[u"batteryDegradation"])
    charge           = int((degradation / capacity) * 100)
« Letzte Änderung: 17 Dezember 2018, 23:47:49 von c2j2 »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Das Modul ist sehr "geschwätzig". Auch bei verbose 0 füllt es mir das logfile voll, insbesondere mit Sternen *. Vielleicht könnte man erst bei verbose 1 diese Meldungen ins log schreiben.

2018.12.14 19:15:00 2: DI_CarwingsUpdate: set Nissan query battery: query battery started
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************
*************************************************************************

Danke für deine Bemühungen!
lG
Michael

Strange. Das kommt hier nicht, und ich wüßte auch nicht, wodurch. Eine Ausgabe von "*" durch meinen Code ist nicht eingebaut.

Ansonsten ändere einfach die

Carwings_Log($hash, 1, ...

durch

Carwings_Log($hash, 3, ...

Ich werde den Level demnächst erhöhen, wenn alles so läuft, wie ich mir das vorstelle. Oder per Attribut einstellbar ;)

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
ok, schnell gemacht: Attribut "loglevel", Default ist 3.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Ich habe mir nun doch etwas Zeit genommen, und jetzt gibt es Neues:

a) die letzt-bekannten Batteriedaten (kein Life-Update beim Server, sondern dessen letzter Wert. Nicht unbedingt up to date, aber als Fallback ganz gut):

"set <name> query battery_cached"

Zitat
     2018-12-18 12:08:32   _CachedRecord_BatteryChargeMode NORMAL_CHARGING
     2018-12-18 12:08:32   _CachedRecord_BatteryPlugState CONNECTED
     2018-12-18 12:08:32   _CachedRecord_BatteryQuality 100
     2018-12-18 12:08:32   _CachedRecord_BatteryRemainingkWh 23
     2018-12-18 12:08:32   _CachedRecord_BatteryResult SUCCESS
     2018-12-18 12:08:32   _CachedRecord_BatterySOC 59
     2018-12-18 12:08:32   _CachedRecord_BatteryTime 2018/12/18 12:05

b) Klimaanlagen-Zustand:

"set <name> query climate_cached"

Zitat
     2018-12-18 12:18:22   _CachedRecord_ClimateChangeOperation STOP
     2018-12-18 12:20:00   _CachedRecord_ClimateChangeTime 2018/12/18 10:38
     2018-12-18 12:20:00   _CachedRecord_ClimateIncTemp 17.5°C
     2018-12-18 12:20:00   _CachedRecord_ClimateResult SUCCESS
     2018-12-18 12:19:44   _CachedRecord_ClimateScheduledTime 2018/12/19 07:00
     2018-12-18 12:18:22   _CachedRecord_ClimateTemp 22°C
     2018-12-18 12:20:00   _CachedRecord_ClimateTime 2018/12/18 11:37

Da kann man sich aber nicht drauf verlassen - die Climate-Werte sind öfters falsch.

Wenn man also im Moment "alles" wissen möchte:

"set <name> query battery_cached climate_cached climate_schedule battery"

c) Klimaanlage einschalten:

"set <name> AC on"

d) Klimaanlage ausschalten:

"set <name> AC off"

Das neue Modul ist hochgeladen.
« Letzte Änderung: 18 Dezember 2018, 13:11:21 von c2j2 »

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo c2j2,

das schaut super aus  :)
bekommst Du die Capacity und Degration wirklich in Gids?
     2018-12-18 12:06:04   BatteryCapacity 240
     2018-12-18 12:06:04   BatteryDegradation 142

bei mir kommt da von Carwings die Anzahl Balken, also 11 oder 12
hab dann für die SOC Berechnung einfach den festen Wert 12 verwendet.

Gruß Hermann


Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

@c2j2:
Ein set <name> query climate_cached liefert mir
Zitat
[ERROR Not a HASH reference at /media/hdd/fhem/FHEM/98_Carwings.pm line 669. (2018-12-19 18:22:18)]
zurück.
Wie man sieht liegt mein FHEM nicht unter /opt/fhem aber das sollte hoffentlich nicht das Problem sein.

@Herjemine
Zitat
Über meinen Leaf bekomme ich live GPS Daten als Readings ins fhem
Blöde Frage aber wie machst du das?

Grüße
Edith: Ein set <name> query battery_cached funktioniert:
Zitat
_CachedRecord_BatteryChargeMode NOT_CHARGING 2018-12-19 18:03:16
_CachedRecord_BatteryPlugState NOT_CONNECTED 2018-12-19 18:03:16
_CachedRecord_BatteryQuality 100 2018-12-19 18:03:16
_CachedRecord_BatteryRemainingkWh 10 2018-12-19 18:03:16
_CachedRecord_BatteryResult SUCCESS 2018-12-19 18:03:16
_CachedRecord_BatterySOC 42 2018-12-19 18:03:16
_CachedRecord_BatteryTime 2018/12/19 18:02 2018-12-19 18:03:16
« Letzte Änderung: 19 Dezember 2018, 18:37:16 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo Puschel,

Zitat
@Herjemine
Zitat

    Über meinen Leaf bekomme ich live GPS Daten als Readings ins fhem

Blöde Frage aber wie machst du das?

über die Smartphone-App Leaf Spy
siehe https://wiki.fhem.de/wiki/Ladezustand_des_Nissan_Leaf_nutzbar_machen

Gruß Hemann

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo Hemann,

danke für die Antwort - Wiki (Schande über mich - auf die Idee dort zu schauen bin ich nicht gekommen).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
@Puschel: korrigiert -> wird in 5 Minuten hochgeladen sein. Kam, wenn keine Climate-Cache-Daten vorhanden waren (keine Ahnung, wieso der Server grad keine hat... ich habe es auch seit heute)

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
PS: Die Positionsdaten kann man über die API auch abfragen... aber der Spy ist natürlich wesentlich genauer, weil er das dauernd hochlädt.

Braucht es jemand?

Offline karstenb

  • Newbie
  • Beiträge: 1
Finde ich ganz gut mit den Positionsdaten, falls der Spy gerade nicht läuft oder der akku am Mobiltelefon im Auto mal wieder leer ist ;)

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Info: Seit heute morgen ca. 5 Uhr geht der ConnectEV/Carwings/You+Nissan-Server überhaupt nicht mehr, das PHP-Script existiert nicht mehr ;)

Zitat
The requested URL /api_v180117_NE/gdc/InitialApp.php was not found on this server

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Info: Seit heute morgen ca. 5 Uhr geht der ConnectEV/Carwings/You+Nissan-Server überhaupt nicht mehr, das PHP-Script existiert nicht mehr ;)

Nachdem Nissan eine neue App herausgebracht hat mit Kommentar, dass die alte ab 21.12. nicht mehr funktioniert... Daumendrück!

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
falls es mal wieder gehen würde  ;)

ja das mit den Positionsdaten wäre gut,
schön wäre auch noch so was wie timeRequiredToFull
in meinem Log seh ich das die bisher bei mir immer leer war,
aber irgentwo muss die HandyApp die Info ja her haben  8)

Vielen Dank für die Mühe!

Gruß Hermann


Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Ja, mit dem "gehen" ist das so eine Sache. Nissan hat - wie oben bemerkt - den ClimateCache nicht mehr, und auch BatteryCache kommt nichts Neues. Entweder haben die grad ein großes Problem, oder die API abgeschaltet.

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
die haben Probleme mit der neuen APP V3.2.0
ging ein entsprechendes Pop jetzt auch da auf:
....We are working hard to fix this issue as soon as we can, we will update you in the comming days....  ;D

Offline asblass

  • New Member
  • *
  • Beiträge: 7
Entweder haben die grad ein großes Problem, oder die API abgeschaltet.
Die haben die alte API abgeschaltet. Die neue liegt jetzt unter der URL https://gdcportalgw.its-mo.com/api_v181217_NE  ;)
Hab das mal in die 98_Carwings.pm eingetragen, damit läuft es teilweise wieder.

Wenn ich keinen übersehen habe, dann gibt es in der API noch die folgenden Aufrufe:

"/gdc/ACRemoteStartRequest.php"
"/gdc/BatteryStatusRecordsRequest.php"
"/gdc/CheckCabinTemp.php"
"/gdc/GetInteriorTemperatureRequestForNsp.php"
"/gdc/GetInteriorTemperatureResultForNsp.php"
"/gdc/GetUserTemperatureInfoRequest.php"
"/gdc/GetVehicleInfoRequest.php"
"/gdc/InitialApp.php"
"/gdc/RemoteACRecordsRequest.php"
"/gdc/UserLoginRequest.php"
"/gdc/UserLoginRequestSimple.php"
"/gdc/auth-encrypt.php"
"/gdc/auth-redirect.php"
"/gdc/BatteryStatusCheckResultRequest.php"


Grüße
Andreas
« Letzte Änderung: 21 Dezember 2018, 17:28:37 von asblass »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Geil. Danke. Wo hast Du denn das gelesen? Ich habe heute zugegeben nicht lange suchen können, aber vorerst mal nichts gefunden gehabt.

--> eingebaut im Modul und hochgeladen.

Ich mußte FHEM neu starten, damit die neue URL genommen wird.
« Letzte Änderung: 21 Dezember 2018, 17:43:15 von c2j2 »

Offline asblass

  • New Member
  • *
  • Beiträge: 7
Geil. Danke. Wo hast Du denn das gelesen? Ich habe heute zugegeben nicht lange suchen können, aber vorerst mal nichts gefunden gehabt.

Gerne doch, ich habe zu danken für das tolle FHEM Modul :)
Ich habe die apk mal durch das apktool geschickt 8) In der define.smali stand dann alles wissenswerte :)

Grüße
Andreas
« Letzte Änderung: 21 Dezember 2018, 17:58:02 von asblass »

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

perfekt.
Danke für die Anpassungen - läuft wieder.
Und ja, ein reload ist zuwenig. FHEM muss neu gestartet werden.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
kommt demnächst:

  • Wagen-Innentemperatur gecached
  • Wagen-Innentemperatur aktuell
  • AC-Zieltemperatur (anscheinend immer 22°C ;))

und vermutlich

  • GPS-Koordinaten

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo c2j2

schade ein timeRequiredToFull wie in der App geht nicht?   :'(

Wäre schön gewesen um Automatisch zur richtigen Zeit das Laden zu starten ...

Gruß
Hermann

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
timeRequired... mal schauen.

Änderungen heute: "APIResponseTime" logging ist nun job-spezifisch und im Falle von ERR hängt der Fehler auch hinten dran:

Zitat
2018-12-22_12:00:12 myLeaf APIResponse: ERR battery 1 Illegal division by zero at ./FHEM/98_Carwings.pm line 645.

und

Zitat
2018-12-22_11:47:38 myLeaf APIResponse: OK connect 1
2018-12-22_11:47:47 myLeaf APIResponse: OK login 9
2018-12-22_11:48:20 myLeaf error:
2018-12-22_11:48:20 myLeaf APIResponse: OK battery 33

oder
Zitat
2018-12-22_12:01:05 myLeaf APIResponse: OK connect 1
2018-12-22_12:01:14 myLeaf APIResponse: OK login 9
2018-12-22_12:05:32 myLeaf APIResponse: ERR battery 258 failed executing battery after multiple retries

Damit kann man schöne Response-Time-Grafiken machen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
ok...

2018-12-22_12:37:38 myLeaf LoadTimeRemaining_11kW_80Perc: 1.4 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_22kW_80Perc: 0.8 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_11kW_100Perc: 3.4 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_22kW_100Perc: 1.9 h

so OK?

Annahmen:
- Brutto 36.5 kWh des Traktions-Akkus
- 11 kW = 3.7 kW Ladung, 22 kW = 6.6 kW Ladung

Frage: was soll ich machen, wenn kein SOC-State gemeldet wird? Den alten Wert lassen (lädt dann halt weiter) oder auf 0? Wohl eher "weiterladen", oder?

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Korrektur: Carwings hat neues Attribut "usable_battery_capacity", Default 36.5 ;)

ZE0-Besitzer werden es mir danken...

Neue Attribute erscheinen aber erst nach einem "defmod"...
« Letzte Änderung: 22 Dezember 2018, 13:03:40 von c2j2 »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Bezüglich Ladezeit: mein ZE1 hat 66%, es fehlen also noch grob 34% oder 13 kWh

Nissan meldet aktuell:

Zitat
                                      'TimeRequiredToFull' => {
                                                                'HourRequiredToFull' => '15',
                                                                'MinutesRequiredToFull' => '30'
                                                              },
                                      'TimeRequiredToFull200' => {
                                                                   'HourRequiredToFull' => '9',
                                                                   'MinutesRequiredToFull' => '30'
                                                                 },
                                      'TimeRequiredToFull200_6kW' => {
                                                                       'HourRequiredToFull' => '4',
                                                                       'MinutesRequiredToFull' => '0'
                                                                     }

und ich berechne:

Zitat
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_11kW_80Perc: 1.4 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_22kW_80Perc: 0.8 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_11kW_100Perc: 3.4 h
2018-12-22_12:37:38 myLeaf LoadTimeRemaining_22kW_100Perc: 1.9 h

Mir scheinen die Werte von Nissan etwas hoch gegriffen... 4 h mit 6 kWh sind viel mehr als 13 kWh... Verluste können nicht so hoch sein.

Apropos Verluste: die habe ich jetzt noch aufgenommen als 15%... Scheinen eher bei 10% zu liegen (https://docs.google.com/spreadsheets/d/1iPXI7G0jD57WQw16vE30x6YPQklsbXWkPVaTaZzYTRU/edit#gid=0), aber durch die Differenz von Netto- und Bruttokapazität des Akkus ist das wohl ein guter Kompromiss
« Letzte Änderung: 22 Dezember 2018, 13:27:12 von c2j2 »

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Hallo,

DateTime musste bei mir nachinstalliert werden mit sudo apt-get install libdatetime-perl@c2j2
Kannst du das bitte noch im ersten Beitrag ergänzen?
Danke.

Grüße
P.S.: Erste Abfrage läuft bereits mit einem query all

Edith: Und schon beantwortet mit einem
Zitat
APIResponse ERR cabintemp_cached 6.47725605964661 {"status":404} 2018-12-22 15:46:29
??? >:(

Edith1:
Abfrage hat jetzt ohne 404 geklappt aber ...
Zitat
CabinTemp 0 2018-12-22 17:55:09
_CachedRecord_CabinTemp °C 2018-12-22 17:53:58
wundert mich doch etwas  ???
« Letzte Änderung: 22 Dezember 2018, 18:08:20 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Vielen Dank für den Installationshinweis - ich mußte nichts nachinstallieren, daher hatte ich das nicht ergänzt. Ist gemacht,

Und das mit der CabinTemp - nun ja, dann wird Nissan bei Dir wohl nichts liefern? Seltsam. Aber ganz ernst zu nehmen ist das nicht, mein Wert ist noch von gestern abend. Hier wird der Wert auch nur gespeichert, wenn ich "cabintemp" abgefragt habe. Also eigentlich nicht wirklich wichtig, das abzufragen, scheint mir.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
... und zu den GPS-Koordinaten habe ich keinen Weg gefunden.

Ich wünsche den BEV-Fahrern hier schöne Weihnachten (den anderen auch) und ein paar ruhige Tage.
« Letzte Änderung: 23 Dezember 2018, 21:02:12 von c2j2 »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
... und Location klappt doch ("set ... query location"), ab der nächsten Version (noch nicht verfügbar, ich schreibe es dann)
... und der Battery-State ist nun noch etwas besser - manchmal, z.B. heute, ist der aktuelle Stand nicht zu erfragen, aber der cached-Stand. Das Modul berechnet den aktuelleren der beiden.

Puh.

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo

das Modul ist echt gut.

Das mit den Berechnungen im Modul ist nicht so eine gute Idee,
die passen nur für einen Fahrzeug Typ.
Für den alten Leaf müssen die immer korrigiert werden,
wenn du einfach die Nissan werte durch reichst, kann man das mit den ausgelesen Werten ja dann selbst erledigen.
Du könntest zwar je nach Fahrzeug abwandeln, aber wie gesagt, kann man eigentlich selbst dann machen.

Die Einheiten in den Readings anzugeben ist auch nicht so üblich im fhem,
erschwert weitere Berechnungen und Grafiken.

Bin ansonsten gespannt auf die neue Version  :)

Gruß Hermann

PS: eine Möglichkeit wäre, du frägst 'CarImage' => 'carimg6.png' ab, das carimg6 ist noch der alte Leaf,
da solltest du für SOC und BatteryQuality durch den festen Wert 12 Teilen
« Letzte Änderung: 27 Dezember 2018, 18:30:23 von Herjemine »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Danke für die Hinweise.

  • Stimmt, im LOG kommt oft eine Warnung wegen der Einheiten. OK, also wieder zurückrudern ;)
  • Teilen durch 12 brauche ich nicht, denn dieser Wert wird im Record mitgeliefert (12 in ZE0, 240 in ZE1).
  • Jetzt wird zusätzlich noch der vom Auto zurückgelieferte Ladezeitwert mitgeliefert (Postfix "_ToFull")
  • Die 240 sind im Attribut 'max_battery_quality' drin - das Attribut muss auf 12 gesetzt werden für den ZE0


« Letzte Änderung: 27 Dezember 2018, 21:00:29 von c2j2 »

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Hallo,

Zitat
2. Teilen durch 12 brauche ich nicht, denn dieser Wert wird im Record mitgeliefert (12 in ZE0, 240 in ZE1).
doch, hatte ich schon mal geschreiben  ;)
sobald bei den alten ZE0 die Batterie nachläst haut es nicht mehr hin,  :'(
meiner hat nur noch 11 Balken und mein Kollege nur noch 10 (BatteryCapacity)
da kommt dann beim SOC wenn er auf 12 Balken (BatteryDegradation) aufgeladen hat

12/11 = 109% BatterySOC oder
12/10 =  120% BatterySOC raus

was etwas seltsam ist  :D

Gruß Hermann

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Was heißen würde, die Degradation würde bei Dir trotzdem bis 12 gemeldet (12=voll geladen), die Capacity wäre aber nur noch 10 oder 11... Stimmt das so definitiv?

Das hatte ich ja damals gefragt (aber es gabe keine Antwort, oder ich habe sie überlesen). Die Rechnung, die ich mache, machen alle Module, die die Carwings-API nutzen:

ich:
Zitat
my $SOC = int(100 * $res->{batteryDegradation} / $res->{batteryCapacity});

pycarwings2:
Zitat
self.battery_percent = 100 * float(status["batteryDegradation"]) / float(status["batteryCapacity"])

joeshaw/carwings:
Zitat
fmt.Printf("  Capacity: %d / %d (%d%%)\n", bs.Remaining, bs.Capacity, bs.StateOfCharge)

staugaard/SmartThings-Carwings:
Zitat
data.battery   = (data.remaining * 100 / data.capacity).round()

...

Klar können die alle voneinander abgeschrieben haben, aber die Codes gibt es schon ein paar Jahre, allemal länger als der Akku 100% Qualität hat ;). Ich vermute, das hätten die schon korrigiert.

Ansonsten kann ich ja immer noch anhand des Bereichs der Capacity (1..12) den ZE0, und mit (13..240) den ZE1 auseinanderhalten.
« Letzte Änderung: 27 Dezember 2018, 22:04:05 von c2j2 »

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Zitat
Was heißen würde, die Degradation würde bei Dir trotzdem bis 12 gemeldet (12=voll geladen), die Capacity wäre aber nur noch 10 oder 11... Stimmt das so definitiv?

ja ist nicht nur bei mir so und ja ist auch in der Anzeige im Cockpit im Leaf und in der Carwings App so
sollte es Nissan irgend wann mal wieder schaffen, dass die App geht, kann ich Dir auch nen Screenshot machen  8)

sorry ich kann auch nix für wenn das keiner beachtet  :'(
vom Cockpit kann ichs gleich mal anhängen
 
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Liste anzeigen

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
OK, das habe ich eingebaut (12/240 je nach BatteryQuality).

Außerdem noch die Mitnutzung des Caches, wenn der "normale" Poll keinen sinnvollen Wert ergibt. Klappt bei mir super.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
So, das Modul ist "in der freien Wildbahn" ;)

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #76 am: 30 Dezember 2018, 01:11:28 »
Hallo,

irgendwas geht bei meinem Leaf schief  :o

FHEM resp. das Modul meint das der Akku leer ist oder zumindest keine km mehr fahren kann.
Die App und das Auto sind aber der Meinung das noch 60 km im Akku sind.

Zitat
Internals:
   CW_INITIALAPPSTRINGS xxxxx
   CW_URL     URL
   DEF        Mailadresse Passwort
   Language   en-US
   NAME       Leaf
   NR         1714
   RegionCode NE
   STATE      SOC =   0% (≈0km-0km) (2018-12-29 17:35:50)
[0, 0]
   TYPE       Carwings
   car        name
   cur_job   
   error     
   job       
   job_retries 7
   jobs       
   longpolltime 15
   password   passwort
   query_retries 0
   query_timeout 120
   resultKey 
   timestamp  1546102202.74348
   timestamp_battery 1546101697.0255
   timestamp_battery_cached 1546102075.88105
   timestamp_battery_longpoll 1546089240.42935
   timestamp_cabintemp 1546101562.67093
   timestamp_cabintemp_cached 1546102079.99441
   timestamp_cabintemp_longpoll 1545781974.15526
   timestamp_climate_cached 1546102077.33639
   timestamp_climate_off 1546101882.10439
   timestamp_climate_on 1546101830.55544
   timestamp_climate_schedule 1546101983.91734
   timestamp_climatetemp_cached 1546102078.59003
   timestamp_connect 1546102202.74402
   timestamp_location 1546102214.03105
   timestamp_login 1546102204.03634
   user       mailadresse
   READINGS:
     2018-12-29 17:50:49   APIResponse     OK location 35
     2018-11-21 09:23:32   BatteryCapacity 240
     2018-12-29 17:35:50   BatteryDataSource _CurrentRecord_
     2018-12-26 00:52:19   BatteryDegradation 100
     2018-12-29 17:35:50   BatteryQuality  0
     2018-12-29 17:35:50   BatterySOC      0
     2018-12-29 17:35:50   BatteryTime     0
     2018-12-29 17:36:03   CabinTemp       °C
     2018-12-29 17:36:03   CabinTempDataSource _CachedRecord_
     2018-12-29 17:36:03   CabinTempTime   2018-12-29T17:35:00
     2018-12-29 17:35:50   ChargeMode      0
     2018-11-21 09:23:32   ChargeStatus    CT
     2018-12-21 19:07:05   Charging        NO
     2018-12-29 17:46:23   ClimateControlOperationResult SUCCESS
     2018-12-29 17:46:23   ClimateControlStatus OFF
     2018-12-29 17:35:50   CruisingRangeACOff 0
     2018-12-29 17:35:50   CruisingRangeACOn 0
     2018-12-29 17:35:50   LoadTimeRemaining_11kW_100Perc 0
     2018-12-29 17:35:50   LoadTimeRemaining_11kW_80Perc 0
     2018-12-29 17:35:50   LoadTimeRemaining_11kW_ToFull 0
     2018-12-29 17:35:50   LoadTimeRemaining_22kW_100Perc 0
     2018-12-29 17:35:50   LoadTimeRemaining_22kW_80Perc 0
     2018-12-29 17:35:50   LoadTimeRemaining_22kW_ToFull 0
     2018-12-29 17:50:49   LocationLatitude xx.xxxxxxx
     2018-12-29 17:50:49   LocationLongitude y.yyyyyyy
     2018-12-29 17:50:49   LocationTime    2018-12-29T17:50:00
     2018-12-29 17:35:50   PlugState       0
     2018-12-19 18:03:16   _CachedRecord_BatteryChargeMode NOT_CHARGING
     2018-12-19 18:03:16   _CachedRecord_BatteryPlugState NOT_CONNECTED
     2018-12-19 18:03:16   _CachedRecord_BatteryQuality 100
     2018-12-29 17:35:50   _CachedRecord_BatteryRemainingkWh 8
     2018-12-29 17:35:50   _CachedRecord_BatteryResult SUCCESS
     2018-12-29 17:35:50   _CachedRecord_BatterySOC 30
     2018-12-29 17:35:50   _CachedRecord_BatteryTime 2018-12-29T17:35:00
     2018-12-29 14:09:36   _CachedRecord_CabinTemp °C
     2018-12-29 17:36:03   _CachedRecord_CabinTempTime 2018-12-29T17:35:00
     2018-12-29 17:35:50   _CachedRecord_ChargeMode NOT_CHARGING
     2018-12-29 17:35:56   _CachedRecord_ClimateChangeOperation STOP
     2018-12-29 17:35:56   _CachedRecord_ClimateChangeTime 2018/12/29 16:35
     2018-12-29 17:35:58   _CachedRecord_ClimateDestinationTemp 22
     2018-12-29 17:35:56   _CachedRecord_ClimateResult SUCCESS
     2018-12-29 17:46:25   _CachedRecord_ClimateScheduledTime
     2018-12-29 17:35:56   _CachedRecord_ClimateTemp 22
     2018-12-29 17:35:56   _CachedRecord_ClimateTime 2018-12-29T17:35:00
     2018-12-29 17:35:50   _CachedRecord_CruisingRangeACOff 62
     2018-12-29 17:35:50   _CachedRecord_CruisingRangeACOn 51
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_11kW_100Perc 7.9
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_11kW_80Perc 5.7
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_11kW_ToFull 12.5
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_22kW_100Perc 4.5
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_22kW_80Perc 3.2
     2018-12-29 17:35:50   _CachedRecord_LoadTimeRemaining_22kW_ToFull -1
     2018-12-29 17:35:50   _CachedRecord_PlugState NOT_CONNECTED
     2018-12-29 17:28:02   car            car
     2018-12-29 17:50:49   error           
     2018-11-20 09:42:11   fullResponse    read from https://gdcportalgw.its-mo.com:443 timed out
   job_array:
Attributes:
   DbLogExclude .*
   icon       car
   room       23_Garage
   stateFormat {
sprintf("SOC = %3d%% (≈%dkm-%dkm) (%s)\n%s",
 ReadingsNum($name, "BatterySOC", -1),
 ReadingsNum($name, "CruisingRangeACOn", 0),
 ReadingsNum($name, "CruisingRangeACOff", 0),
 ReadingsTimestamp($name,"BatterySOC",0),
 length(ReadingsVal($name, "error", "")) > 0
  ? sprintf("[ERROR %s (%s)]", ReadingsVal($name, "error", ""), ReadingsTimestamp($name,"error",0))
  : sprintf("[%s, %s]", ReadingsVal($name, "PlugState", ""), ReadingsVal($name, "ChargeMode", ""))
 )
}
   webCmd     query all
Und nach einem erneutem query all bekomme ich:
Zitat
SOC = 0% (≈0km-0km) (2018-12-29 17:35:50) [ERROR failed executing 'cabintemp' after multiple retries (2018-12-30 01:16:13)]
  ???
Und ja, ich hab nur einmal query all geklickt und sonst nichts *schwör*  8)
Edith1: Und ja, es ist die letzte Version aus dem 1. Beitrag
Edith2: Die Daten von latitude und longitude stimmen fast auf den Meter mit der Garage überein wo mein Leaf steht  ;D
« Letzte Änderung: 30 Dezember 2018, 01:23:58 von Puschel74 »
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #77 am: 30 Dezember 2018, 10:47:40 »
Ja dann nimm mal das aktuelle Modul. Da war bis gestern ein Fehler drin, wenn Du keinen aktuellen Record bekommst, konnte SOC auf 0 gesetzt sein.

Ansonsten bräuchte ich natürlich ein LOG, am besten per PM.
« Letzte Änderung: 30 Dezember 2018, 12:24:00 von c2j2 »

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #78 am: 30 Dezember 2018, 12:26:24 »
Apropos: danke für das Nachdenken lassen... "alle" macht natürlich nur begrenzt Sinn, da auch die AC ein- und wieder ausgeschaltet wurde. Habe ich jetzt rausgenommen aus "all".

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9828
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #79 am: 30 Dezember 2018, 17:44:37 »
Hallo,

klappt perfekt - danke.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline sdz36

  • New Member
  • *
  • Beiträge: 7
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #80 am: 31 Dezember 2018, 19:07:41 »
Hallo c2j2,

Vielen Dank für das Modul. Es hat bei mir auf Anhieb funktioniert.

ich wünsche allen ein frohes Neues Jahr

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #81 am: 10 Januar 2019, 13:57:07 »
Hallo zusammen,

ich hätte noch ein weiteren Futurewunsch:

Das Ein und Ausschalten der Ladung, ist das auch möglich? In der Orginal App und in Leafter auf iOs kann ich das Laden auch Ein und Ausschalten.

Ansonnsten vielen Dank für das Modul. Es läuft richtig gut.

Grüße Gröpi

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #82 am: 11 Januar 2019, 13:21:51 »
Im Netz habe ich das EINschalten gefunden, das wäre trivial. Aber nicht das AUSschalten.

Geht das wirklich? Wenn ja, welche App?

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #83 am: 11 Januar 2019, 13:41:06 »
Ach so: auch im Internet (Browser) kann man nur "Ladestart" machen

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #84 am: 12 Januar 2019, 08:16:56 »
Hallo c2j2,

Die App Leafter (ist ein Beta aus dem Goingelectric Forum) für iOS hat einen Schalter zum Laden starten wenn der eingeschaltet wird, wir der gesamte Button inaktiv. Also hier ist das ausschalten auch nicht möglich. Aber wenn Du bei Gelegenheit mal das Einschalten des Ladevorgangs implemtieren würdest wäre ich Dir dankbar  :)

Grüße Martin

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #85 am: 12 Januar 2019, 10:03:20 »
Wird gemacht. Und die Fahrdaten (Verbrauch, Gesamtkilometer) des aktuellen Monats kommen auch noch.

Einzeltrip fehlt mir die Sinnhaftigkeit

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #86 am: 13 Januar 2019, 17:45:43 »
So.

"query start_charge" startet den Ladevorgang.

Außerdem kann man noch die Monatsstatistiken abfragen ("stat_monthly:<yyyymm>"), aber so toll ist das Ergebnis nicht, denn die Werte enthalten nicht alle Fahrten (obwohl ich dachte, dass ich die Telemetriedatenübertragung immer erlaubt habe)

Offline Groepi

  • New Member
  • *
  • Beiträge: 24
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #87 am: 13 Januar 2019, 20:20:31 »
Hallo zusammen,

nochmals vielen Dank an c2j2. Super Modul. Hat jemand von euch schon Google Maps eingebaut und kann mir mal den Codeschnipsel geben?

Danke

Gröpi

Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #88 am: 18 Januar 2019, 10:19:56 »
Hallo Gröpi,

den aktuellen Standort lass ich mir mit einem einfachen Weblink anzeigen, du benötigts noch einen Google API key,

define live_map weblink htmlCode {'<div style="width: 480;; overflow: hidden;; height: 480px;;"><iframe src="https://www.google.com/maps/embed/v1/place?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&q='.ReadingsVal('Leaf','location','').' " width="480" height="480" frameborder="0" border:0;; "></iframe></div>'}

wobei ich die Lat, Long aus dem LeafSpy in ein Reading location zusammen fasse.
Bei meinem alten Leaf kommt kein Location, einfach oben das .ReadingsVal('Leaf','location',''). für Dich entsprechend anpassen.

Den GPS Track des aktuellen Tages aus dem FileLog anzeigen lassen kann ich auch mal einstellen.

Gruß Hermann


Offline Herjemine

  • Jr. Member
  • **
  • Beiträge: 75
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #90 am: 20 Januar 2019, 20:54:30 »
es geht um www.google.com/maps/embed/ ich denk ich hab den Embed geholt

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #91 am: 21 Januar 2019, 06:56:26 »
Mit der aktuellen Version ist kein Plot zu gewinnen, ich werden demnächst wieder auf "ständiges Update der Werte mit Events" umstellen müssen und wer weniger möchte, muss mit "event-on-change-reading" arbeiten. Ich schreibe dann noch Genaueres. Aber gestört hat es anscheinend niemanden

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #92 am: 26 Februar 2019, 21:43:14 »
So, wer Probleme hatte mit der Anmeldung wird nun vielleicht wieder glücklich, Nissan hat wieder mal die API-URL geändert und anscheinend "schleichend" eingeführt.

Offline c2j2

  • Jr. Member
  • **
  • Beiträge: 84
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #93 am: 27 Februar 2019, 08:12:01 »
... und die Antwortzeit ist viel kürzer geworden, endlich konstant 30 Sekunden (zumindest bisher).


Offline moes

  • New Member
  • *
  • Beiträge: 45
Antw:FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)
« Antwort #94 am: 06 März 2019, 21:22:51 »
Hallo Herrmann,

das mit der Location in der Google Map finde ich spannen. Ich Frage meinen Leaf über Carwings ab und bekomme die Location in zwei einzelnen werten
LocationLatitude , LocationLongitude
Meine Idee deinen Code auf das Format zu ändern hat nicht funktioniert. Nissan ist mein Carwings Device

<iframe src="https://www.google.com/maps/embed/v1/place?key=MEINAPIKEY='.ReadingsVal('Nissan','LocationLatitude','LocationLongitude').'
Hast Du eine Idee was ich falsch mache?

Beste Grüße
Moritz

Hallo Gröpi,

den aktuellen Standort lass ich mir mit einem einfachen Weblink anzeigen, du benötigts noch einen Google API key,

define live_map weblink htmlCode {'<div style="width: 480;; overflow: hidden;; height: 480px;;"><iframe src="https://www.google.com/maps/embed/v1/place?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&q='.ReadingsVal('Leaf','location','').' " width="480" height="480" frameborder="0" border:0;; "></iframe></div>'}

wobei ich die Lat, Long aus dem LeafSpy in ein Reading location zusammen fasse.
Bei meinem alten Leaf kommt kein Location, einfach oben das .ReadingsVal('Leaf','location',''). für Dich entsprechend anpassen.

Den GPS Track des aktuellen Tages aus dem FileLog anzeigen lassen kann ich auch mal einstellen.

Gruß Hermann

 

decade-submarginal