Skip to content

Commit

Permalink
SOC Wochenendemodus hinzugefuegt
Browse files Browse the repository at this point in the history
  • Loading branch information
snaptec committed Apr 19, 2018
1 parent bf42b98 commit fbe016b
Show file tree
Hide file tree
Showing 15 changed files with 262 additions and 25 deletions.
15 changes: 15 additions & 0 deletions modules/soc_http1/main.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

#Soc from http
. /var/www/html/openWB/openwb.conf

hsoc=$(curl --connect-timeout 15 -s $hsocip1 | cut -f1 -d".")

#wenn SOC nicht verfügbar (keine Antwort) ersetze leeren Wert durch eine 0
re='^[0-9]+$'
if ! [[ $hsoc =~ $re ]] ; then
hsoc="0"
fi
echo $hsoc
#zur weiteren verwendung im webinterface
echo $hsoc > /var/www/html/openWB/ramdisk/soc1
14 changes: 8 additions & 6 deletions openwb.conf
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ ladeleistungs1modul=sdm630modbuslls1
#lastmanagement
lastmanagement=1
lastmmaxw=15000

lastmaxap1=32
lastmaxap2=32
lastmaxap3=32


#################################################################
Expand Down Expand Up @@ -105,9 +107,9 @@ sdm630modbuslllanip=10.20.0.180
# wird kein SOC ausgelesen Wert auf "none" setzen
# Mögliche Wete: none,soc_http
socmodul=soc_http

socmodul1=none
hsocip=10.0.0.110/soc.txt

hsocip1=10.0.0.110/soc.txt


#Nachtlademodus
Expand All @@ -117,12 +119,12 @@ nachtladen=1
# Ladeleistung für die Nacht (Wert 6-32) wobei 6 = 6A und 32 = 32A maximale WB Leistung ist
nachtll=26
# Ab wieviel Uhr abends soll geladen werden? (17-23 Uhr möglich, angabe in Stunden)
nachtladenabuhr=20
nachtladenabuhr=19
# Bis wieviel Uhr morgens soll geladen werden? (01-10 Uhr möglich, angabe in Stunden)
nachtladenbisuhr=6
nachtladenbisuhr=7
# Sofern Soc ausgelesen wird, bis wieviel % SOC laden?
nachtsoc=65

nachtsoc1=45

#Uberschussregelung
# Mindestuberschuss in Watt im Haus damit die Ladung gestartet wird
Expand Down
2 changes: 1 addition & 1 deletion ramdisk/bezugkwh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7426629.7
7443291.800000001
2 changes: 1 addition & 1 deletion ramdisk/einspeisungkwh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2101476.3000000003
2124539.2
2 changes: 1 addition & 1 deletion ramdisk/llkwh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
222.68099975585938
230.05299377441406
2 changes: 1 addition & 1 deletion ramdisk/pvkwh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4940179
4977779
2 changes: 1 addition & 1 deletion ramdisk/pvwatt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
105
641
2 changes: 1 addition & 1 deletion ramdisk/soc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
57
58
2 changes: 1 addition & 1 deletion ramdisk/wattbezug
Original file line number Diff line number Diff line change
@@ -1 +1 @@
961
1180
69 changes: 60 additions & 9 deletions regel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,48 +106,100 @@ fi
date=$(date)
H=$(date +%H)


llalt=$(cat /var/www/html/openWB/ramdisk/llsoll)
#########################################
#Regelautomatiken


########################
# Sofort Laden
if grep -q 0 "/var/www/html/openWB/ramdisk/lademodus"; then

if [[ $lastmanagement == "1" ]]; then

if grep -q 0 "/var/www/html/openWB/ramdisk/ladestatus"; then
runs/$sofortll.sh
if [[ $debug == "1" ]]; then
echo starte sofort Ladeleistung von $sofortll aus
echo starte sofort Ladeleistung von $sofortll aus
fi

exit 0
fi
if grep -q 1 "/var/www/html/openWB/ramdisk/ladestatus"; then
if grep -q $sofortll "/var/www/html/openWB/ramdisk/llsoll"; then
exit 0
else
runs/$sofortll.sh
if [[ $debug == "1" ]]; then
echo aendere sofort Ladeleistung auf $sofortll
fi
exit 0
fi
fi
# begrenzungap1=$(($lastmaxap1 - 6 ))
# begrenzungap2=$(($lastmaxap2 - 6 ))
# begrenzungap3=$(($lastmaxap3 - 6 ))
#
# if grep -q 0 "/var/www/html/openWB/ramdisk/ladestatus"; then
# runs/$minimalstromstaerke.sh
# if [[ $debug == "1" ]]; then
# echo Starte sofort Ladeleistung mit Lastmanagement von $minimalstromstaerke aus
# fi
# exit 0
# fi
# if grep -q 1 "/var/www/html/openWB/ramdisk/ladestatus"; then
# if [[ $lla1 > "2" ]] || [[ $lla2 > "2" ]] || [[ $lla3 > "2" ]]; then
# if (( $llalt < $sofortll )); then
# if ( $llalt >
# llneu=$((llalt + 1 ))
# runs/$llneu.sh
# fi
#
#
#
# fi


else
if grep -q 0 "/var/www/html/openWB/ramdisk/ladestatus"; then
runs/$sofortll.sh
if [[ $debug == "1" ]]; then
echo aendere sofort Ladeleistung auf $sofortll
echo starte sofort Ladeleistung von $sofortll aus
fi

exit 0
fi
if grep -q 1 "/var/www/html/openWB/ramdisk/ladestatus"; then
if grep -q $sofortll "/var/www/html/openWB/ramdisk/llsoll"; then
exit 0
else
runs/$sofortll.sh
if [[ $debug == "1" ]]; then
echo aendere sofort Ladeleistung auf $sofortll
fi
exit 0
fi
fi
fi


fi

####################
# Nachtladung bzw. Ladung bis SOC x% nachts von x bis x Uhr
if [[ $nachtladen == "1" ]]; then
if (( $nachtladenabuhr <= 10#$H && 10#$H <= 24 )) || (( 0 <= 10#$H && 10#$H <= $nachtladenbisuhr )); then
dayoftheweek=$(date +%w)
if [ $dayoftheweek -ge 0 -a $dayoftheweek -le 4 ]; then

diesersoc=$nachtsoc
else
diesersoc=$nachtsoc1
fi


if [[ $socmodul != "none" ]]; then
if [[ $debug == "1" ]]; then
echo nachtladen mit socmodul $socmodul
fi

if (( $soc <= $nachtsoc )); then
if (( $soc <= $diesersoc )); then
if grep -q 0 "/var/www/html/openWB/ramdisk/ladestatus"; then
runs/$nachtll.sh
if [[ $debug == "1" ]]; then
Expand Down Expand Up @@ -182,7 +234,6 @@ if [[ $nachtladen == "1" ]]; then
fi
#######################
#Ladestromstarke berechnen
llalt=$(cat /var/www/html/openWB/ramdisk/llsoll)
llphasentest=$(expr $llalt - "3")

#Anzahl genutzter Phasen ermitteln, wenn ladestrom kleiner 3 (nicht vorhanden) nutze den letzten bekannten wert
Expand Down
1 change: 1 addition & 0 deletions runs/atreboot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ touch /var/www/html/openWB/ramdisk/llaktuell
touch /var/www/html/openWB/ramdisk/llaktuells1
touch /var/www/html/openWB/ramdisk/pvwatt
touch /var/www/html/openWB/ramdisk/soc
touch /var/www/html/openWB/ramdisk/soc1
touch /var/www/html/openWB/ramdisk/lla1
touch /var/www/html/openWB/ramdisk/lla2
touch /var/www/html/openWB/ramdisk/lla3
Expand Down
9 changes: 9 additions & 0 deletions runs/update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ if ! grep -Fq "wr_http_w_url=" /var/www/html/openwb.conf
then
echo "wr_http_w_url=http://192.168.0.17/pvwatt.txt" >> /var/www/html/openWB/openwb.conf
fi
if ! grep -Fq "hsocip1=" /var/www/html/openwb.conf
then
echo "hsocip1=http://10.0.0.110/soc.txt" >> /var/www/html/openWB/openwb.conf
fi
if ! grep -Fq "socmodul1=" /var/www/html/openwb.conf
then
echo "socmodul1=soc_http1" >> /var/www/html/openWB/openwb.conf
fi

if ! grep -Fq "wr_http_kwh_url=" /var/www/html/openwb.conf
then
echo "wr_http_kwh_url=http://192.168.0.17/pvwh.txt" >> /var/www/html/openWB/openwb.conf
Expand Down
2 changes: 1 addition & 1 deletion web/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ function getfile() {
</div> -->
<div class="row">
<div class="col-xs-4">
Ver0.26
Ver0.27
</div>
<div class="col-xs-4 text-center">
<a href="http://openwb.de">www.openwb.de</a>
Expand Down
95 changes: 93 additions & 2 deletions web/settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,12 @@
if(strpos($line, "hsocip=") !== false) {
list(, $hsocipold) = explode("=", $line);
}
if(strpos($line, "socmodul1=") !== false) {
list(, $socmodul1old) = explode("=", $line);
}
if(strpos($line, "hsocip1=") !== false) {
list(, $hsocip1old) = explode("=", $line);
}
if(strpos($line, "nachtladen=") !== false) {
list(, $nachtladenold) = explode("=", $line);
}
Expand Down Expand Up @@ -193,6 +199,9 @@
if(strpos($line, "nachtsoc=") !== false) {
list(, $nachtsocold) = explode("=", $line);
}
if(strpos($line, "nachtsoc1=") !== false) {
list(, $nachtsoc1old) = explode("=", $line);
}
if(strpos($line, "mindestuberschuss=") !== false) {
list(, $mindestuberschussold) = explode("=", $line);
}
Expand All @@ -202,6 +211,16 @@
if(strpos($line, "ladeleistungs1modul=") !== false) {
list(, $ladeleistungs1modulold) = explode("=", $line);
}
if(strpos($line, "lastmaxap1=") !== false) {
list(, $lastmaxap1old) = explode("=", $line);
}
if(strpos($line, "lastmaxap2=") !== false) {
list(, $lastmaxap2old) = explode("=", $line);
}
if(strpos($line, "lastmaxap3=") !== false) {
list(, $lastmaxap3old) = explode("=", $line);
}

}


Expand Down Expand Up @@ -365,12 +384,19 @@
Bis wann morgens geladen werden soll<br><br>
</div>
<div class="row">
<b><label for="nachtsoc">Nacht SOC:</label></b>
<b><label for="nachtsoc">Nacht SOC Sonntag bis Donnerstag:</label></b>
<input type="text" name="nachtsoc" id="nachtsoc" value="<?php echo $nachtsocold ?>"><br>
</div>
<div class="row">
Gültiger Wert 1-99. Wenn SOC Modul vorhanden wird Nachts bis xx% SOC geladen in dem angegebenen Zeitfenster.<br><br>
</div>
<div class="row">
<b><label for="nachtsoc1">Nacht SOC Freitag bis Sonntag:</label></b>
<input type="text" name="nachtsoc1" id="nachtsoc1" value="<?php echo $nachtsoc1old ?>"><br>
</div>
<div class="row">
Gültiger Wert 1-99. Wenn SOC Modul vorhanden wird Nachts bis xx% SOC geladen in dem angegebenen Zeitfenster.<br><br>
</div>
</div>
<script>
$(function() {
Expand Down Expand Up @@ -494,7 +520,7 @@
});
});
</script>
<div class="row">
<div class="row"><hr>
<h4>Lastmanagement</h4>
</div>
<div class="row">
Expand All @@ -517,7 +543,25 @@
</div>
<div class="row">
Gültiger Wert 0 bis 44000. Definiert die maximalen Watt die Master & Slave WB gleichzeitig entnehmen dürfen.<br> Wird der Wert überschritten, werden beide WB gleichmäßig runtergeregelt !!noch nicht implementiert, Max Stromstärke gilt pro WB!!<br><br>
</div>
<div class="row">
<b><label for="lastmaxap1">Lastmanagement Max Ampere Phase 1:</label></b>
<input type="text" name="lastmaxap1" id="lastmaxap1" value="<?php echo $lastmaxap1old ?>"><br>
</div>
<div class="row">
<b><label for="lastmaxap2">Lastmanagement Max Ampere Phase 2:</label></b>
<input type="text" name="lastmaxap2" id="lastmaxap2" value="<?php echo $lastmaxap2old ?>"><br>
</div>
<div class="row">
<b><label for="lastmaxap3">Lastmanagement Max Ampere Phase 3:</label></b>
<input type="text" name="lastmaxap3" id="lastmaxap3" value="<?php echo $lastmaxap3old ?>"><br>
</div>
<div class="row">
Gültige Werte 12-64. Definiert die erlaubte Stromstärke beider Wallboxen im Sofort Laden Modus, noch nicht implementiert!<br>
</div>



<div class="row">
<h4>Slave1 WB</h4>
</div>
Expand Down Expand Up @@ -567,6 +611,53 @@
<div class="row bg-info">
Gültige Werte IP. IP Adresse des Modbus/Lan Konverter. Vermutlich gleich der IP des SDM Zählers in der Slave WB.<br><br>
</div>
<div class="row">
<h5> SOC Module </h5>
</div>
<div class="row">
<b><label for="socmodul1">SOC Modul für zweite WB:</label></b>
<select type="text" name="socmodul1" id="socmodul1">
<option <?php if($socmodul1old == "none\n") echo selected ?> value="none">Nicht vorhanden</option>
<option <?php if($socmodul1old == "soc_http1\n") echo selected ?> value="soc_http1">soc_http</option>
</select>
</div>
<div id="socmnone1">
<br>
</div>
<div id="socmhttp1">
<div class="row">
Gültige Werte none, soc_http. Wenn nicht vorhanden auf none setzen!<br><br>
</div>
<div class="row">
<b><label for="hsocip1">SOC zweite WB Http Abfrage URL:</label></b>
<input type="text" name="hsocip1" id="hsocip1" value="<?php echo $hsocip1old ?>"><br>
</div>
<div class="row">
Gültige Werte none, "url". URL für die Abfrage des Soc der zweiten WB, Antwort muss der reine Zahlenwert sein.<br><br>
</div>
</div>
<script>
$(function() {
if($('#socmodul1').val() == 'none') {
$('#socmnone1').show();
$('#socmhttp1').hide();
} else {
$('#socmnone1').hide();
$('#socmhttp1').show();
}

$('#socmodul1').change(function(){
if($('#socmodul1').val() == 'none') {
$('#socmnone1').show();
$('#socmhttp1').hide();
} else {
$('#socmnone1').hide();
$('#socmhttp1').show();
}
});
});
</script>

</div>
<script>
$(function() {
Expand Down
Loading

0 comments on commit fbe016b

Please sign in to comment.