Hallo,
ich hatte ja hier beschrieben, wie wir kurz vor dem Runterfahren den Zeitpunkt des nächsten Timers in unser 2x16 IMON.VFD schreiben und dort auch bei "ausgeschaltetem" HTPC - per 5V Standby - anzeigen lassen.
Wir würden das gerne um den Namen der nächsten Aufnahme ergänzen. Doch leider klappt das nicht ganz so wie erhofft.
Das Batchskript - von der command line aufgerufen - funktioniert - wenn man LCDd vorher gekillt hat:
/opt/scripts/printnexttimeronlcd.sh
#!/bin/bash
PrintNextTimerOnLCD ()
{
LCDNextTimerNumber=`svdrpsend.pl next | grep 250 | cut -d " " -f2`;
LCDStartH=`svdrpsend.pl next | grep 250 | cut -d" " -f6 | cut -d ":" -f1`
LCDStartM=`svdrpsend.pl next | grep 250 | cut -d" " -f6 | cut -d ":" -f2`
LCDDay=`svdrpsend.pl next | grep 250 | cut -d" " -f5`
LCDMonth=`svdrpsend.pl next | grep 250 | cut -d" " -f4`
LCDName=`svdrpsend.pl lstt $LCDNextTimerNumber | grep 250 | cut -d" " -f3 | cut -d":" -f8`
LCDText1="$LCDMonth $LCDDay @ $LCDStartH:$LCDStartM................"
LCDText2="$LCDName................"
echo -n "${LCDText1:0:16}${LCDText2:0:16}" > /dev/lcd0
}
PrintNextTimerOnLCD
Alles anzeigen
Idee war nun, das als ausführbares Skript aus der poweroff.pl aufzurufen, und zwar hier und so (alte Version noch auskommentiert dringelassen):
if($NextStart) {
dprint("Programming wakeup at ", strftime("%d.%m.%Y %H:%M:%S", localtime($NextStart)));
### LCD
# my $LCDText = strftime("%d.%m.%Y %H:%M", localtime($NextStart));
# $LCDText = "VDRs Next Start:$LCDText";
system(sprintf("killall LCDd"));
system(sprintf("sleep 3"));
# system(sprintf("echo -n '$LCDText' >/dev/lcd0"));
system(sprintf("/opt/scripts/printnexttimeronlcd.sh"));
if($METHOD == 0) {
Alles anzeigen
Leider wird aber nur der folgende Text ohne Timerinfos ausgegeben - alle Variablen im bash script bleiben also leer:
@ : ...................
..................
Es hat den Anschein, als ob svdrp schon nicht mehr antworten würde.
Hat jemand ne Idee, wie man das korrigieren könnte? Wir wären sehr dankbar...
VG,
Marcus