forked from snaptec/openWB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
minundpv.sh
58 lines (53 loc) · 1.59 KB
/
minundpv.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
########################
#Min Ladung + PV Uberschussregelung lademodus 1
minundpvlademodus(){
maxll=($llalt $llalts1 $llalts2 $llaltlp4 $llaltlp5 $llaltlp6 $llaltlp7 $llaltlp8)
maxllvar=0
for v in "${maxll[@]}"; do
if (( v > maxllvar )); then maxllvar=$v; fi;
done
llalt=$maxllvar
if (( speichersoc >= speichersocminpv )); then
if (( ladestatus == 0 )); then
runs/set-current.sh $minimalampv all
echo "$date alle Ladepunkte, Lademodus Min und PV. Starte Ladung mit $minimalampv Ampere" >> ramdisk/ladestatus.log
if [[ $debug == "1" ]]; then
echo "starte min + pv ladung mit $minimalampv"
fi
else
if (( ladeleistung < 500 )); then
llneu=$minimalampv
#runs/set-current.sh $llneu all
else
if (( uberschuss < pvregelungm )); then
if (( llalt > minimalampv )); then
#llneu=$(( llalt + ( uberschuss / 230 / anzahlphasen)))
llneu=$(( llalt - 1 + ( (uberschuss - pvregelungm) / 230 / anzahlphasen)))
#runs/set-current.sh $llneu all
else
llneu=$minimalampv
#runs/set-current.sh $llneu all
fi
else
llneu=$llalt
fi
if (( uberschuss > schaltschwelle )); then
llneu=$(( llalt + ( uberschuss / 230 / anzahlphasen)))
fi
fi
fi
if (( llneu < minimalampv )); then
llneu=$minimalampv
fi
if (( llneu > maximalstromstaerke )); then
llneu=$maximalstromstaerke
fi
runs/set-current.sh $llneu all
if (( llalt != llneu )); then
echo "$date alle Ladepunkte, Lademodus Min und PV. Ändere Ladeleistung auf $llneu Ampere" >> ramdisk/ladestatus.log
fi
else
runs/set-current.sh 0 all
fi
}