11.01.2017, 23:28
Wie schon erwähnt, lege ich Wert auf Stromeinsparungen. Dabei ist mir aufgefallen, dass die Festplattenabschaltung nicht richtig funktioniert.
Bei den Festplatten-Einstellungen im EasyPortal kann man die Abschaltzeiten angeben ("nicht abschalten", "5 Minuten", etc.). Der angegebene Wert in Minuten wird aber nicht richtig umgesetzt, er wird nämlich als Sekunden interpretiert. Statt nach 5 Minuten geht die Festplatte nach 5 Sekunden in den Standby. Wenn es dumm läuft, kann das nachteilige Auswirkungen auf die Lebensdauer der Festplatte haben. Insbesondere, wenn mal als Systemplatte eine SSD hat, und die Videodaten auf einer Festplatte.
Der Fehler liegt in einer inkonsistenten Verwendung der Variablen HDDSPINDOWNTIME. Nebenbemerkung: Eine weitere Inkonsistenz habe ich im Post Inkonsistente Variablennamen für Wakeup/Poweroff-Einstellungen beschrieben.
/var/lib/vdr/sysconfig
/etc/vdr/easyvdr-power-save.conf
/usr/lib/vdr/easyvdr-power-save
Für die Abschaltung wird ein Wert in Sekunden erwartet. Die Konfigurationsdatei easyvdr-power-save.conf wird gar nicht benutzt, sondern sysconfig.
Das Setzen der Werte geschieht in /var/www/systemeinstellungen.php (zuständig für Web-Frontend) oder über das VDR Menü definiert in /var/lib/vdr/plugins/setup/vdr-setup.xml.
So wie es ausschaut, passt man wohl am besten das Skript an und interpretiert den Wert der Variablen als Minuten. Also sowas wie:
Bliebe noch das Zusammenspiel mit easyvdr-power-save.conf.
Bei den Festplatten-Einstellungen im EasyPortal kann man die Abschaltzeiten angeben ("nicht abschalten", "5 Minuten", etc.). Der angegebene Wert in Minuten wird aber nicht richtig umgesetzt, er wird nämlich als Sekunden interpretiert. Statt nach 5 Minuten geht die Festplatte nach 5 Sekunden in den Standby. Wenn es dumm läuft, kann das nachteilige Auswirkungen auf die Lebensdauer der Festplatte haben. Insbesondere, wenn mal als Systemplatte eine SSD hat, und die Videodaten auf einer Festplatte.
Der Fehler liegt in einer inkonsistenten Verwendung der Variablen HDDSPINDOWNTIME. Nebenbemerkung: Eine weitere Inkonsistenz habe ich im Post Inkonsistente Variablennamen für Wakeup/Poweroff-Einstellungen beschrieben.
/var/lib/vdr/sysconfig
Code:
HDDSPINDOWNTIME="5 Minuten"
HDDSPINDOWNDISKS="/dev/sdb"
/etc/vdr/easyvdr-power-save.conf
Code:
# Festplatten abschalten
#Geräte Namen /dev/sdx /dev/sdy
HDDSPINDOWNDISK="/dev/sda /dev/sdb"
#0 Platte läuft immer oder Sekunden bis zu Standby der Platte
HDDSPINDOWNTIME=900
/usr/lib/vdr/easyvdr-power-save
Code:
###############################################
#Festplatten parken
################### Easyvdr Systemconf einlesen ?
if [ -e /usr/lib/vdr/easyvdr-config-loader ];then
. /usr/lib/vdr/easyvdr-config-loader ## Easyvdr conf einlesen
if [ "$HDDSPINDOWNTIME" != "nicht abschalten" ];then
HDDSPINDOWNTIME=$(echo $HDDSPINDOWNTIME | cut -d" " -f1)
for DISK in $HDDSPINDOWNDISK
do
$LOGGER "set DISK: $DISK sleep timer $HDDSPINDOWNTIME s"
hdparm -S $(($HDDSPINDOWNTIME/5)) $DISK
done
fi
fi
Das Setzen der Werte geschieht in /var/www/systemeinstellungen.php (zuständig für Web-Frontend) oder über das VDR Menü definiert in /var/lib/vdr/plugins/setup/vdr-setup.xml.
So wie es ausschaut, passt man wohl am besten das Skript an und interpretiert den Wert der Variablen als Minuten. Also sowas wie:
Code:
HDDSPINDOWNTIME=$(echo $HDDSPINDOWNTIME | cut -d" " -f1)
HDDSPINDOWNSEC=$((HDDSPINDOWNSEC*12))
for DISK in $HDDSPINDOWNDISK
do
$LOGGER "set DISK: $DISK sleep timer $HDDSPINDOWNSEC s"
hdparm -S $HDDSPINDOWNSEC $DISK
done