hi
Zu Anfang: Ich würde dir empfehlen, alles was du bisher in Bezug auf das tvheadend-autosuspend Script gemacht hast, zu löschen. Du hast zum teil einiges vermischt, bzw. editiert, was nicht (so) notwendig wäre und es dann möglicher weise zu Komplikationen kommen kann.
Zum Verständnis: Dieses Script basiert auf dem AutoSuspend von Ubuntu und besteht aus zwei Teilen. Zum einen auf das Konfigurationsscript (unter etc) und dem ausführenden Script (unter /usr/local/sbin), das die Werte vom Konfigurationsscript benutzt.
Wichtig! Damit das Script überhaupt (richtig) funktioniert, muß das Bios/System dementsprechend eingestellt sein. Umbedingt prüfen (siehe ACPI_Wakeup Prüfen und Testen). Ansonsten kann es sein, das dein Server nicht aufwacht bzw. zur falschen Zeit.
Jetzt zum eigentlichen Script
Gehe mal davon aus, das du wie in der Anleitung von tvheadend-autosuspend die komplette Installation vorgenommen hast. Im Konfigurationsscript sind zwei Punkte besonders wichtig, die anderen kann man nach eigenem Ermessen editieren.
Zeile 33
#TVHEADEND_ENABLED='yes' - auskommentieren TVHEADEND_ENABLED='yes'
Zeile 37/41
#TVHEADEND_USER= und #TVHEADEND_PASSWORD=
Damit ist kein (neuer) Systemuser gemeint, sondern ein User/Profil in TVheadend - man legt am besten ein neues Userprofil in TVheadend an in der Web_Gui unter Configuration->users-> Add mit folgenden Rechten
Web Interface - Admin - Videorecorder
und natürlich wieder auskommentieren.
Zur Erläuterung: Das Script/root muß natürlich die Möglichkeit/Rechte haben, die Werte u.a. Aufnahmezeiten aus TVheadend heraus zu lesen.
# User for access to the Tvheadend REST API
TVHEADEND_USER=autosuspend
# Password for access to the Tvheadend REST API
TVHEADEND_PASSWORD=xxx
In meinem Fall habe ich ihn/es autosuspend genannt zur besseren Unterscheidung.
Zusätzlich habe ich Zeile 45 editiert, meine ansonsten hätte es bei mir nicht funktioniert
# IP for access to the Tvheadend REST API. Default: Autodetected from hostname
TVHEADEND_IP=localhost
Jetzt fehlen noch zwei Bedingungen:
1.Das Script soll regelmäßig ausgeführt werden. dazu verwenden wir das Programm cron. Wir machen es uns einfach mit
sudo nano /etc/crontab
Bei mir sieht es wie folgt aus
Jede viertel Stunde wird bei mir das Script ausgefüht
Nebenbei: Mit echo "*/15 * * * * root /usr/local/sbin/autosuspend.sh" | sudo tee -a /etc/crontab benutzt du das Programm echo, um direkt eine Textdatei zu editieren ohne sie extra zu öffnen. Kann man so machen, muß man nicht
2. Zu guter letzt muß das ausführende Script ausführbar gemacht werden
sudo chmod u+x /usr/local/sbin/autosuspend.sh
Am besten einmal überprüfen mit
nepo@hp:~$ ls -lah /usr/local/sbin/autosuspend.sh
Das war's !
Alles andere würde ich erstmal weglassen - Das Script sollte erstmal laufen, danach kann man fein-justieren.
Tschau nepo
Ach ja, hier mal mein autosuspend Script
Spoiler anzeigen
# Turn on auto suspend
AUTO_SUSPEND='yes'
# Suspend method: one of 'suspend', 'hibernate', 'hybrid-sleep', 'poweroff'
SUSPEND_METHOD='poweroff'
# 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='yes'
# 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$'
APPLICATIONS='^WebGrab+Plus.exe$ ^mono'
# Network IP range for checking any open samba connections
# The value is used with grep, so just a unique portion is sufficient
#SAMBANETWORK='192.168.1.'
# 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.178.6 192.168.178.2 192.168.178.4 192.168.178.7'
#
# 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
#
# Password for access to the Tvheadend REST API
TVHEADEND_PASSWORD=autosuspend
#
# IP for access to the Tvheadend REST API. Default: Autodetected from hostname
TVHEADEND_IP=localhost
#
# 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=900
#
# Autosuspension will be aborted if a recording is upcoming within the given
# duration (unit: minutes). Default: 15 minutes
TVHEADEND_IDLE_MINUTES_BEFORE_RECORDING=60
#
# 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'
root@hp:/home/nepo# exit
exit
nepo@hp:~$ sudo nano /etc/cron
cron.d/ cron.daily/ cron.hourly/ cron.monthly/ crontab cron.weekly/
nepo@hp:~$ sudo nano /etc/crontab
[sudo] Passwort für nepo:
nepo@hp:~$ sudo nano /etc/crontab
nepo@hp:~$ ls -lah /usr/local/sbin/autosuspend.
autosuspend.sh autosuspend.tvheadend-functions
nepo@hp:~$ ls -lah /usr/local/sbin/autosuspend.sh
-rwxr-xr-x 1 root root 4,6K Mär 9 2019 /usr/local/sbin/autosuspend.sh
nepo@hp:~$ cat /etc/autosuspend
autosuspend autosuspend.d/ autosuspend_resumeplan
nepo@hp:~$ cat /etc/autosuspend
# Turn on auto suspend
AUTO_SUSPEND='yes'
# Suspend method: one of 'suspend', 'hibernate', 'hybrid-sleep', 'poweroff'
SUSPEND_METHOD='poweroff'
# 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='yes'
# 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$'
APPLICATIONS='^WebGrab+Plus.exe$ ^mono'
# Network IP range for checking any open samba connections
# The value is used with grep, so just a unique portion is sufficient
#SAMBANETWORK='192.168.1.'
# 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.178.6 192.168.178.2 192.168.178.4 192.168.178.7'
#
# 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
#
# Password for access to the Tvheadend REST API
TVHEADEND_PASSWORD=xxxx
#
# IP for access to the Tvheadend REST API. Default: Autodetected from hostname
TVHEADEND_IP=localhost
#
# 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=900
#
# Autosuspension will be aborted if a recording is upcoming within the given
# duration (unit: minutes). Default: 15 minutes
TVHEADEND_IDLE_MINUTES_BEFORE_RECORDING=60
#
# 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'