28 04 2016
Linux Prozesse pausieren/fortfahren je nach produzierter Photovoltaik Sonnenenergie – Solar PV Controller KOSTAL PIKO 5.5
TL;DR
Aktuell produzierte Watt von der PV Anlage (KOSTAL PIKO 5.5 Wechselrichter) auslesen und anhand der Werte Linux Prozesse steuern. Pause/Resume, bei GPGPU Servern ist der Wattverbrauch weitgehend frei steuerbar indem man die MHz Clock Speeds der GPU’s entsprechend anpasst.
Langversion:
Letztes Jahr (2015) hatte ich einen sehr ressourcenintensiven Serverprozess, der aber nicht rund um die Uhr laufen muss. Da wir seit 2013 eine PV Anlage auf dem Dach haben, und der Wechselrichter eine Weboberfläche bietet, drängte sich der Gedanke auf einfach die Watt-Werte vom PV Controller auszulesen und abhängig davon meine Linux-Prozesse zu steuern. Das ganze wird minütlich vom Cronjob aufgerufen und klappte super. Unter Linux kann man die aktuell produzierten WATT der KOSTAL Photovoltaik-Anlage wie folgt auslesen, wobei “myPowerIntensiveProgram” ein Programm ist, welches z.B. unter 500 Watt pausiert werden soll, und über 500 Watt weiterlaufen soll. Script ist schneller Eigenbau, Anpassungen für andere Anlagen wie z.B. IP-Adresse, Username/Kennwort, usw. sind entsprechend vorzunehmen.
#!/bin/bash # find process PID PID=$(pgrep myPowerIntensiveProgram) wget -q http://192.168.1.10/ --http-user=BENUTZER --http-passwd=KENNWORT -O /tmp/pv.txt watt=$(grep "aktuell</td>" -A 2 /tmp/pv.txt | grep -v "aktuell" | cut -d '<' -f 1 | tr -d ' \t\n\r\f' | xargs | tr -d " " | tr -d "x x x") datestr=$(date +"%d-%m-%y %H:%M") echo -n "${datestr} - PV power: ${watt} W, " echo "${datestr} - PV power: ${watt} W, " >> /root/pvcontroller.log if (( $watt >= 500 )); then echo "Running ..." # prozess aufwecken ... kill -cont $PID else echo "Pausing ..." # prozess pausieren kill -stop $PID fi
IPTables Overview Check Email DNS blacklists (Realtime blacklist, DNSBL or RBL)
Comments are currently closed.