unRaid, tvh, S3 sleep, wecke für Aufnahme oder die Eierlegendewollmichsau gibt es nicht?

  • Code
    time=08:00
    now=$(date +%s)
    other=$(date -d $time +%s)
    if [ $now -ge $other  ]
    then
    	echo `date '+%s' --date='tomorrow 08:00:00'` > /sys/class/rtc/rtc0/wakealarm
    else
        echo `date '+%s' --date='today 08:00:00'` > /sys/class/rtc/rtc0/wakealarm
    fi
  • Hallo darkside40,

    was passiert denn nach dem Aufwecken durch dein Aufnahme-Script ?
    Wie verhinderst du denn ein erneutes einschlafen des Servers während eine Aufnahme läuft ?
    Überwachst Du mit dem Sleep-Addon in unRAID die Array Aktivitäten ? Das funktioniert bei mir leider (noch) nicht.

    VG

  • unRAID: Server aufwecken um Timeraufnahme zu starten

    Hallo Nerds ich brauche bitte eure Unterstützung !


    Mein Server wacht nicht auf bzw. tvheadend weckt den Server nicht um eine Timer-Aufname zu starten.
    Ich sitze jetzt wirklich schon den ganzen Tag an dem Problem aber komme keinen Schritt mehr weiter.
    Wahrscheinlich sehe ich auch keine Bäume mehr im Wald :(


    unRAID in Version 6.6.6 ist installiert.
    tvheadend (last) läuft im Docker.
    Sleep 3 Addon ist in unraid installiert, macht was es soll. Schaltet den Rechner in suspend wenn das Array ruht und keine IP die hinterlegt wurde online ist.
    Der Rechner schläft ein, so soll es sein.


    Einer meiner vielen Versuche um sicher zu stellen was geht oder auch nicht geht, war rtcwake.
    Mit rtcwake kann ich den Rechner aus suspend und shutdown starten lassen !


    Demzufolge kann die Hardware was verlangt wird ?!


    Die Bios Zeit und die Systemzeit sind gleich.


    In tvheadend wurde ein Benutzer angelegt der die Timer erstellt.


    Ich habe in der Docker-Einstellung bridge und host ausprobiert, ohne Erfolg.


    Timer werden angelegt und im Verzeichnis /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition] abgespeichert.


    Die Zeiten in den Dateien habe ich überprüft, unixzeit in realtime umgewandelt passt alles.

    Das unRaid Sleep Addon ruft folgendes Weck-Script auf beim einschlafen:


  • Ich hoffe ich komme dem Phänomen auf die Spur :

    Was passiert denn im Normalfall mit einem angelegten Timer NACH der Aufnahme ?? Kann hier der Fehler liegen ?
    Wenn ich den Inhalt aus dem Verzeichnis /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ lösche, kann ich das weck_script ohne Fehler "von Hand" ausführen.

    Ich erstelle einen Timer
    der Timer wird unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ als Datei angelegt

    ich führe das script aus,

    ich schicke den Rechner in Standby.

    Der Rechner wacht auf, macht seine Aufnahme,

    unRaid geht nach der Aufnahme nochmal in Standby


    !!!

    Unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ liegt immer noch der Timer (DAtei)

    !!!


    Wenn ich jetzt das Script aufrufe gibt es einen Fehler zurück:


    ./record_wakeup.sh: line 30: 1551700800
    1551700780: syntax error in expression (error token is "1551700780")

    Ich lege einen neuen Timer an
    Der wird ebenfall unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ als Datei abgespeichert.
    Dort liegen jetzt 2 Dateien.


    Wenn ich jetzt das Script aufrufe gibt es immer noch den Fehler zurück:

    ./record_wakeup.sh: line 30: 1551700800
    1551700780: syntax error in expression (error token is "1551700780")

    ich lösche den "alten" Timer

    Das Script funktioniert !!!

    Was Wer muss also den alten Timer "normalerweise" löschen ???

    Anmerkung:
    Der Benutzer der angelegten Dateien für die Timer ist Root aus der Gruppe Root
    Das kann ja keiner löschen :) Aber warum ?
    Dateirechte: 600 lesen/scheiben bei Besitzer (Root)

  • warum gehst du nicht über die status.xml datei?
    Script auszug (bin jetzt nicht daheim, wo ich genau schauen kann, probiers mal mit):
    curl -s --user $tvh_username:$tvh_password 127.0.0.1:9981/status.xml | grep "next" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'
    (ip natürlich anpassen, und ggf die ip adresse vom docker nehmen...)

    in der status.xml unter dem xml tag steht drin, wann die nächste aufnahme geplant ist.


    edit: kurz google und ein script gefunden das über status.xml geht:
    http://motobiff.blogspot.com/2015/08/standb…adend-bash.html

    Code
    #Query Tvheadend for next recording
    echo "Checking recordings"
    RECN="`curl -s --user USER:PASSWORD 127.0.0.1:9981/status.xml | grep "next"  | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'`"
    echo Next recording starts in $RECN minutes
    
    
    #Convert $RECN to seconds
    RECNS=$(($RECN * 60))
    echo Next recording starts in $RECNS seconds
  • @AcidRain

    ich benutze die Docker Version. Ich glaube die Pluginversion ist etwas einfach zu konfigurieren weil näher an unRAID
    aber wer will schon einfach :) :)
    Im ernst, bei Docker hast du mehr Updates, ich bin bekennender Version-Junkie :thumbup:
    Und ja, ich bin zwar noch nicht ganz da wo ich hin will aber ein gutes Stück weiter dank deiner Info
    Da die S3/S5 Überwachung bei mir (noch) das S3 Sleep plugin macht, habe ich "dein" Script aufgebröselt.
    Ich lese nur sie status.xml ein und setze die nächste Aufnahmezeit.
    Das Script habe ich dann im S3 Sleep Plugin eingetragen und wird dort bei jedem wecken oder einschlafen ausgeführt
    So funktioniert jetzt bei mir das Aufwecken für eine Aufnahme...
    Im SleepPlugin überwache ich die HD, geht die in idle fährt die Kiste runter, das Script wird dabei nochmal ausgeführt der nächste Timer wird gesetzt ...

  • Ok, dann schau ich mal.
    Erstmal teste ich heute die verbesserte / gefixte Version von @darkside40 des s3 sleep Plugins.

    Gestern unraid zum ersten Mal aufgesetzt und Daten kopiert.
    Heute dann das Feintuning.
    Sleep, mit Module ent-/laden und für die Aufnahmen aufwecken.
    Könntest du @nebosa dein angepassteste Script ggf zur Verfügung stellen?


    Mein Bruder wies mich gestern Nacht noch drauf hin dass seine kodi Clients beim Abspielen ab und zu ruckeln, nachbuffern, und/oder die Wiedergabe abbrechen... denke aber eher, da das bei omv auch schon vor kam, dass es ein Netzwerk Problem ist (Switch, Kabel, o.ä.)

  • das ist nicht viel script :) , ja klar...

    Zeile 1 musst du anpassen evtl. auch noch username und passwort hinzufügen.


    Einige echo befehle braucht keiner, wenn du das script aber auf der konsole ausführst konnte ich so sehen was passiert.
    Deshalb habe ich die auch noch drin :)

    Mit ruckeln kann ich leider nix sagen, bei mir läuft alles rund.

    VG

Jetzt mitmachen!

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