Aufwachzeit modifizieren

  • Hi!


    Ich möchte einmal pro Tag über tvmovie2vdr das EPG aktualisieren.
    Dazu soll das Update per anacron alle 24h angestoßen werden, denn der Rechner sol die sowieso geplanten Einschaltzeiten nutzen.


    Beim Shutdown soll geprüft werden, ob innerhalb der nächsten 48h eine Aufnahme ansteht.
    Wenn ja, soll nichts verändert werden.
    Wenn nein, soll die nächste Aufwachzeit auf 7:00 des aktuellen oder nächsten Tages (ja nach dem) gesetzt werden.


    Ich bin was das Skripten betrifft leider ein totaler Anfänger und weiß auch nicht, wo ich das einbauen muss.
    Soweit ich aber weiß, übergibt vdr die Aufwachzeit als "normales" Datum und nochmal als Sekundenintervall? Wenn das Intervall kleiner als 172800 ist, dann soll das neue Datum auf 7:00 gestellt werden (am gleichen oder nächsten Tag).



    Nächster Punkt ist der Shutdown, der nach dem Update ausgeführt werden soll (hitkeypower).
    Das soll er nur machen, wenn es 7 Uhr irgendwas ist.


    (Ich benutze nvram-wakeup mit c't vdrdevel).




    Kann jemand helfen? Wie muss das aussehen, und wo baue ich das ein?


    Danke!!!!


    blueink

    yavdr| intel softhddevice | Hasswell i5 4460) | Mainboard GA-H81M-HD3 Intel H81 | 8 GB Ram |
    DVB-S2 Twintuner Digital Devices Cine S2 Rev 5.5 | TFT 27" (DVI) | Sound SPDIF -> Denon AVR-X4000
    Homebrew lirc (serial) | LCD 320x240 SED1330 (parport) | 128 GB System SSD, 2x2TB HDD ZFS

  • Hallo,


    bei ctvdr gibt's die /etc/vdr/vdr-nvram-wakeup.conf.


    Dort ganz unten:


    Code
    # If you want your VDR machine to wakeup in regular intervals (i.e. for
    # updating EPG data), specify a day interval and a wakeup time:
    #
    REGULAR_DAYS=0       # 0=disabled, 1=each day, 2=each 2'nd day, 3=...
    REGULAR_TIME=01:00   # HH:MM


    Macht m.W. genau das was du willst - zumindest was das Aufwachen betrifft.


    sundin


    my VDR: Asus AT3IONT-I deluxe, Digital Devices Cine S2 (dual DVB-S2 V5.5), yavdr 0.4, VDR 1.7.21
    OSD-Calender: PIM Plugin

  • Hi!


    Die Option kenne ich schon, das ist aber nicht genau das was ich suche, denn damit wacht der Rechner ja jeden x-ten Tag auf. Er soll ja nur aufwachen, wenn er nicht sowieso innerhalb der nächsten 48h aufwachen würde.


    Blueink

    yavdr| intel softhddevice | Hasswell i5 4460) | Mainboard GA-H81M-HD3 Intel H81 | 8 GB Ram |
    DVB-S2 Twintuner Digital Devices Cine S2 Rev 5.5 | TFT 27" (DVI) | Sound SPDIF -> Denon AVR-X4000
    Homebrew lirc (serial) | LCD 320x240 SED1330 (parport) | 128 GB System SSD, 2x2TB HDD ZFS

  • OK, dann musst du dir mal


    /usr/share/vdr/shutdown-hooks/S90.nvram-wakeup


    anschauen.


    Code
    if [ $REGULAR_DAYS -gt 0 ]; then
        REGULAR_TIMER=$((`date -d "$REGULAR_TIME" +%s` + $REGULAR_DAYS * 24 * 60 * 60))
    
    
        # when no vdr timer is set or vdr timer starts later than regular timer:
        if [ $TIMER -eq 0 ] || [ $TIMER -gt 0 -a $REGULAR_TIMER -lt $TIMER ] ; then
            TIMER=$REGULAR_TIMER
        fi
    fi


    würde ich z.B. so ergänzen


    Code
    if [ $REGULAR_DAYS -gt 0 ]; then
        REGULAR_TIMER=$((`date -d "$REGULAR_TIME" +%s` + $REGULAR_DAYS * 24 * 60 * 60))
        PLUS_2_DAYS=$((`date +%s` + 2 * 24 * 60 * 60))
    
    
        if [ $TIMER -eq 0 ] || [ $TIMER -gt 0 -a $REGULAR_TIMER -lt $TIMER -a $TIMER -gt $PLUS_2_DAYS ] ; then
            TIMER=$REGULAR_TIMER
        fi
    fi


    d.h. du berechnest PLUS_2_DAYS ( = jetzt in zwei Tagen ) und setzt den nächsten Timer


    - wenn TIMER 0 (d.h. keiner vorhanden) ODER
    - wenn REGULAR_TIMER < TIMER UND TIMER später als PLUS_2_DAYS


    auf den REGULAR_TIMER


    Ist ungetestet, sollte aber in der Form gehen...


    sundin


    my VDR: Asus AT3IONT-I deluxe, Digital Devices Cine S2 (dual DVB-S2 V5.5), yavdr 0.4, VDR 1.7.21
    OSD-Calender: PIM Plugin

  • Boah, echt genial!
    Das klappt exakt so wie ich es haben wollte. Tausend Dank!!
    Ich muss mir jetzt mal anschuen, wie diese ifs funktionieren. Daran hing es nämlich bei meinen Versuchen.


    Wie würde ich denn z.B. eine Abfrage schreiben, die etwas ausführt, wenn es 7 Uhr irgendwas ist?

    yavdr| intel softhddevice | Hasswell i5 4460) | Mainboard GA-H81M-HD3 Intel H81 | 8 GB Ram |
    DVB-S2 Twintuner Digital Devices Cine S2 Rev 5.5 | TFT 27" (DVI) | Sound SPDIF -> Denon AVR-X4000
    Homebrew lirc (serial) | LCD 320x240 SED1330 (parport) | 128 GB System SSD, 2x2TB HDD ZFS

  • Zitat

    Original von blueink
    Wie würde ich denn z.B. eine Abfrage schreiben, die etwas ausführt, wenn es 7 Uhr irgendwas ist?


    z.B. so

    Bash
    #!/bin/sh
    
    
    if [ "`date  +%H`" = "07" ]
    then
        echo yes
    else
        echo no
    fi


    my VDR: Asus AT3IONT-I deluxe, Digital Devices Cine S2 (dual DVB-S2 V5.5), yavdr 0.4, VDR 1.7.21
    OSD-Calender: PIM Plugin

  • Danke!
    Klappt jetzt alles wunderbar!

    yavdr| intel softhddevice | Hasswell i5 4460) | Mainboard GA-H81M-HD3 Intel H81 | 8 GB Ram |
    DVB-S2 Twintuner Digital Devices Cine S2 Rev 5.5 | TFT 27" (DVI) | Sound SPDIF -> Denon AVR-X4000
    Homebrew lirc (serial) | LCD 320x240 SED1330 (parport) | 128 GB System SSD, 2x2TB HDD ZFS

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!