Inhaltsverzeichnis HTPC
Multimedia4Linux
Stand 31.05.09

Lautloser Mythtv HTPC im Eigenbau

Automatisches booten für TV-Aufnahme
Bei meinem HTPC wird das Antennensignal über die eingebaute TV-Karte durchgeschleift zum Fernsehen. Wenn der HTPC ausgeschaltet ist, dann ist das analoge Fernsehbild durch die Dämpfung sehr schlecht. Wir haben den HTPC daher immer an, wenn wir analog Fernsehen. Der HTPC ist daher oft im Leerlauf. Mythtv würde den PC dann über Mythwelcome runterfahren. Ich benutze daher eine Eigenentwicklung. Das folgende Skript überprüft, ob Mythtv im Leerlauf ist. Falls ja, dann wird die Datenbank ausgelesen und die Startzeit an den ACPI Wecker geschickt. Danach wird der Rechner heruntergefahren. Falls Mythtv z.B. durch eine TV-Aufnahme nicht im Leerlauf ist, kommen drei Pieptöne und es ist wird 15 Minuten gewartet. Danach wird noch mal der Status abgefragt. Dies wird solange durchgeführt bis Mythtv im Leerlauf ist. Danach wird der Rechner wie ob beschieben mit setzen der Weckzeit heruntergefahren. Bei einem Fehler (z.B. keine TV-Aufnahme einprogrammiert) erfolgt ein langer Piepton und Mythtv wird beendet. Der Rechner wird dann nicht heruntergefahren!

  1. Wakeup und Halt Skript installieren
    Im folgenden Skript müssen Sie ZZZZZZ und XXXXXXXX durch ihren mysql user und das mysql passwort der mythtv Datenbank ersetzen. Den user und das Passwort finden Sie im Mythtv Frontend unter Zubehör/Konfiguration -> Konfiguration -> Grundeinstellungen

  2. Inhalt des Skriptes /usr/bin/setwakeupandhalt.sh
    #!/bin/sh
    # Autor: Holger Klemm
    # System: Gigabyte MA78GM-S2H with Mythtv 0.21
    #$TIMESTEP is the time in seconds since 1970
    ENDE=1
    STATUS=`mythshutdown --status; echo $?`
    if [ $STATUS -ne 0 ] ; then
    beep -f 500 -n -f 500 -n
    fi

    while [ $ENDE -ne 0 ] ; do
    SYSTEMSTATUS=`mythshutdown --status; echo $?`
    if [ $SYSTEMSTATUS -eq 0 ] ; then
    echo "Kann heruntergefahren werden"
    ENDE=0
    NEXTRECORDING=`mysql -BN --database=mythconverg --user=ZZZZZZ --password=XXXXXXXX -e "select a.starttime from recordmatch a, record b where a.recordid = b.recordid and a.starttime >= now() and b.prefinput < 3 order by starttime";`
    NEXTTIME=`echo $NEXTRECORDING | awk '{ print $2 " " $1 }'`
    NEXTRECORDINGSEC=`date -d "${NEXTTIME}" +%s`
    TIMESTEMP=$((${NEXTRECORDINGSEC} - 15 * 60))
    if [ $TIMESTEMP -gt `date +%s` ] ; then
    echo 0 > /sys/class/rtc/rtc0/wakealarm #this clears your alarm.
    echo $TIMESTEMP > /sys/class/rtc/rtc0/wakealarm #this writes your alarm
    halt
    else
    beep -l 1000 -f 3000
    # halt
    fi
    else
    echo "System ist beschaefitigt, warte 15 Minuten und versuche es nochmal"
    sleep 15m
    fi
    done
    exit 0


    Falls Sie möchten, dass der Rechner auch bei einem Fehler herunterfährt und nicht nur mythtv beendet, dann entfernen Sie einfach das # Kommentarzeichnen vor dem halt.

    Jetzt muss das Skipt noch ausführbar gemacht werden durch:

    sudo chmod +x /usr/bin/setwakeupandhalt.sh

  3. Tonausgabe installieren
    Damit die Pieptonausgabe funktioniert muss an das Motherboard ein Lautsprecher angeschlossen und beep installiert werden.
    sudo apt-get install beep
  4. Skript in die Mythtv Konfiguration eintragen
    Im Mythtv Frontend muss jetzt noch das Skript eingetragen werden. Starten Sie mythtv und klicken auf:
    Zubehör / Konfiguration -> Konfiguration -> Grundeinstellungen
    Klicken Sie auf Weiter bis Sie auf der Seite "Verschiedenes" angelangt sind.
    Tragen Sie folgendes ein:
    Beenden Menü anpassen: Zeige 'Beenden' und 'Abschalten
    Befehl zum Herunterfahren: /usr/bin/setwakeupandhalt.sh
    Neustart-Befehlt: /usr/share/mythtv/myth-reboot.sh
Zurück zur Einkaufliste Zubehör Inhalthaltsverzeichnis HTPC
  htpc(at)multimedia4linux.de

Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, daß man durch die Ausbringung eines Links die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann - so das LG - nur dadurch verhindert werden, daß man sich ausdrücklich von diesen Inhalten distanziert. Wir haben auf verschiedenen Seiten dieser Homepage Links zu anderen Seiten im Internet gelegt. Für all diese Links gilt: Wir möchten ausdrücklich betonen, daß wir keinerlei Einfluß auf die Gestaltung dieser Links und die Inhalte der gelinkten Seiten haben. Deshalb distanzieren wir uns hiermit ausdrücklich von allen Inhalten aller gelinkten Seiten auf unserer Homepage und machen uns ihre Inhalte nicht zu Eigen. Diese Erklärung gilt für alle auf unserer Homepage ausgebrachten Links.