Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go-e charger: Simulation Energiezähler während des Ladens #1559

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
35473c7
Ladeenergie des go-e chargers während der Ladung aus der Leistung ber…
tensing2 Aug 31, 2021
6c938a2
Änderungen auf für Ladepunkt 2 und 3
tensing2 Aug 31, 2021
0de2370
Dekawattsekunden aus go-e charger auslesen und umgerechnet zum kWh-We…
tensing2 Sep 1, 2021
ab0f076
Revert "Dekawattsekunden aus go-e charger auslesen und umgerechnet zu…
tensing2 Sep 1, 2021
8e570f3
Sicherheitsabfrage falls OpenWB bei angestecktem Auto neu gestartet w…
tensing2 Sep 1, 2021
00d21df
Merge branch 'snaptec:master' into patch_goe_enhancement
philipp123ow Sep 6, 2021
f7243c1
Korrekturfaktor und Simulation Parametrisiert
philipp123ow Sep 6, 2021
2e547a1
Korrekturfaktor und Simulation Parametrisiert
philipp123ow Sep 6, 2021
718e29c
Korrekturfaktor und Simulation Parametrisiert
philipp123ow Sep 6, 2021
c87f468
Korrekturfaktor und Simulation Parametrisiert
philipp123ow Sep 6, 2021
3025a72
Korrekturfaktor und Simulation Parametrisiert
philipp123ow Sep 6, 2021
444a384
Simulation mit go-e Zählerstand initialisiert
tensing2 Sep 6, 2021
3318177
Merge pull request #1 from tensing2/patch_goe_correctionfactor
philipp123ow Sep 6, 2021
97fae1a
Zählerstand setzen nach Restart
philipp123ow Sep 7, 2021
ac745f0
Korrektur Startwert Simulation
philipp123ow Sep 7, 2021
b3c1ce6
Merge pull request #1 from philipp123ow/patch_goe_correctionfactor
tensing2 Sep 7, 2021
01259e8
Nachkommastelle beim Go-E Strom hinzugefügt
tensing2 Sep 7, 2021
7982f3c
Merge pull request #3 from tensing2/patch_goe_correctionfactor
philipp123ow Sep 7, 2021
8cc3046
Entfernung falsche Klammer
philipp123ow Sep 7, 2021
d7e5f5d
Merge pull request #2 from philipp123ow/patch_goe_correctionfactor
tensing2 Sep 7, 2021
425cacc
temp_kWhCounter_lp${i}
philipp123ow Sep 7, 2021
d297fcf
temp_kWhCounter_lp1 statt pluggedladunglp1startkwh
philipp123ow Sep 7, 2021
0cad0c4
Merge pull request #3 from philipp123ow/patch_goe_correctionfactor
tensing2 Sep 7, 2021
8e9c867
Patch goe correctionfactor (#4)
tensing2 Sep 8, 2021
5532d20
Merge pull request #5 from tensing2/patch_goe_correctionfactor
tensing2 Sep 8, 2021
e6b58de
Merge branch 'master' into patch_goe_enhancement
tensing2 Sep 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 43 additions & 10 deletions modules/goelp1/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,31 @@ rekwh='^[-+]?[0-9]+\.?[0-9]*$'

output=$(curl --connect-timeout $goetimeoutlp1 -s http://$goeiplp1/status)
if [[ $? == "0" ]] ; then
goecorrectionfactor=$(echo "scale=0;$goecorrectionfactorlp1 * 100000 /1" |bc)
watt=$(echo $output | jq -r '.nrg[11]')
watt=$(echo "scale=0;$watt * 10 /1" |bc)
if [[ $watt =~ $re ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuell
if [[ $goesimulationlp1 == "0" ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuell
else
wattc=$((watt*$goecorrectionfactor/100000))
wattc=$(echo "scale=0;$wattc" |bc)
echo $wattc > /var/www/html/openWB/ramdisk/llaktuell
fi
fi
lla1=$(echo $output | jq -r '.nrg[4]')
lla1=$(echo "scale=0;$lla1 / 10" |bc)
if [[ $lla1 =~ $re ]] ; then
lla1=$(echo "scale=1;$lla1 / 10" |bc)
if [[ $lla1 =~ $rekwh ]] ; then
echo $lla1 > /var/www/html/openWB/ramdisk/lla1
fi
lla2=$(echo $output | jq -r '.nrg[5]')
lla2=$(echo "scale=0;$lla2 / 10" |bc)
if [[ $lla2 =~ $re ]] ; then
lla2=$(echo "scale=1;$lla2 / 10" |bc)
if [[ $lla2 =~ $rekwh ]] ; then
echo $lla2 > /var/www/html/openWB/ramdisk/lla2
fi
lla3=$(echo $output | jq -r '.nrg[6]')
lla3=$(echo "scale=0;$lla3 / 10" |bc)
if [[ $lla3 =~ $re ]] ; then
lla3=$(echo "scale=1;$lla3 / 10" |bc)
if [[ $lla3 =~ $rekwh ]] ; then
echo $lla3 > /var/www/html/openWB/ramdisk/lla3
fi
llv1=$(echo $output | jq -r '.nrg[0]')
Expand All @@ -38,15 +45,41 @@ if [[ $? == "0" ]] ; then
fi
llkwh=$(echo $output | jq -r '.eto')
llkwh=$(echo "scale=3;$llkwh / 10" |bc)
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwh
fi
rfid=$(echo $output | jq -r '.uby')
oldrfid=$(</var/www/html/openWB/ramdisk/tmpgoelp1rfid)
if [[ $rfid != $oldrfid ]] ; then
echo $rfid > /var/www/html/openWB/ramdisk/readtag
echo $rfid > /var/www/html/openWB/ramdisk/tmpgoelp1rfid
fi
if [[ $goesimulationlp1 == "0" ]] ; then
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwh
fi
else
temp_kWhCounter_lp1=$(</var/www/html/openWB/ramdisk/temp_kWhCounter_lp1)
#simulation der Energiemenge während des ladens
#wenn die Dateien noch nicht da sind, werden sie angelegt. Simulation startet im nächsten Regelschritt.
if [ -f "/var/www/html/openWB/ramdisk/goewatt0neg" ]; then
if [ -f "/var/www/html/openWB/ramdisk/goewatt0pos" ]; then
python /var/www/html/openWB/runs/simcount.py $wattc goe goeposkwh goenegkwh
else
#Benutze den Zählerstand aus temp_kWhCounter_lp1 als Startwert für die Simulation
simenergy=$(echo "scale=0; $temp_kWhCounter_lp1*3600000/1" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/goewatt0pos
fi
else
echo 0 > /var/www/html/openWB/ramdisk/goewatt0neg
fi
#der ausgelesene Zählerstand wird ignoriert und stattdessen die Leistung aufintegriert
#Grund: der ausgelesene Zählerstand hat eine Auflösung von 1kWh -> zu ungenau in der Darstellung
if [ -f "/var/www/html/openWB/ramdisk/goeposkwh" ]; then
simenergy=$(echo "scale=3; $(</var/www/html/openWB/ramdisk/goeposkwh)/1000" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/llkwh
else
#Wenn die Simulation noch nicht gelaufen ist, nehme den Wert temp_kWhCounter_lp1
echo $temp_kWhCounter_lp1 > /var/www/html/openWB/ramdisk/llkwh
fi
fi
#car status 1 Ladestation bereit, kein Auto
#car status 2 Auto lädt
#car status 3 Warte auf Fahrzeug
Expand Down
56 changes: 46 additions & 10 deletions modules/goelp2/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,31 @@ rekwh='^[-+]?[0-9]+\.?[0-9]*$'

output=$(curl --connect-timeout $goetimeoutlp2 -s http://$goeiplp2/status)
if [[ $? == "0" ]] ; then
goecorrectionfactor=$(echo "scale=0;$goecorrectionfactorlp2 * 100000 /1" |bc)
watt=$(echo $output | jq -r '.nrg[11]')
watt=$(echo "scale=0;$watt * 10 /1" |bc)
if [[ $watt =~ $re ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuells1
if [[ $goesimulationlp1 == "0" ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuells1
else
wattc=$((watt*$goecorrectionfactor/100000))
wattc=$(echo "scale=0;$wattc" |bc)
echo $wattc > /var/www/html/openWB/ramdisk/llaktuells1
fi
fi
lla1=$(echo $output | jq -r '.nrg[4]')
lla1=$(echo "scale=0;$lla1 / 10" |bc)
if [[ $lla1 =~ $re ]] ; then
lla1=$(echo "scale=1;$lla1 / 10" |bc)
if [[ $lla1 =~ $rekwh ]] ; then
echo $lla1 > /var/www/html/openWB/ramdisk/llas11
fi
lla2=$(echo $output | jq -r '.nrg[5]')
lla2=$(echo "scale=0;$lla2 / 10" |bc)
if [[ $lla2 =~ $re ]] ; then
lla2=$(echo "scale=1;$lla2 / 10" |bc)
if [[ $lla2 =~ $rekwh ]] ; then
echo $lla2 > /var/www/html/openWB/ramdisk/llas12
fi
lla3=$(echo $output | jq -r '.nrg[6]')
lla3=$(echo "scale=0;$lla3 / 10" |bc)
if [[ $lla3 =~ $re ]] ; then
lla3=$(echo "scale=1;$lla3 / 10" |bc)
if [[ $lla3 =~ $rekwh ]] ; then
echo $lla3 > /var/www/html/openWB/ramdisk/llas13
fi
llv1=$(echo $output | jq -r '.nrg[0]')
Expand All @@ -37,10 +44,39 @@ if [[ $? == "0" ]] ; then
echo $llv3 > /var/www/html/openWB/ramdisk/llvs13
fi
llkwh=$(echo $output | jq -r '.eto')
llkwh=$(echo "scale=3;$llkwh / 10" |bc)
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwhs1
llkwh=$(echo "scale=3;$llkwh / 10" |bc)
if [[ $goesimulationlp2 == "0" ]] ; then
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwhs1
fi
else
temp_kWhCounter_lp2=$(</var/www/html/openWB/ramdisk/temp_kWhCounter_lp2)
#simulation der Energiemenge während des ladens
#wenn die Dateien noch nicht da sind, werden sie angelegt. Simulation startet im nächsten Regelschritt.
if [ -f "/var/www/html/openWB/ramdisk/goe2watt0neg" ]; then
if [ -f "/var/www/html/openWB/ramdisk/goe2watt0pos" ]; then
python /var/www/html/openWB/runs/simcount.py $wattc goe2 goe2poskwh goe2negkwh
else
#Benutze den Zählerstand aus temp_kWhCounter_lp2 als Startwert für die Simulation
simenergy=$(echo "scale=0; $temp_kWhCounter_lp2*3600000/1" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/goe2watt0pos
fi
else
echo 0 > /var/www/html/openWB/ramdisk/goe2watt0neg
fi
#der ausgelesene Zählerstand wird ignoriert und stattdessen die Leistung aufintegriert
#Grund: der ausgelesene Zählerstand hat eine Auflösung von 1kWh -> zu ungenau in der Darstellung
if [ -f "/var/www/html/openWB/ramdisk/goe2poskwh" ]; then
simenergy=$(echo "scale=3; $(</var/www/html/openWB/ramdisk/goe2poskwh)/1000" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/llkwhs1
else
#Wenn die Simulation noch nicht gelaufen ist, nehme den Wert temp_kWhCounter_lp2
echo $temp_kWhCounter_lp2 > /var/www/html/openWB/ramdisk/llkwhs1
fi
fi



#car status 1 Ladestation bereit, kein Auto
#car status 2 Auto lädt
#car status 3 Warte auf Fahrzeug
Expand Down
54 changes: 45 additions & 9 deletions modules/goelp3/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,31 @@ rekwh='^[-+]?[0-9]+\.?[0-9]*$'

output=$(curl --connect-timeout $goetimeoutlp3 -s http://$goeiplp3/status)
if [[ $? == "0" ]] ; then
goecorrectionfactor=$(echo "scale=0;$goecorrectionfactorlp3 * 100000 /1" |bc)
watt=$(echo $output | jq -r '.nrg[11]')
watt=$(echo "scale=0;$watt * 10 /1" |bc)
if [[ $watt =~ $re ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuells2
if [[ $goesimulationlp1 == "0" ]] ; then
echo $watt > /var/www/html/openWB/ramdisk/llaktuells2
else
wattc=$((watt*$goecorrectionfactor/100000))
wattc=$(echo "scale=0;$wattc" |bc)
echo $wattc > /var/www/html/openWB/ramdisk/llaktuells2
fi
fi
lla1=$(echo $output | jq -r '.nrg[4]')
lla1=$(echo "scale=0;$lla1 / 10" |bc)
if [[ $lla1 =~ $re ]] ; then
lla1=$(echo "scale=1;$lla1 / 10" |bc)
if [[ $lla1 =~ $rekwh ]] ; then
echo $lla1 > /var/www/html/openWB/ramdisk/llas21
fi
lla2=$(echo $output | jq -r '.nrg[5]')
lla2=$(echo "scale=0;$lla2 / 10" |bc)
if [[ $lla2 =~ $re ]] ; then
lla2=$(echo "scale=1;$lla2 / 10" |bc)
if [[ $lla2 =~ $rekwh ]] ; then
echo $lla2 > /var/www/html/openWB/ramdisk/llas22
fi
lla3=$(echo $output | jq -r '.nrg[6]')
lla3=$(echo "scale=0;$lla3 / 10" |bc)
if [[ $lla3 =~ $re ]] ; then
lla3=$(echo "scale=1;$lla3 / 10" |bc)
if [[ $lla3 =~ $rekwh ]] ; then
echo $lla3 > /var/www/html/openWB/ramdisk/llas23
fi
llv1=$(echo $output | jq -r '.nrg[0]')
Expand All @@ -38,9 +45,38 @@ if [[ $? == "0" ]] ; then
fi
llkwh=$(echo $output | jq -r '.eto')
llkwh=$(echo "scale=3;$llkwh / 10" |bc)
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwhs2
if [[ $goesimulationlp3 == "0" ]] ; then
if [[ $llkwh =~ $rekwh ]] ; then
echo $llkwh > /var/www/html/openWB/ramdisk/llkwhs2
fi
else
temp_kWhCounter_lp3=$(</var/www/html/openWB/ramdisk/temp_kWhCounter_lp3)
#simulation der Energiemenge während des ladens
#wenn die Dateien noch nicht da sind, werden sie angelegt. Simulation startet im nächsten Regelschritt.
if [ -f "/var/www/html/openWB/ramdisk/goe3watt0neg" ]; then
if [ -f "/var/www/html/openWB/ramdisk/goe3watt0pos" ]; then
python /var/www/html/openWB/runs/simcount.py $wattc goe3 goe3poskwh goe3negkwh
else
#Benutze den Zählerstand aus temp_kWhCounter_lp3 als Startwert für die Simulation
simenergy=$(echo "scale=0; $temp_kWhCounter_lp3*3600000/1" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/goe3watt0pos
fi
else
echo 0 > /var/www/html/openWB/ramdisk/goe3watt0neg
fi
#der ausgelesene Zählerstand wird ignoriert und stattdessen die Leistung aufintegriert
#Grund: der ausgelesene Zählerstand hat eine Auflösung von 1kWh -> zu ungenau in der Darstellung
if [ -f "/var/www/html/openWB/ramdisk/goe2poskwh" ]; then
simenergy=$(echo "scale=3; $(</var/www/html/openWB/ramdisk/goe2poskwh)/1000" | bc)
echo $simenergy > /var/www/html/openWB/ramdisk/llkwhs2
else
#Wenn die Simulation noch nicht gelaufen ist, nehme den Wert temp_kWhCounter_lp3
echo $temp_kWhCounter_lp3 > /var/www/html/openWB/ramdisk/llkwhs2
fi
fi



#car status 1 Ladestation bereit, kein Auto
#car status 2 Auto lädt
#car status 3 Warte auf Fahrzeug
Expand Down
1 change: 1 addition & 0 deletions runs/initRamdisk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,7 @@ initRamdisk(){
for f in \
"pluggedladunglp${i}startkwh:openWB/lp/${i}/plugStartkWh:0" \
"manual_soc_lp${i}:openWB/lp/${i}/manualSoc:0" \
"temp_kWhCounter_lp${i}:openWB/lp/${i}/kWhCounter:0" \
"pluggedladungaktlp${i}:openWB/lp/${i}/pluggedladungakt:0" \
"lp${i}phasen::0" \
"lp${i}enabled::1" \
Expand Down
18 changes: 18 additions & 0 deletions runs/updateConfig.sh
Original file line number Diff line number Diff line change
Expand Up @@ -571,18 +571,36 @@ updateConfig(){
if ! grep -Fq "goetimeoutlp1=" $ConfigFile; then
echo "goetimeoutlp1=5" >> $ConfigFile
fi
if ! grep -Fq "goesimulationlp1=" $ConfigFile; then
echo "goesimulationlp1=0" >> $ConfigFile
fi
if ! grep -Fq "goecorrectionfactorlp1=" $ConfigFile; then
echo "goecorrectionfactorlp1=1" >> $ConfigFile
fi
if ! grep -Fq "goeiplp2=" $ConfigFile; then
echo "goeiplp2=192.168.0.15" >> $ConfigFile
fi
if ! grep -Fq "goetimeoutlp2=" $ConfigFile; then
echo "goetimeoutlp2=5" >> $ConfigFile
fi
if ! grep -Fq "goesimulationlp2=" $ConfigFile; then
echo "goesimulationlp2=0" >> $ConfigFile
fi
if ! grep -Fq "goecorrectionfactorlp2=" $ConfigFile; then
echo "goecorrectionfactorlp2=1" >> $ConfigFile
fi
if ! grep -Fq "goeiplp3=" $ConfigFile; then
echo "goeiplp3=192.168.0.15" >> $ConfigFile
fi
if ! grep -Fq "goetimeoutlp3=" $ConfigFile; then
echo "goetimeoutlp3=5" >> $ConfigFile
fi
if ! grep -Fq "goesimulationlp3=" $ConfigFile; then
echo "goesimulationlp3=0" >> $ConfigFile
fi
if ! grep -Fq "goecorrectionfactorlp3=" $ConfigFile; then
echo "goecorrectionfactorlp3=1" >> $ConfigFile
fi
if ! grep -Fq "pushbenachrichtigung=" $ConfigFile; then
echo "pushbenachrichtigung=0" >> $ConfigFile
fi
Expand Down
Loading