FHEM und Carwings/ConnectEV/You+NISSAN-API (Modul 98_Carwings.pm)

Begonnen von c2j2, 17 Oktober 2018, 09:10:37

Vorheriges Thema - Nächstes Thema

Herjemine

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

c2j2

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.

c2j2

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?

c2j2

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"...

c2j2

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

Puschel74

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
ZitatAPIResponse ERR cabintemp_cached 6.47725605964661 {"status":404} 2018-12-22 15:46:29
??? >:(

Edith1:
Abfrage hat jetzt ohne 404 geklappt aber ...
ZitatCabinTemp 0 2018-12-22 17:55:09
_CachedRecord_CabinTemp °C 2018-12-22 17:53:58
wundert mich doch etwas  ???
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.

c2j2

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.

c2j2

... 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.

c2j2

... 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.

Herjemine

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

c2j2

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



Herjemine

Hallo,

Zitat2. 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

c2j2

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.

Herjemine

ZitatWas 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

c2j2

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.