5 e.open.script
Mit dem e.open.script bieten wir Ihnen die Möglichkeit ein eigenes Shell-Skript auf dem e.manager laufen zu lassen. Gedacht ist es um eigene Regel für die Eigenverbrauchssteuerung zu erstellen.
Das Skript wird nachdem der Logger hochgefahren ist gestartet.
ACHTUNG!!!
Mit dem Skript bieten wir Ihnen eine Vielzahl von Möglichkeiten an auf das Gerät direkt zuzugreifen. Eine fehlerhaftes Skript kann die Funktion des Datenloggers beeinträchtigen.
5.1 GET
Mit dem GET Befehl erhalten Sie den aktuellen Messwert aller angeschlossenen Geräte.
Folgende Daten können ausgelesen werden.
Global:
POWER=Aktuell eingestellte Leistung in %
COSPHI=Aktuell eingestellte Blindleistung
PV=Summe aller PV-Wechselrichter
Device (Gerät):
EDAY=Tagesertrag
ETOTAL=Gesamtertrag
Channel (Kanal):
Abhängig vom Devices. Eine Übersicht aller verfügbaren Channels finden Sie unter Punkt 3.3. Welche Channels bei dem Grät aktiv sind finden Sie auf der Webseite unter Status Geräte => Details
5.1.1 Abfrage
/flash/logger/bin/get.sh [Name|ID].Channel[.Nr]
Das Gerät können SIe über den Namen oder die ID ansprechen. Gefolgt von dem Channel. Die Nummer ist optional und muss nur angegeben werden, wenn Sie z.B. UDC.2 auslesen wollen.
5.1.2 Antwort
Als Antwort erhalten Sie eine Float Zahl als ASCII String.
5.1.3 Beispiele
Aktuelle Einspeiseleistung auslesen (Einspeisezähler heißt: Einspeisung):
DATA=/flash/logger/bin/get.sh Einspeisung.EREST
Aktuelle Leistungsreduzierung auslesen:
DATA=/flash/logger/bin/get.sh POWER
Aktuelle DC Spannung am 1. MPP von WR 1 auslesen:
DATA=/flash/logger/bin/get.sh WR+1.UDC.1
Tagesertrag von WR 1 auslesen:
DATA=/flash/logger/bin/get.sh WR+1.EDAY
5.2 SET
Mit dem SET Befehl können Sie Relais schalten und Einfluss auf die Leistungsreduzierung nehmen.
5.2.1 Senden
/flash/logger/bin/set.sh [name|id]=[0|1]
Das Relais können Sie über den Namen oder über die ID ansprechen. Als Werte können Sie für „Aus“ eine „0“ bzw. für „Ein“ eine „1“ übergeben.
5.2.2 Antwort
Bei Erfolg=0
Bei Fehlern=1
5.2.3 Beispiele
Digital Out 1 ausschalten:
DATA=/flash/logger/bin/set.sh Digital-Out+1=0
Leistungsreduzierung auf 40%:
DATA=/flash/logger/bin/set.sh POWER=40
5.3 Hilfe
5.3.1 Code Schnipsel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<span style="line-height: 1.5;">#Endlosschleife, Relais alle 10 Sekunden ein- und ausschalten while true d</span>o #Status des Relais auslesen DATA=`/flash/logger/bin/get.sh Digital-Out+1.STATUS` echo $DATA #Ausgabe SOLL=1; #Vergleich if ! echo "$DATA $SOLL - p" | dc | grep > /dev/null ^-; then # Data ist größer gleich Soll echo "$DATA >= $SOLL" echo "AUSSCHALTEN" # Relais auschalten /flash/logger/bin/set.sh Digital-Out+1=0 else echo "$DATA < $SOLL" echo "ANSCHALTEN" # Relais einschalten /flash/logger/bin/set.sh Digital-Out+1=1 fi sleep 10 done |
Relais 1 schaltet, wenn eine Leistungsbegrenzung kleiner als 100% anliegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#Endlosschleife, Leistungsreduzierung alle 10 Sekunden pruefen while true do #POWER auslesen DATA=`/flash/logger/bin/get.sh POWER` if [ $DATA == 100 ] then # Relais auschalten /flash/logger/bin/set.sh Relais+1=0 else # Relais einschalten /flash/logger/bin/set.sh Relais+1=1 fi sleep 10 done |
Rückmeldung der Leistungsreduzierung. Mit externer Relaiskarte. Die Relais werden in diesem Beispiel mit back100, back60, back30, back0 benannt.
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 |
#Endlosschleife, Leistungsreduzierung alle 5 Sekunden pruefen while true do #POWER auslesen DATA=`/flash/logger/bin/get.sh POWER` if [ $DATA == 100 ] then /flash/logger/bin/set.sh back100=1 /flash/logger/bin/set.sh back60=0 /flash/logger/bin/set.sh back30=0 /flash/logger/bin/set.sh back0=0 elif [ $DATA == 60 ] then /flash/logger/bin/set.sh back100=0 /flash/logger/bin/set.sh back60=1 /flash/logger/bin/set.sh back30=0 /flash/logger/bin/set.sh back0=0 elif [ $DATA == 30 ] then /flash/logger/bin/set.sh back100=0 /flash/logger/bin/set.sh back60=0 /flash/logger/bin/set.sh back30=1 /flash/logger/bin/set.sh back0=0 else /flash/logger/bin/set.sh back100=0 /flash/logger/bin/set.sh back60=0 /flash/logger/bin/set.sh back30=0 /flash/logger/bin/set.sh back0=1 fi sleep 5 done |
5.3.2 Links
http://de.wikipedia.org/wiki/Dc_(Unix)
http://openbook.galileocomputing.de/linux/linux_kap07_001.html