BMW i3 SOC [gelöst]

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
Benutzeravatar
Sonnenjunky
Beiträge: 352
Registriert: Fr Jun 26, 2020 9:27 am
Wohnort: Wien Umgebung

Re: BMW i3 SOC [gelöst]

Beitrag von Sonnenjunky »

Meinen persönlichen Dank an @truckl dem [Er]löser ;)
zergchen
Beiträge: 44
Registriert: So Jul 21, 2019 4:53 pm

Re: BMW i3 SOC [gelöst]

Beitrag von zergchen »

Auch von mir herzlichen Dank, funktioniert ohne Nebenwirkungen :D (i3)
Wynton
Beiträge: 10
Registriert: Di Jul 21, 2020 8:02 am

Re: BMW i3 SOC [gelöst]

Beitrag von Wynton »

Mini Soc wieder da!
Besten Dank
aiole
Beiträge: 6876
Registriert: Mo Okt 08, 2018 4:51 pm

Re: BMW i3 SOC [gelöst]

Beitrag von aiole »

@Truckl
@openWB
Kann es sein, dass der letzte i3-SoC-Fix momentan nur bei LP1 wirksam ist?
Zumindest in der aktuellen nightly 1.9.250 (2021-12-25 14:23:05 +0100 [f6684173] ) bekomme ich den SoC nur an LP1 zum Laufen.
Lustigerweise in der 4 Tage alten Version 1.9.250 (2021-12-21 19:14:51 +0100 [476adb87] ) kommt er wie eingestellt an LP1 und LP2.
Ich habe das über 2h inkl. Reboot verifiziert.

Im EV SOC Log der aktuellen Version stehen auch nur Einträge für LP1:

Code: Alles auswählen

2021-12-26 02:41:42: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:41:42: Lp1: timer = 6 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:41:33: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:41:33: Lp1: timer = 5 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:41:24: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:41:24: Lp1: timer = 4 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:41:13: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:41:13: Lp1: timer = 3 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:41:02: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:41:02: Lp1: timer = 2 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:40:52: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:40:52: Lp1: timer = 1 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:40:41: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:40:41: Lp1: timer = 0 (LV1) at 67 main modules/soc_i3/main.sh
...
Im EV SOC Log der alten Version (, wo er funktioniert) stehen dagegen Einträge für LP1 und LP2 :

Code: Alles auswählen

2021-12-26 02:51:26: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:51:26: Lp1: timer = 47 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:51:24: Lp2: Nothing to do yet. Incrementing timer. (LV1) at 70 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:51:24: Lp2: timer = 51 (LV1) at 67 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:51:16: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:51:16: Lp1: timer = 46 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:51:15: Lp2: Nothing to do yet. Incrementing timer. (LV1) at 70 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:51:15: Lp2: timer = 50 (LV1) at 67 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:51:06: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
2021-12-26 02:51:06: Lp1: timer = 45 (LV1) at 67 main modules/soc_i3/main.sh
2021-12-26 02:51:05: Lp2: Nothing to do yet. Incrementing timer. (LV1) at 70 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:51:05: Lp2: timer = 49 (LV1) at 67 main /var/www/html/openWB/modules/soc_i3/main.sh
2021-12-26 02:50:57: Lp1: Nothing to do yet. Incrementing timer. (LV1) at 70 main modules/soc_i3/main.sh
...
truckl
Beiträge: 120
Registriert: Sa Nov 09, 2019 10:32 am

Re: BMW i3 SOC [gelöst]

Beitrag von truckl »

aiole hat geschrieben: So Dez 26, 2021 1:54 am @Truckl
@openWB
Kann es sein, dass der letzte i3-SoC-Fix momentan nur bei LP1 wirksam ist?
Zumindest in der aktuellen nightly 1.9.250 (2021-12-25 14:23:05 +0100 [f6684173] ) bekomme ich den SoC nur an LP1 zum Laufen.
Lustigerweise in der 4 Tage alten Version 1.9.250 (2021-12-21 19:14:51 +0100 [476adb87] ) kommt er wie eingestellt an LP1 und LP2.
Ich könnte mir vorstellen, dass es an diesem Commit liegt. Vielleicht wird das "main.sh" in "soc_i3s1" doch noch gebraucht.

Kann das hier aber leider nicht testen, weil ich nur einen LP verfügbar hab :(
yankee
Beiträge: 481
Registriert: Sa Mai 16, 2020 11:34 am

Re: BMW i3 SOC [gelöst]

Beitrag von yankee »

aiole hat geschrieben: So Dez 26, 2021 1:54 am Kann es sein, dass der letzte i3-SoC-Fix momentan nur bei LP1 wirksam ist?
Zumindest in der aktuellen nightly 1.9.250 (2021-12-25 14:23:05 +0100 [f6684173] ) bekomme ich den SoC nur an LP1 zum Laufen.
Lustigerweise in der 4 Tage alten Version 1.9.250 (2021-12-21 19:14:51 +0100 [476adb87] ) kommt er wie eingestellt an LP1 und LP2.
Da werde ich einmal kurz hellhörig, weil ich mit #1818 und #1862 die Logik optimiert habe. Das sollte hier zwar nichts verändert haben, aber der zeitliche Zusammenhang ist schon verdächtig.

Erhälst du eine Log-Ausgabe im Debug-Log?

Könntest du per SSH auf deiner Box die Datei /var/www/html/openWB/loadvars.sh anpassen? Ganz oben in der Datei ist eine Funktion `run_soc_module()`. Diese einfach ersetzen durch folgendes:

Code: Alles auswählen

run_soc_module() {
	module_dir="modules/$1"
	openwbDebugLog "EVSOC" 0 "Calling module_dir=$module_dir"
	if [ -d "$module_dir" ];
	then
		openwbDebugLog "EVSOC" 0 "module_dir exists. Calling $module_dir/main.sh"
		"$module_dir/main.sh" &
	elif [[ "$module_dir" =~ ^(.*)((s)([1-9])|(lp)([2-9]))$ ]]; then
		# Historically if each SoC-Module applied to a single charge point, only. Thus if multiple charge points were
		# to be supported the module was copied and got the suffix "s1" or "lp2" for the second charge point.
		# With the new structure we call the script for charge point one with the actual charge point number as parameter
		if [ "${BASH_REMATCH[3]}" == "s" ]
		then
			charge_point_num=$(( ${BASH_REMATCH[4]} + 1 ))
		else
			charge_point_num=${BASH_REMATCH[6]}
		fi
		module_dir_lp1=${BASH_REMATCH[1]}
		if [ -d "$module_dir_lp1" ];
		then
			openwbDebugLog "EVSOC" 0 "Calling $module_dir_lp1/main.sh"
			"$module_dir_lp1/main.sh" "$charge_point_num" &
		else
			openwbDebugLog "EVSOC" 0 "Neither <$module_dir> nor <$module_dir_lp1> exist!"
		fi
	else
		openwbDebugLog "EVSOC" 0 "SoC-Module <$module_dir> does not exist"
	fi
}
Geändert haben sich nur die Logausgaben. Mit der Änderung müsstest du auf jeden Fall auch für den LP2 mit SoC-Log eine Ausgabe erhalten, mit der wir sehen können ob und wenn ja was an SoC-Script ausgeführt wurde.
aiole
Beiträge: 6876
Registriert: Mo Okt 08, 2018 4:51 pm

Re: BMW i3 SOC [gelöst]

Beitrag von aiole »

Oh ja - da ist noch was faul.
Debug aus der aktuellen nightly:

Code: Alles auswählen

2021-12-26 12:57:23: **** FATAL ********************************* (LV0)
loadvars.sh: Zeile 7: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
2021-12-26 12:57:13: **** FATAL ********************************* (LV0)
2021-12-26 12:57:13: **** FATAL Regulation loop needs 12 seconds (LV0)
2021-12-26 12:57:13: **** FATAL ********************************* (LV0)
loadvars.sh: Zeile 7: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
2021-12-26 12:57:03: **** FATAL ********************************* (LV0)
2021-12-26 12:57:03: **** FATAL Regulation loop needs 12 seconds (LV0)
2021-12-26 12:57:03: **** FATAL ********************************* (LV0)
loadvars.sh: Zeile 7: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
@Yankee
Würde Dein PR das Problem in Zeile 7 beheben?
Habe ihn jetzt in die loadvars reinkopiert.
nein - das Problem rutscht nur in Zeile 9. Die zeigt:

Code: Alles auswählen

                "$module_dir/main.sh" &

Code: Alles auswählen

2021-12-26 13:08:52: **** FATAL ********************************* (LV0)
2021-12-26 13:08:52: **** FATAL Regulation loop needs 12 seconds (LV0)
2021-12-26 13:08:52: **** FATAL ********************************* (LV0)
loadvars.sh: Zeile 9: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
2021-12-26 13:08:42: **** FATAL ********************************* (LV0)
2021-12-26 13:08:42: **** FATAL Regulation loop needs 12 seconds (LV0)
2021-12-26 13:08:42: **** FATAL ********************************* (LV0)
loadvars.sh: Zeile 9: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
2021-12-26 13:08:32: **** FATAL ********************************* (LV0)
2021-12-26 13:08:32: **** FATAL Regulation loop needs 12 seconds (LV0)
2021-12-26 13:08:32: **** FATAL ********************************* (LV0)
Wie gesagt - in der 5 Tage alten Version (läuft auf separatem RPi-Testsystem) gibt es keine Debug-Errors und der i3-SoC an LP2 wird sauber angezeigt.
yankee
Beiträge: 481
Registriert: Sa Mai 16, 2020 11:34 am

Re: BMW i3 SOC [gelöst]

Beitrag von yankee »

aiole hat geschrieben: So Dez 26, 2021 11:59 am Debug aus der aktuellen nightly:

Code: Alles auswählen

loadvars.sh: Zeile 7: modules/soc_i3s1/main.sh: Datei oder Verzeichnis nicht gefunden
@Yankee
Würde Dein PR das Problem in Zeile 7 beheben?
Nein. Der Code den ich dir gesendet habe ich nur dafür um mehr Logdaten zu bekommen um herauszufinden warum. Du müsstest jetzt im SoC-Log noch Ausgaben bekommen haben. Kannst du mal schauen was da so steht?

Allerdings gibt auch das, was du bisher gepostet hast bereits etwas Aufschluss: Es sieht so aus als würde auf deiner openWB noch der Ordner `/var/www/html/openWB/modules/soc_i3s1/` existieren. Der hätte eigentlich mit dem Update auf die aktuelle nightly gelöscht werden müssen. Kannst du bitte nachschauen ob der Ordner noch da ist? Und wenn ja, was da drin liegt? Falls du in dem Ordner aus irgend einem Grund mal selber noch eine Datei abgelegt haben solltest, dann würde das den Fehler erklären. In dem Fall den Ordner bitte einfach manuell löschen und dann sollte alles funktionieren. Wenn das ganze nicht auf eine manuelle Änderung von dir zurückgeht bitte möglichst genau dokumentieren was da ist, damit wir rausfinden können warum der Ordner nicht gelöscht wurde.

Ich bin jetzt für ein paar Stunden offline, schaue mir das Ergebnis aber später an.
aiole
Beiträge: 6876
Registriert: Mo Okt 08, 2018 4:51 pm

Re: BMW i3 SOC [gelöst]

Beitrag von aiole »

Staus - SoC-Log

Code: Alles auswählen

2021-12-26 17:52:19: module_dir exists. Calling modules/soc_i3s1/main.sh (LV0)
2021-12-26 17:52:19: Calling module_dir=modules/soc_i3s1 (LV0)
2021-12-26 17:52:08: module_dir exists. Calling modules/soc_i3s1/main.sh (LV0)
2021-12-26 17:52:08: Calling module_dir=modules/soc_i3s1 (LV0)
2021-12-26 17:52:00: module_dir exists. Calling modules/soc_i3s1/main.sh (LV0)
2021-12-26 17:52:00: Calling module_dir=modules/soc_i3s1 (LV0)
Ich sichere jetzt den Ordner und lösche ihn dann testweise.

update
Der SoC kommt nach dem Löschen des Ordners "soc_i3s1" nun auch an LP2. Im genannten Ordner lag eine "auth2.json" mit Musterdaten ohne Belang.
Danke - Ihr seid topfit!
VG
LutzB
Beiträge: 3494
Registriert: Di Feb 25, 2020 9:23 am

Re: BMW i3 SOC [gelöst]

Beitrag von LutzB »

Ich denke dass es ein Problem gibt, wenn noch Dateien von dem SoC Modul in dem Ordner liegen. Das ist zumindest bei Tesla, BMW und Mercedes der Fall.
Antworten