Seite 15 von 21

Re: EVNotiPi

Verfasst: Fr Aug 20, 2021 1:56 pm
von Jonny
Verstehe ich da was falsch ?

# how to calculate the index value:
# received example:
# 2E <- length of payload
#DEBUG:EVNotiPi/AtBaseDongle:7EC102E620105003FFF first frame
#DEBUG:EVNotiPi/AtBaseDongle:7EC2190000000000000 consecutive frame
#DEBUG:EVNotiPi/AtBaseDongle:7EC2200001179030042 consecutive frame
#DEBUG:EVNotiPi/AtBaseDongle:7EC23683E1C00416410 consecutive frame
#DEBUG:EVNotiPi/AtBaseDongle:7EC244603E800000000 consecutive frame
# 60 <- SoC value
#DEBUG:EVNotiPi/AtBaseDongle:7EC25460000B4B40000 consecutive frame
#DEBUG:EVNotiPi/AtBaseDongle:7EC260F00000000AAAA consecutive frame

# decimal count index values included here instead of data payload
# 00 <- Index value dec(00)
# :EVNotiPi/AtBaseDongle:xxx10yy000102030405 first frame
# :EVNotiPi/AtBaseDongle:xxx2106070809101112 consecutive frame
# :EVNotiPi/AtBaseDongle:xxx2213141516171819 consecutive frame
# :EVNotiPi/AtBaseDongle:xxx2320212223242526 consecutive frame
# :EVNotiPi/AtBaseDongle:xxx2427282930313233 consecutive frame
# 34 <- SoC index in decimal
# :EVNotiPi/AtBaseDongle:xxx2534353637383940 consecutive frame
# :EVNotiPi/AtBaseDongle:xxx2641424344454647 consecutive frame
# xxx=canIDrx
# yy = length [hex(2E)=dec(47)]

Das wäre die Erklärung in Temp.ev

15:34:57.777 >15:34:58.765 2101
15:34:58.802 762 10 3D 61 01 D7 D2 0F F6 ---> Würde das nicht bedeuten das hier die 61 das Relevant Data Item = 0 ist ??? und hex 3D = dec 61 die payload länge
15:34:58.803 762 21 00 0F F3 04 0C C3 63
15:34:58.819 762 22 31 60 07 01 85 00 00
15:34:58.843 762 23 00 00 00 00 00 01 60
15:34:58.844 762 24 08 08 01 6E 01 77 57 ---> Und hier die 01 und 77 das Relevant Data Item 29 und 30 ??? die wo wir brauchen ?
15:34:58.875 762 25 FE 00 03 0F F4 8A 90
15:34:58.922 762 26 5A 00 00 00 00 00 00
15:34:58.923 762 27 00 00 0F F4 00 01 00
15:34:58.925 762 28 00 0B 00 00 0A 4F 00

Das habe ich aktuell übers Terminal ausgelesen.

Re: EVNotiPi

Verfasst: Fr Aug 20, 2021 4:17 pm
von Jonny
Kann ich da

# This is OUTLANDER interface

cmd = bytes.fromhex('2101') # PID command
canIDtx=0x761 # Transmit CAN ID
canIDrx=0x762 # Receive CAN ID
index=2 # index of SoC in received message

zum testen index 2930 einfach so eintragen ?

Re: EVNotiPi

Verfasst: Fr Aug 20, 2021 4:46 pm
von ragnaroek
Nein, du musst auf 29 und auf 30 jeweils einzeln zugreifen und 29 mit 256 multiplizieren

Re: EVNotiPi

Verfasst: Fr Aug 20, 2021 5:01 pm
von Jonny
und wie müsste ich das im script angeben bei index ?
Ich habe lt. Angaben einen 46 AH Akku.
Würde ich auf eine Rechnung von Total / 0.46 / 10 kommen

Sollte es sich rausstellen das der Akku kleiner ist, kann man ja die 0.46 ändern.

Re: EVNotiPi

Verfasst: Sa Aug 21, 2021 10:03 am
von Jonny
Hallo Ragnaorek,

ich habe jetzt nochmals ein wenig geschaut bzgl. den PIDs und Ausgaben.
Gefunden habe ich folgendes:

SOC;%;761;762;2101;0;Total / 2 - 5 ---> Das funktioniert nicht wirklich wie getestet, oder da hängt noch ein anderer Wert mit drin.

Batt Health (how much charge can the battery contain) ---> Ah;761;762;2101;27+28;Total / 10
Current Charge (how much is going into or out of the battery) ---> A;961;762;2101;14+15; Total -1
Battery Total Voltage ---> V;761;762;2101;8+9; Total / 10
Number of charges at 100V ---> Count;765;766;2101;00+01; Total
Number of charges at 200V ---> Count;765;766;2101;02+03; Total

Example from Front Motor ECU:
RPM;Count;753;754;2102;2+3; Total - 20000

Example from Rear Motor ECU:
RPM;Count;755;756;2102;2+3; Total -20000

Welche Daten bräuchte man denn genau um den genauen SOC zu bestimmen ?
Eine Tabelle mit voll oder mit 2 KW laden lt WB wäre nicht schwierig, was aber schwierig ist , zu sagen jetzt ist sie ganz leer, weil bevor sie leer ist der Verbrenner anspringt.

Re: EVNotiPi

Verfasst: Sa Aug 21, 2021 12:22 pm
von ragnaroek
Eine Tabelle mit voll oder mit 2 KW laden lt WB wäre nicht schwierig, was aber schwierig ist , zu sagen jetzt ist sie ganz leer, weil bevor sie leer ist der Verbrenner anspringt.
Ich kann dir nicht wirklich folgen. Was kann man mit einer Batteriekapazität anfangen, die man nicht nutzen kann, weil der Verbrenner anspringt? Ich würde antworten: gar nix. Ist so, wie wenn es diese Rest-Kapazität nicht gäbe.
Sobald du diese Rest-Kapazität r bestimmt hast, kannst du aus dem bisherigen SoC einen korrigierten SoCk bestimmten:
SoCk = (SoC-r)/(100-r),
Falls du in der wb unbedingt bei r eine 0 angezeigt bekommen möchtest

Re: EVNotiPi

Verfasst: Sa Aug 21, 2021 1:32 pm
von Jonny
Ok, evtl. habe ich mich falsch ausgedrückt.

Nutzen kannst du die Kapazität schon,nur ist es natürlich schlecht wenn du z.B. fährst, du nicht auslesen kannst beim fahren und der Verbrenner dazuschaltet weil der Akku zu neige geht.
Dieser schaltet sich auch dazu wenn die Akku "Power" nicht reicht. Z.B. beim kpl. durchtreten aus dem Stand raus.
Im Sportmodus läuft der Verbrenner immer mit. die zuviel erzeugte Kapazität geht dann auch in den Akku.

Meine Frage wäre halt ob man aus diesen Daten vom Post davor etwas verwenden kann um den aktuellen Soc zu bestimmen.

Was meinst du mit in der wb bei r eine 0 angezeigt bekommen ?

Re: EVNotiPi

Verfasst: Di Aug 24, 2021 9:16 am
von Jonny
Muss ich bei einer installation direkt auf die WB genau gleich verfahren wie bei einem externen Pi,
nur das ich anstelle einer IP localhost angeben muss in config.yaml ?

Re: EVNotiPi

Verfasst: Di Aug 24, 2021 2:00 pm
von ragnaroek
Ja, ggf. eine Sicherungskopie von der kompletten SD Karte machen, bevor du loslegt. Einfach Mal googeln wir das geht.

Re: EVNotiPi

Verfasst: Di Aug 24, 2021 4:00 pm
von Jonny
Dann war ich auf dem richtigen Weg.
Ich lasse es dann mal so und beobachte.
Gebe Dir Bescheid.

Danke