Allgemein
Startseite
über VDR
Erfahrungsbericht

Projekt VDR
Gehäuse
Frontplatte
Display
Fernbedienung
TV Karten
USB
Brenner
Festplatte
Lüfter
sonstiges

Software
Distribution
Plugins/Patches
Scripte
Configs
Screenshoots

Kosten
Teileliste
sonstige

Website
Zugriffsstatistik
Disclaimer


eigene Scripte unserer VDR`s



Auf dieser Seite findet ihr ein paar Scripte die ich mir selber für meinen VDR geschrieben haben.


Das VDR Startscript welches alle benötigten Dienste startet und die Module bei bedarf neu laden tut.
/etc/init.d/vdr: Download (bzip2 gepackt)
 #!/bin/sh
#Autor: Zyrusthc
#File: /etc/init.d/vdr
#LastModifiyDate: 04.03.2009
#VDR-1

VDRSRCPATH="/usr/src/vdr-1.4.7"
VDRLOG="/var/log/VDR.log"
VDRPIDFILE="/var/run/VDR.run"
VDRLOOPPIDFILE="/var/run/VDR-loop.run"
LIRCDPIDFILE="/var/run/lircd.run"

CONFIGDIR="/video/vdrconfig"
RECORDDIR="/video/@AUFNAHMEN"

DISPLAY_START_SCRIPT="/usr/local/bin/vdr-start-pic.sh"
DISPLAY_STOP_SCRIPT="/usr/local/bin/vdr-stop-pic.sh"

####################################################################
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

LANG=de_DE.iso8859-1 LC_CTYPE=de_DE.iso8859-1

case "$1" in
fork)
cd $VDRSRCPATH
echo -e "\033[1m\033[33mVDR starten ...\033[0m"
while [ true ]; do
./vdr \
-P"graphlcd -c $CONFIGDIR/plugins/graphlcd/graphlcd.conf -d serdisp" \
-P"remote --lirc=/dev/lircd" \
-P"message" \
-P text2skin \
-P epgsearch \
-P"dvd --dvd=/dev/hdc" \
-P"burn --dvd=/dev/hdc --iso=/video/Temp-iso --tempdir=/video/Temp-files --datadir=/video/Temp-data" \
-P"mplayer -m $CONFIGDIR/plugins/mp3/mount.sh -M $CONFIGDIR/plugins/mplayer/mplayer.sh -S mplayer" \
-P"mp3 -m $CONFIGDIR/plugins/mp3/mount.sh -n $CONFIGDIR/plugins/mp3/network.sh -S mp3" \
-P"image --config=image --convert=$CONFIGDIR/plugins/image/imageplugin.sh --mount=$CONFIGDIR/plugins/image/mount.sh" \
-P digicam \
-P"osdpip" \
-P"cdda --device=/dev/hdc" \
-P"sysinfo" \
-P femon \
-P wirbelscan \
-P osdteletext \
-P filebrowser \
-P submenu \
-P games \
-P zaphistory \
-P"snapshot snapshot.DestDir=/video/@SCREENSHOTS" \
-P music -P"picselshow" -P coverviewer \
-P span \
-P"vdrrip -d /dev/hdc" \
-P beep \
-P"weatherng --data=/video/vdrconfig/plugins/weatherng --script=/video/vdrconfig/plugins/weatherng --images=/video/vdrconfig/plugins/weatherng/hqimages" \
-P"xxvautotimer --xxvconfigfile=/etc/xxv" \
-P"control -p 23" \
-P"devstatus" \
-c $CONFIGDIR -v $RECORDDIR --log=2 > $VDRLOG 2> $VDRLOG &
echo $! > $VDRPIDFILE

wait
done
;;

start)
echo -e "\033[1m\033[33mLineIn aktivieren...\033[0m"
amixer set 'Line' on > /dev/null 2> /dev/null

echo -e "\033[1m\033[33mDisplay Startanimation ausgeben...\033[0m"
SHOWPICTEST=$(ps aux | grep showpic)
if [ "$SHOWPICTEST" ]; then
sleep 5
$DISPLAY_START_SCRIPT
else
$DISPLAY_START_SCRIPT
fi

echo -e "\033[1m\033[33mSerialport konfigurieren und lirc starten...\033[0m"
setserial /dev/ttyS0 uart none
setserial /dev/ttyS1 uart none
modprobe lirc_serial

lircd --driver=default --device=/dev/lirc0 --nodaemon > /dev/null 2> /dev/null&
echo $! > $LIRCDPIDFILE

sleep 1
$0 fork &
echo $! > $VDRLOOPPIDFILE
echo -e "\033[1m\033[32mFERTIG!\033[0m"
;;

stop)
echo -e "\033[1m\033[31mlirc stoppen... VDR und dessen Restart-Schleife stoppen...\033[0m"
kill -9 $(cat $VDRLOOPPIDFILE) > /dev/null 2> /dev/null
$DISPLAY_STOP_SCRIPT
kill -9 $(cat $VDRPIDFILE) > /dev/null 2> /dev/null
showpic -c $CONFIGDIR/plugins/graphlcd/graphlcd.conf -d serdisp $CONFIGDIR/plugins/graphlcd/pics/vdr-logo_128x64_v2.glcd
kill -9 $(cat $LIRCDPIDFILE) > /dev/null 2> /dev/null
;;

restart)
$0 stop
$0 start
;;

reloadmodules)
rmmod dvb_ttpci saa7146_vv saa7146 dvbloopback
modprobe dvb_ttpci
modprobe saa7146_vv
modprobe saa7146

DVBLOOPBACK=$(sudo lsmod | grep dvbloopback)
if [ -z "$DVBLOOPBACK" ]; then
echo "Lade Kernelmodul dvbloopback"
insmod dvbloopback.ko > /dev/null 2> /dev/null
fi
;;

killvdr)
kill -9 $(cat $VDRPIDFILE) > /dev/null 2> /dev/null
;;

*)
  echo "Usage: $0 Parameter eingeben {start|stop|restart|reloadmodules}"
  exit 1
 ;;
esac



Ein Script welches die Temperaturen von CPU,MB und HDD überwacht und bei zu hohen Werten eine Meldung auf das OSD schickt.
Das Script lasse ich per Cronjob automatisiert ausführen.
/usr/local/bin/temperaturcheck.sh: Download (bzip2 gepackt)
#!/bin/sh
#Autor: Zyrusthc
#File: /usr/local/bin/temperaturcheck.sh
#LastModifiyDate: 24.09.2008
#VDR-1

CPUTEMP=$(sensors | grep CPU | awk '{print $3}' |  sed 's/+//' | sed 's/°C//')
CPUMAX="55"
MBTEMP=$(sensors | grep M/B | awk '{print $3}' |  sed 's/+//' | sed 's/°C//')
MBMAX="55"
HDTEMP=$(/usr/sbin/hddtemp /dev/hda | awk '{print $3}' | sed 's/°C//')
HDMAX="55"

count=0


#CPU Überwachung
if [ $CPUTEMP -gt $CPUMAX ] ; then
while [ $count -le 2 ] ; do
beep -f 2200 -l 100
sleep 1
/usr/local/bin/send warning -t 1 "CPU Temperatur $CPUTEMP Grad kritisch!!!"
count=$[$count+1]
done
fi

#MB Überwachung
if [ $MBTEMP -gt $MBMAX ] ; then
while [ $count -le 2 ] ; do
beep -f 2200 -l 100
beep -f 2000 -l 150
sleep 1
/usr/local/bin/send warning -t 1 "Mainboard Temperatur $CPUTEMP Grad kritisch!!!"
count=$[$count+1]
done
fi

#Festplatten Überwachung
if [ $HDTEMP -gt $HDMAX ] ; then
while [ $count -le 2 ] ; do
beep -f 2200 -l 700
sleep 1
/usr/local/bin/send warning -t 1 "Festplatten Temperatur $CPUTEMP Grad kritisch!!!"
count=$[$count+1]
done
fi



Ein Script welches mir eine Startgrafik auf dem Display beim Systemstart anzeigt. Das Script wird beim Systemstart als /etc/rc3.d/S10vdrbootsplash verlinkt ausgeführt.
#!/bin/sh
#Autor: Zyrusthc
#File: /etc/init.d/vdrbootsplash
#LastModifiyDate: 12.08.2008
#VDR-1

case "$1" in
start)
/usr/local/bin/showpic -c /video/vdrconfig/plugins/graphlcd/graphlcd.conf -d serdisp /video/vdrconfig/plugins/graphlcd/pics/vdr-logo_128x64_v2.glcd
 ;;

stop)
 ;;

restart)
$0 stop
$0 start
 ;;

*)
  echo "Usage: $0 Parameter eingeben {start|stop|restart}"
  exit 1
 ;;
esac

exit 0



2 Scripte welche mir eine Start und Stopanimation auf dem Display anzeigen. Die beiden Scripte werden beim VDR Start und Stop ausgeführt.
#!/bin/sh
#Autor: Zyrusthc
#File: /usr/local/bin/vdr-start-pic.sh
#LastModifiyDate: 12.08.2008
#VDR-1

SHOWPIC=/usr/local/bin/showpic
IMAGEPATH=/video/vdrconfig/plugins/graphlcd/pics/vdr-penguin-starte_128x64
GLCD_CONFIG="-c /video/vdrconfig/plugins/graphlcd/graphlcd.conf -d serdisp"

$SHOWPIC $GLCD_CONFIG -s 300 \
    $IMAGEPATH/vdr-penguin-starte_128x64_00.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_01.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_02.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_03.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_04.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_05.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_06.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_07.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_08.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_09.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_10.glcd \
    $IMAGEPATH/vdr-penguin-starte_128x64_11.glcd &

/usr/local/bin/vdr-stop-pic.sh:
#!/bin/sh
#Autor: Zyrusthc
#File: /usr/local/bin/vdr-stop-pic.sh
#LastModifiyDate: 12.08.2008
#VDR-1

SHOWPIC=/usr/local/bin/showpic
IMAGEPATH=/video/vdrconfig/plugins/graphlcd/pics/vdr-shutdown_128x64
GLCD_CONFIG="-c /video/vdrconfig/plugins/graphlcd/graphlcd.conf -d serdisp"

$SHOWPIC $GLCD_CONFIG -s 500 \
    $IMAGEPATH/vdr-shutdown_128x64_00.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_01.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_02.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_03.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_04.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_05.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_06.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_07.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_08.glcd \
    $IMAGEPATH/vdr-shutdown_128x64_09.glcd &



Build by Zyrusthc 2008