Wie TVHeadend Server runterfahren und bei Bedarf wieder starten? Sualfred's Scripte "tvhwakeup" und "autoshutdown" hier brauchbar?

  • Ich habe einen älteren PC mit Asrock Q1900 ITX Mainboard. Darin steckt ein Intel Celeron J1900 Quad CPU und eine onboard Intel Grafikkarte. Weiterhin eine DVBSky S952 DVBS2 Dual Sattelit Tuner Karte zum TV Aufnehmen und Live TV. Linux Mint 19,2 und TVHeadend ist darauf installiert und alle meine Filme liegen auf diesem PC. Auf TVHeadend greife ich über zwei Kodi Clients drauf zu. Dieses System lasse ich bisher ständig laufen. Ich würde es aber gern richtig runterfahren und bei Bedarf starten.
    Der PC soll starten, wenn eine Timeraufnahme ansteht.
    Der PC soll starten einmal pro Tag,um den EPG zu aktualisieren,danach wieder runterfahren.
    Der PC soll anbleiben, wenn einer der beiden CLients Live TV guckt oder wenn ein Client einen Film guckt.
    Der PC läßt sich von einem CLient aus aus heruntergefahrenem Zustand aus per WOL wecken. Das funktioniert. Da aber das hochfahren ca. 30 Sekunden dauert, würde ich den PC gern von ca. 18 Uhr bis 22 Uhr dauerhaft laufen lassen.
    Nach 22 Uhr soll der PC runterfahren, wenn kein Client mehr drauf zugreift.
    Manchmal schneide ich auch einen Film und konvertiere ihn danach mit Handbrake. In dieser Zeit muß der PC natürlich dann anbleiben.

    Ich habe vom user Sualfred zwei Scripte gefunden. "tvhwakeup" und "autoshutdown". Könnte ich die für diese Zwecke nutzen?

  • @nepo
    Das von dir verlinkte Script könnte genau das sein was ich suche.

    Noch eine Frage: In der Datei Autosuspend steht drin
    # Turning suspend by day (8 a.m. to 3 a.m.) off
    DONT_SUSPEND_BY_DAY='no'

    Was kann ich hier genau einstellen? Wenn ich diese Einstellung so lasse, hört es sich für mich so an, als ob der PC nur zwischen 3 Uhr in der Früh und 8 Uhr in der Früh in suspend geht (oder auch in power off; je nach Konfiguration). Die restliche Zeit bleibt er an? Kann man diese Nicht-Suspend Zeit irgendwo noch konfigurieren?

  • hi

    So wie es jetzt da steht, passiert gar nichts, es ist noch auskommentiert -> # ;)
    Wenn du # löscht, ist es so, wie du es beschreibst (auch meine Interpretation). Du kannst aber natürlich die Werte editieren und deine Wunschzeiten angeben oder wie gesagt # nicht löschen, so hat dieses Argument keine Bedeutung.

    Tschau nepo

  • Hi nepo,
    du schreibst leider nur,daß das auch deine Interpretation ist. Ich denke daher, du nutzt diese Funktion nicht, oder?
    Ich kenne mich mit diesen Befehlen nicht aus. Ich kann aber nicht glauben, daß durch weglassen des Zeichen # vor dieser Zeile "# Turning suspend by day (8 a.m. to 3 a.m.) off" diese Funktion aktiviert wird. Ich denke eher,daß diese Zeile
    # Turning suspend by day (8 a.m. to 3 a.m.) off
    einfach nur eine Beschreibung dafür ist, und daß die folgenden Zeile

    DONT_SUSPEND_BY_DAY='no'

    das Suspend während dieser angegebenen Zeit abschaltet.

    Ebenso kann ich nicht glauben, daß ich durch Änderung der Zeiten "8 a.m." und "3 a.m." die Suspend Zeiten anpassen kann. Wäre natürlich super, wenn es tatsächlich so einfach wäre.

    Daher die Frage: nutzt du diese Funktion, daß der PC zu bestimmten Zeiten des Tages nicht in suspend geht?

  • Hallo Olli,

    verstehe ich richtig, dass du den PC als Server benützt?
    Wenn ja würde ich dir openmediavault als Server Software empfehlen.
    Benutze ich selber und habe auch hier im Forum ein script geschrieben, dass in etwa für deine Ansprüche reicht.

    Hier ma der Link zu meinem script:

    Tutorial autosuspend OMW

    --> Hallo Olli ich hatte ungefähr die selben Anforderungen ich nutz das auch mit openmediavault und nach Anfangsprobleme läuft das jetzt schon ne weile

  • hi

    Ganz allgemein - es geht hier nicht um glauben :P
    Ich bin selbst kein Fachmann in in scripten, aber glaube mir : # ist das elementare Zeichen !
    Durch hinzufügen oder Löschen von # aktivierst bzw. deaktivierst du Funktionen des Scriptes, genauso kann man durch Ändern von Parametern die jeweiligen Funktionen verändern.

    Zitat

    Wäre natürlich super, wenn es tatsächlich so einfach wäre

    Das ist super einfach :thumbup: (wenn man weiß, was man ändert)
    Finde auf die schnelle keine vernünftige Anleitung, die dir dies alles einfach erklärt. Außerdem wird es Zeit für die Glotze und dann ins Bett
    Aber bitte, GLAUBE mir, manchmal ist es so einfach !

    Tschau nepo

  • hi nepo,
    danke für die schnelle Antwort. Dann werde ich demnächst das Script mal ausprobieren.

    OMV kommt für mich nicht in Frage. Ich möchte auf meinem Linux TVHeadend PC eine zentrale DB laufen lassen, möchte Filme mit dvbcut schneiden und dann die Filme mit handbrake konvertieren in h264. Das kann OMV doch nicht, oder?

  • hi

    Noch eine Frage: In der Datei Autosuspend steht drin
    # Turning suspend by day (8 a.m. to 3 a.m.) off
    DONT_SUSPEND_BY_DAY='no'

    Du hattest vollkommen recht, hatte das Script nicht mehr so im Kopf.
    # Turning suspend by day (8 a.m. to 3 a.m.) off ist nur die Beschreibung für
    DONT_SUSPEND_BY_DAY='no' und somit stimmt deine Interpretation.

    Es kann aber trotzdem möglich sein, habe es selber nicht ausprobiert:
    Im etc ordner, den du downloadest ist auch ein Ordner namens /etc/autosuspend.d/. In diesem dazugehörigen Script kann man dann Zeiten eintragen.

    Tschau nepo

  • hi,
    in dem Ordner /etc/autosuspend.d/activities können laut der dort abgelegten Readme activity scripts mit timestamps abgelegt werden, die von autosuspend für das nächste wakeup berücksichtigt werden. Hört sich so an, als ob man dort "einfach" die Zeiten und Tage eintragen kann, an denen der PC dann aufwachen soll.

    In der Readme steht

    ##Description An activity script is an executable script (chmod +x) that outputs one or more lines containing a timestamp and optionally a colon-separated comment. Autosuspend will respect these timestamps when preparing the next wake up.
    ##Syntax of output lines or
    <timestamp>:<comment>##Example output 1475272800 1475272800:Weekly backup
    ##Example commands date --date="next Wednesday 11:28" +%s echo $(date --date="next Saturday 11:28" +%s):Weekly backup

    Verstehen tue ich andhand dieser Readme trotzdem nicht, wie so activity script dann aufgebaut werden muß.


    Noch etwas: Der Kommentar "Turning suspend by day (8 a.m. to 3 a.m.) off" bedeutet für mich, daß ich einen Suspend ab 8 Uhr morgens bis 3 Uhr nachts abschalten kann. Komisch.

    Werde bestimmt bei Gelegenheit mal testen.

  • Zitat von olli14


    Noch etwas: Der Kommentar "Turning suspend by day (8 a.m. to 3 a.m.) off" bedeutet für mich, daß ich einen Suspend ab 8 Uhr morgens bis 3 Uhr nachts abschalten kann. Komisch.

    Für mich bedeutet es, daß der server von 8 Uhr morgens bis 3 Uhr nachts an bleiben soll. Alle Bedingungen, die du im Script aktiviert/konfiguriert hast zum "Runter fahren", sind dann in diesem Zeitraum bedeutungslos.

  • Ich habe mich oben "kompliziert" ausgedrückt, verstehe es aber genauso wie du, nepo. Von 8 Uhr morgens bis 3 Uhr nachts bleibt der PC wahrscheinlich dann an.

    Ich habe gestern abend gemäß der Readme alles installiert, bin mir aber nicht sicher, ob ich alles korrekt gemacht habe.
    Ich habe hier (https://wiki.ubuntuusers.de/Archiv/Skripte/AutoSuspend/) gelesen, daß ich diese Cronjob Befehlszeile

    echo "*/15 * * * * root /usr/local/sbin/autosuspend.sh" | sudo tee -a /etc/crontab

    eingeben muß, damit das autosuspend.sh Script alle 15 Minuten aufgerufen wird. Steht so nicht in der aktuellen Readme drin. Ich habe es aber trotzdem gemacht.

    Auf jeden Fall war mein PC heute früh leider immer noch an!

    1. Wie kann ich testen, woran es liegen könnte, daß der PC nicht herunterfährt?
    2. Wenn ich einzelne Bedingungen in der Konfigurationsdatei autosuspend in Ordner "/etc" ändere, werden diese Änderungen nach dem Speichern der Datei autosuspend sofort übernommen und umgesetzt? Oder muß ich irgendetwas neu starten?
    3. Ich habe die Datei "autosuspend" angelegt im Ordner "/etc". Die Datei hat bei mir keine Dateiendung wie z.B. "autosuspend.sh"! Ist das richtig?
    4. War das mit Cronjob richtig?

  • Hallo Olli,

    Lies dir Mal das Tutorial durch das ich geschrieben habe.
    Da wird das Script genau beschrieben. Benütze das selbe. Auch der Cron Job.
    Den musst du setzen, sonst geht's nicht. Zum testen einfach Mal ne kurze Zeitspanne eingeben und testen.

  • Hi,
    ich habe mir die Anleitung von hackbird durchgesehen und bin prinzipiell (ich habe ja Linux Mint und kein OMV) nach dieser Anleitung vorgegangen. Einige Dateien/ Ordner müssen ja in den Ordner /etc/ und andere in usr/... Ich hoffe, daß ich da mit den Rechten alles richtig gemacht habe.

    Ich habe die Crontab Befehlszeile wie bei hackbirds Anleitung beschrieben ausgeführt. Keine Fehlermeldung. Dann habe ich eingegeben "crontab -l" und dachte, daß ich nun eine Liste von Crontab Jobs angezeigt bekomme. War aber nicht so. Hatte darum einen Tag später nochmal Crontab Befehlszeile eingegeben. Gestern habe ich nun festgestellt, daß in einer Datei mit Namen crontab meine eingegebene Crontab Befehlszeile bereits zweimal drinstand. Eine Befehlszeile habe ich nun mit Sudoedit rausgelöscht. Hoffe, daß man das so machen kann. Weiterhin habe ich gestern spät abends noch herausgefunden, daß es eine Log Datei gibt in "/var/irgendwas". In der Logdatei stand etwas drin von "...autosuspend nicht möglich wegen aktivem Client...". Da habe ich dann erstmal aufgehört zu forschen. Bin guter Dinge, daß ich am Wochenende weitere Erfolgsmeldungen verbuchen kann :)


    Wenn TVHeadend installiert wird, wird automatisch eine Gruppe hts angelegt. Dieser Gruppe habe ich gestern abend das Passwort hts gegeben, da ja in der autosuspend Konfig Datei ein Passwort bei "#TVHEADEND_PASSWORD=" vergeben werden muß. Richtig?
    Dann steht in der Autosuspend Konfig Datei drin

    # The value is used with grep, so just a unique portion is sufficient
    SAMBANETWORK='192.168.1.'


    Mein Netzwerk hat 192.168.178.xxx. Was muß ich dann in dieser Zeile eintragen?


    Dann steht in der Readme noch drin:
    "It is possible to work with an existing Tvheadend user, but I recommend to create a separate account to keep things clear. The following rights are required:

    • Web Interface
    • Admin
    • Video Recorder"

    Was muß ich hier genau beachten?

    Danke für die tolle Unterstützung bisher.

  • Ich hab dir hier mal meine autosuspend Einträge.
    Fett habe ich ich etwas dazu geschrieben!!!

    Spoiler anzeigen


    # Turn on auto suspend
    AUTO_SUSPEND='yes'


    # Suspend method: one of 'suspend', 'hibernate', 'hybrid-sleep', 'poweroff'
    SUSPEND_METHOD='poweroff'
    Hier fährt meine NAS komplett runter und wird per WakeOnLan aufgeweckt.
    Hat den Vorteil, das du die Treiber nicht be und entladen muss. Dauert das hochfahren paar Sekunden länger,
    aber ich spar mir das script für die Treiber. Funktioniert auch wunderbar bei Aufnahmen.


    # Turning suspend by day (8 a.m. to 3 a.m.) off
    DONT_SUSPEND_BY_DAY='no'


    # Automatically reboot once a week when the system isn't in use
    REBOOT_ONCE_PER_WEEK='no'


    # Daemons that always have one process running, only if more that one process is active we prevent the suspend
    # The values are used with grep, so just a unique portion is sufficient
    DAEMONS=''


    # Important applications that shall prevent the suspend
    # The values are used with grep, so just a unique portion is sufficient
    APPLICATIONS='^nxagent$ ^rsnapshot$ ^wsus$ ^wget$ ^screen$ ^mlnetp$ ^apt-get$ ^aptitude$ ^dpkg$ ^cp$'


    # Network IP range for checking any open samba connections
    # The value is used with grep, so just a unique portion is sufficient
    SAMBANETWORK=''


    # Names or IP for computers that shall prevent the suspend
    # We ping these computers in the list to check whether they are active.
    CLIENTS='192.168.0.30 192.168.0.31 192.168.0.32'

    Hier habe ich meine HTPC´s die im Netzwerk sind eingegeben. Ist einer von diesen aktiv fährt er nicht runter.
    Am besten feste IP´S vergeben.

    #
    # Activation of Tvheadend support. If set to 'yes', Tvheadend status will be
    # used to determine if the machine is active. Default: yes
    TVHEADEND_ENABLED='yes'


    #
    # User for access to the Tvheadend REST API
    TVHEADEND_USER=autosuspend

    DIES IST FÜR DAS AUFNEHMEN WICHTIG!!! Muss in TVHeadend erstellt werden. Siehe Screenshot von mir.

    #
    # Password for access to the Tvheadend REST API
    TVHEADEND_PASSWORD=autosuspend

    DIES IST FÜR DAS AUFNEHMEN WICHTIG!!! Muss in TVHeadend erstellt werden. Siehe Screenshot von mir.

    #
    # IP for access to the Tvheadend REST API. Default: Autodetected from hostname
    TVHEADEND_IP=192.168.0.11

    NAS bzw. TVHeadend Server.... Hier ist die IP Adresse von meiner NAS auf dem TVH ist-.

    #
    # TVheadend HTTP port. Default: 9981
    TVHEADEND_HTTP_PORT=9981


    #
    # TVheadend HTSP port. Default: 9982
    TVHEADEND_HTSP_PORT=9982


    #
    # Boot duration of the machine. Used to wake the machine timely before the next
    # recording. Default: 180 seconds
    TVHEADEND_BOOT_DELAY_SECONDS=180


    #
    # Autosuspension will be aborted if a recording is upcoming within the given
    # duration (unit: minutes). Default: 15 minutes
    TVHEADEND_IDLE_MINUTES_BEFORE_RECORDING=15


    #
    # Consider over-the-air EPG grabbing as an activity that prevents suspend?
    # If set to anything other than 'yes', and if the only activity is
    # over-the-air EPG grabbing, the machine will be suspended. Default: 'yes'
    TVHEADEND_CONSIDER_EPGGRABBING=yes

    TVH User + Passwort (Muss gemacht werden sonst geht das aufnhemen nicht und fährt dann auch nicht hoch)
    anlegen mit diesen Rechten:


    Username in TVHeadend: autosuspend (kannst auch was anderes nehmen. Muss ins script oben einegtragen werden)
    Passwort in TVHeadend: autosuspend (kannst auch was anderes nehmen. Muss ins script oben einegtragen werden)

Jetzt mitmachen!

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