#wunschliste #bash #NAS
Vor einiger Zeit hatte ich ja bereits das wunschliste bash-Skript vorgestellt, mit dessen Hilfe man Infos (Episoden, Inhalte, Ausstrahlungtermine) von Serien erhalten kann. In diesem Beitrag möchte ich zeigen, wie man dieses Skript als “TV-Agent” auf einem NAS nutzen kann.
Zum Hintergrund will ich nur kurz darauf eingehen, daß ich seit einiger Zeit verschiedene “VU+”-PVRs nutze – momentan eine “Uno4k”. Sie verfügt über einen sogenannten “FBC-Tuner”, d.h. es ist ein DVB-C-Tuner mit acht Demodulatoren. Es ist daher möglich mindestens acht Sendungen gleichzeitig aufzuzeichnen. Durchaus auch mehr, da sich auf einer Frequenz (Kanal) mehrere Programme befinden. Als Konsequenz schaue ich so gut wir gar nichts mehr “linear”, d.h. zu dem Zeitpunkt an dem jemand vorgesehen hat es müsste gesehen werden – womöglich so gar noch mit Werbung! 😉
So ergibt sich das “Problem” die Timer des PVR zuverlässig mit den Sendungen zu programmieren, die man gerne sehen würde. wunschliste vereinfacht das mit der im letzten Beitrag vorgestellten Option -l
enorm. Nach dem Ausführen des Skripts mit geignet definierter Listendatei als “cron job” auf dem NAS hat man jeden Morgen eine eMail mit den aktuellen Timerprogrammiereungen!
Zunächst muß das Skript auf dem NAS “installiert” werden. Dazu kopiert man es zunächst z.B. auf eine Netzwerkfreigabe und verschiebt es nach dem Einloggen auf dem NAS (ssh
) in ein Verzeichnis, das im $PATH
enthalten ist, z.B. /usr/local/bin
.
$ ssh -p 2200 user@192.168.1.111
user@192.168.1.111's password:
user@jknas:~$ cd /volume1/public/
user@jknas:/volume1/public$ ls -al wunschliste
-rwxrwxrwx+ 1 user users 15561 Jun 21 15:35 wunschliste
user@jknas:/volume1/public$ sudo mv wunschliste /usr/local/bin/
Password:
user@jknas:/volume1/public$ cd /usr/local/bin/
user@jknas:/usr/local/bin$ sudo chmod 755 wunschliste
user@jknas:/usr/local/bin$ ls -al wunschliste
-rwxr-xr-x 1 user users 15561 Jun 21 15:35 wunschliste
user@jknas:/usr/local/bin$ cd ~
user@jknas:~$ wunschliste -v
This is version v2.1a (2017/06/21) of wunschliste
(C) Josef Kleber gpl3
Damit steht das Skript nun auch auf dem NAS zur Verfügung! Aber wie kommt man nun zu den Timerprogrammierungen? Dazu kopieren wir folgendes Skript auf das NAS
1 2 3 4 5 6 7 8 9 10 11 12 |
# search for today's recordings cd /var/services/homes/user export WL_PAYTV='( sky | tnt | crime | passion | sony | atv | romance | syfy | axn | entertainment | emotions | fox )' timestamp=$(date '+%H:%M:%S %d.%m.%Y') today=`date '+%d.%m.%Y'` todayiso=`date '+%Y-%m-%d'` tomorrow=`date '+%d.%m.%Y' -d "$todayiso + 1 day"` echo -e "\n-- ($timestamp) -------------------------------------------------------\n" >aufnahmen.txt wunschliste -l /path/to/wunschliste.rec | grep -B 2 -e "$today" -e "$tomorrow" --group-separator=" " >>aufnahmen.txt echo -e "\n--------------------------------------------------------------------------------\n" >>aufnahmen.txt cat aufnahmen.txt exit 0 |
Zunächst wechseln wir ins HOME
-Verzeichnis des Users und definieren die Umgebungsvariable WL_PAYTV
mit den Sendern, die grundsätzlich in den Ergebnissen ausgeschlossen werden sollen. Danach definieren wir die Variablen timestamp
und die Tage today
und tomorrow
im benötigten ‘dd.mm.yyyy’-Format. Danach können wir die Linien und die mit grep
gefilterte Ausgabe von wunschliste
in die Datei aufnahmen.txt
schreiben. Abschließend schreiben wir die Datei noch auf STOUT
für die eMail-Benachrichtigung vom NAS.
Zu guter Letzt definieren wir in der “Systemsteuerung” des NAS noch einen täglichen “cron job” im “Aufgabenplaner”. Nach geeignetem Auffüllen der Datei wunschliste.rec erhält man dann jeden Morgen eine eMail mit den zu programmierenden Timern der nächsten zwei Tage!
Zusätzlich laufen bei mir noch wöchentliche “cron jobs” mit der Wunschliste für Serien und Filme mit folgenden Skripten:
1 2 3 4 5 6 7 8 9 |
# search for series cd /var/services/homes/user export WL_PAYTV='( sky | tnt | crime | passion | sony | atv | romance | syfy | axn | entertainment | emotions | fox )' timestamp=$(date '+%H:%M:%S %d.%m.%Y') echo -e "\n-- ($timestamp) -------------------------------------------------------" >wunschliste_serie.txt wunschliste -l /path/to/serie.tv >>wunschliste_serie.txt echo -e "\n--------------------------------------------------------------------------------\n" >>wunschliste_serie.txt cat wunschliste_serie.txt exit 0 |
1 2 3 4 5 6 7 8 9 |
# search for movies cd /var/services/homes/user export WL_PAYTV='( sky | tnt | crime | passion | sony | atv | romance | syfy | axn | entertainment | emotions | fox )' timestamp=$(date '+%H:%M:%S %d.%m.%Y') echo -e "\n-- ($timestamp) -------------------------------------------------------" >wunschliste_movie.txt wunschliste -ml /path/to/movie.tv >>wunschliste_movie.txt echo -e "\n--------------------------------------------------------------------------------\n" >>wunschliste_movie.txt cat wunschliste_movie.txt exit 0 |
Andere Beiträge zum diesem Thema gibt es unter dem Tag wunschliste!
README
wunschliste [options]
fetches list of episodes (with contents), upcoming broadcasts of
tv series (-t and/or -T) or the very same for movies (-m) using
www.wunschliste.de as online database. Tested with:
- CYGWIN_NT-10.0 2.8.0(0.309/5/3) 2017-04-01 20:47 x86_64 Cygwin
- Linux 3.2.40 #15101 SMP Mon May 22 10:01:58 CST 2017 armv7l
GNU/Linux synology_armada375_ds215j
See wunschliste -h
for a more verbose description.