easyVDR Kopie des easyVDR-Forums zum Nachschlagen
VDR Start einmal am Tag erzwingen

easyVDR - >VARforumsname - >VDR Start einmal am Tag erzwingen

marlow  19.Jan.2011 13:45:59
Hallo Leute,

möchte gern meinen VDR so einstellen, dass dieser immer um 16 Uhr automatisch Startet. Früher hatte ich das in einer RC... Datei eingetragen. Kann mir einer einen Tipp geben?

Gruß
Marlow

Hardware: ASUS M4N78-AM, AMD Sempron 140 AM3 2.70GHz, 160 GB HDD, GraKa Gainward 210, 2x TechnoTrend TT Budget S2-1600, Ausgabe über Tevion 42" Plasma HDready
Balu  19.Jan.2011 16:35:00
Ich mache das folgendermaßen wenn ich in den Urlaub fahre:
erstmal Wirbels exec Plugin installieren (http://wirbel.htpc-forum.de/exec/index2.html)
Damit steuere ich ein Scribt welches das EPG und den TV Info Merkzettel abholt sowie die Timer über das epgsearch Plugin aktualisiert.:
Auf der Konsole: svdrpsend.pl plug exec NEWT MTWTFSS:1600:0:1:1:1:1:/usr/share/myscript/switch.sh  eingeben.
switch.sh:

#!/bin/sh
svdrpsend.pl "MESG Kanäle werden aktualisiert .."
for (( K=1; $K < 33; K=$K+1 )); do
sleep 30
svdrpsend.pl chan $K
done;
svdrpsend.pl "MESG Aktualisierung beendet."
cd /usr/share/tvmovie2vdr
./tvinfomerk2vdr
svdrpsend.pl mesg "TVInfo Merkliste importiert" 2>/dev/null >/dev/null
svdrpsend.pl "MESG EPG wird aktualisiert ..."
touch /etc/vdr/plugins/epgsearch/.epgsearchupdate
sleep 300
svdrpsend.pl "hitk power"
# oder svdrpsend.pl "VDR - Poweroff."

ist vielleicht etwas umständlich, funktioniert aber 100%ig.

TEST-System: Q1900M * MSI GT730 * DD CT 6.5
Prod-System: Gen2VDR5.1 * Zotac D2550 *DELOCK 41341 Riser PCIe>2x PCI * 2x DVB-C 'Hapuppauge 1501'
Bitkit  19.Jan.2011 16:57:22
Hallo,
geht das nicht auch mit einem täglichen Timer? Was willst du denn erreichen?

Bitkit
Asus M3N78 Pro - AMD Athlon 4850e - Zotac Nvidia GT630 - DD Cine S2 5.5 plus Duoflex S2 (4 Tuner via Unicable SCR) -  Raspberry PI und Vomp for Windows als Client easyVDR 2.5
zzzözzz  19.Jan.2011 17:13:05
@bitkit: exec macht nichts anderes als Timer anlegen. Nur nehmen diese nicht auf, sondern führen beliebig definierbare Aktionen aus.
verleihnix  19.Jan.2011 17:28:45
Hi

Warum so umständlich ?

Es gibt doch in den Einstellungen (weiß im Augenblick nicht genau wo) die Auswahl
für tägl. Aufwachen --- Uhrzeit und Dauer.

Gruß Dirk

VDR-1: ATC620 , FSC1520 Cel.2G 512MB 160G, FF 2.1 , 2xKNC-S , GLCD 240x64 ,IR-Ein Rev4 , easyVDR 0.5rc1 VDR-2: ATC600 , FSC1520 Cel.2G 512MB 160G 2x400G, FF 2.1 , 2xKNC-S , GLCD 240x64 ,IR-Ein Rev4 , easyVDR 0.5rc1 TestVDR:  TUSL2C Cel.1.3G 512MB 20-80G, FF 1.3 , Nova-S oder KNC1 ,IR-Ein Rev4 , 
ItsMee  19.Jan.2011 17:38:59
Hi,

bei der 0.7 wurde das tägliche Aufwachen nicht genutzt wenn ein anderer Timer für den Tag gesetzt war. Frei nach 'ah, um 22:00 soll ich ja eh aufwachen, dann penne ich um 20:00 einfach durch'.

Darüber hatte ich mit dem etwas Testfaulen Schwaben ( :-) ) eine längere Diskussion, das angepasste Script hat funktioniert.
http://www.easyvdr-forum.de/forum/index.php/topic,3629.msg25972.html#msg25972

ItsMee
[url=http://vdr.itsmee.de/vdr2/]VDR2: EasyVDR 0.6.08 - HD-ready :)VDR3: EasyVDR 0.7.22 HD :)
P5N7A-VM / Pentium E5200 / GeForce 9300M3N78-VM / Sempron 140
vga2scart an Röhre / rsync gespiegeltes Foto ShareHDMI @ LG W2361V
Linux4Media Display mit HW patch gegen Geistertasten
[url=http://wiki.easy-vdr.de/index.php/Hilfe]Du brauchst Hilfe? Wir brauchen Daten!!
zzzözzz  19.Jan.2011 17:40:39
[quote='verleihnix link' pid='11277' dateline='1295454525']
Hi

Warum so umständlich ?

Es gibt doch in den Einstellungen (weiß im Augenblick nicht genau wo) die Auswahl
für tägl. Aufwachen --- Uhrzeit und Dauer.

Gruß Dirk


Erklär mal den *Mehraufwand*. Beides ist im OSD komplett konfigurierbar und in weniger als zwei min erledigt.
MFG  19.Jan.2011 18:49:48
Moin moin marlow,

nach ne Lösung,
in Live einen Wochen-Timer für die gewünschte Zeit und Dauer,
aber mit der Lebensdauer 1 oder 0,
dann wird der bei bedarf als erstes automatisch gelöscht - bevorzugt einen Radiosender.

MfG.
          MFG.
Sorry, das war mal dir Hardware, nu wechselt die zu oft ;-]
P4/1.8 1024 mit VGA, 100Mbit, USB 2.0 onBoard VGA misc HDDs CDRW2100E - DXR3 EM8300 original Hollywood+ V1 - DVB-C PCI Twinhan 2021 - DVB-T USB2.0 MSI DIGIVOX II V2+3
easyVDR 0.6.08 Kernel 2.6.28.9 - testing 0.7v5, vga2scart,... ;-]

[url=http://www.easyvdr-forum.de/forum/index.php?topic=5901.0]Du Brauchen Hilfe? Wir brauchen Daten! <-> [url=http://www.easyvdr-forum.de/forum/index.php?topic=5901.0]Indianer
mango  19.Jan.2011 19:12:20
Hallo,

noch nee Variante [url=http://www.vdr-wiki.de/wiki/index.php/Scheduler-plugin]Scheduler-Plugin!
Job's anlegen bis zum abwinken.

Gruss
Wolfgang
[spoiler="My VDR Stuff"]DVB-S/S2: Silverstone LC17 mit 8,4" TFT Display, ASUS P5KPL SE, E6300, 2GB, NT-Fanlees, System SSD 40GB, Media 2TB, GT630, DVD-LG, SkyStar S2, Nova-T, FB X10 Medion-Scroll, "Arch-Linux - VDR 2.3.8"
Test-VDR: ASRock ALiveNF6G, AMD X2 3800+ (35W),4GB, GT 630 - nvidia-384, SSD 64GB, SkyStar S2, Cinergy T RC USB, easyVDR 3.5(Kernel-4.4.0) - VDR-2.3.8 - KODI-18.0 - FB X10 Medion-Scroll
Client: Evo N600c, Puppy-Slacko 6.3 - VDR-2.2.0 - FB X10 Medion_OR25V
Spielwiese: RPI2 als Client mit LibreELEC-9.80-Milhouse(Kodi-19.0) - MLD-5.4 VDR2VDR
zzzözzz  19.Jan.2011 19:15:23
Scheduler-Plugin und exec-Plugin machen bis auf Kleinigkeiten genau das Gleiche. Eines von beiden genügt - je nachdem welches man mehr mag.

PS: cron Job geht auch :)
mango  19.Jan.2011 20:12:09
Hi Wirbel,

[quote='Wirbel link' pid='11277' dateline='1295460923']
PS: cron Job geht auch :)

mach auch nichts anderes!

Aber wenn aber eine Frage kommt
[quote='marlow link' pid='11277' dateline='1295441159']
Kann mir einer einen Tipp geben?
ist die Plugin Variante wohl der bessere Weg.

Gruss
Wolfgang
[spoiler="My VDR Stuff"]DVB-S/S2: Silverstone LC17 mit 8,4" TFT Display, ASUS P5KPL SE, E6300, 2GB, NT-Fanlees, System SSD 40GB, Media 2TB, GT630, DVD-LG, SkyStar S2, Nova-T, FB X10 Medion-Scroll, "Arch-Linux - VDR 2.3.8"
Test-VDR: ASRock ALiveNF6G, AMD X2 3800+ (35W),4GB, GT 630 - nvidia-384, SSD 64GB, SkyStar S2, Cinergy T RC USB, easyVDR 3.5(Kernel-4.4.0) - VDR-2.3.8 - KODI-18.0 - FB X10 Medion-Scroll
Client: Evo N600c, Puppy-Slacko 6.3 - VDR-2.2.0 - FB X10 Medion_OR25V
Spielwiese: RPI2 als Client mit LibreELEC-9.80-Milhouse(Kodi-19.0) - MLD-5.4 VDR2VDR
zzzözzz  19.Jan.2011 20:23:32
Stimmt.
marlow  20.Jan.2011 21:19:13
Hallo,

vvielen Dank für die Zahlreiche hilfe. Ich habe es nun wie hier beschrieben gemacht.

[url=http://www.easyvdr-forum.de/forum/index.php/topic,3629.msg25972.html#msg25972]Script von ItsMee

Danke.

Gruß
Marlow

Hardware: ASUS M4N78-AM, AMD Sempron 140 AM3 2.70GHz, 160 GB HDD, GraKa Gainward 210, 2x TechnoTrend TT Budget S2-1600, Ausgabe über Tevion 42" Plasma HDready
bla  25.Jan.2011 16:04:11
Dieses Script funktioniert hier nicht. Ich will den VDR immer um 4 Uhr aufwachen lassen. Steht heute Abend eine Aufnahme um 23 Uhr an, wird der Part

  if [ $HOUR_WAKEUP -gt $HOUR_ACPI ] ; then

nicht erfüllt, somit wird ADJUST = 1 und der Timer auf 4 Uhr geändert. So verpasst der VDR die Aufnahme um 23 Uhr.
marlow  25.Jan.2011 17:03:00
Da fragst Du genu den richtigen :)
Da must Du ItsMee fragen. Der kann Dir sichlich weiter helfen.

Gruß
Marlow
Hardware: ASUS M4N78-AM, AMD Sempron 140 AM3 2.70GHz, 160 GB HDD, GraKa Gainward 210, 2x TechnoTrend TT Budget S2-1600, Ausgabe über Tevion 42" Plasma HDready
bla  25.Jan.2011 17:29:04
Neee, das war keine Frage, sondern nur eine Feststellung. Ich habe es inzwischen anders gelöst... wenn der Test erfolgreich ist, poste ich es.
bla  26.Jan.2011 23:13:00
So funktioniert es jetzt bei mir. Die /usr/bin/easyvdrshutdown.sh muss editiert werden.

Der if-Block ab "if [ $[$TIMER+0] -gt 0 ] ; then" muss ersetzt werden:

DAILY=$(date -d "$(date +"%Y-%m-%d $WAKEUP_HOUR:00")" +%s) # tägliche aufwachstunde
DAILY=$(($DAILY-$WAKEUP_RESERVE))
NOW=$(date +%s) # jetzt
if [ $NOW -ge $DAILY ]; then DAILY=$(($DAILY+24*60*60)); fi
if [ $[$TIMER+0] -gt 0 ] ; then
  NEXT_TIMER=$(($TIMER - $WAKEUP_RESERVE))
  if [ $DAILY -lt $NEXT_TIMER ]; then NEXT_TIMER=$DAILY; fi
else
  NEXT_TIMER=$DAILY
  TIMER=$DAILY
fi

Das hat den Vorteil, dass man die Aufwachstunde im Menü einstellen kann und sie dann nicht nur mit ACPI funktioniert, sondern auch mit den anderen Aufwachmethoden (das ist allerdings nicht getestet).

Ich lasse per cron meine epgscan.sh ausführen, die so aussieht (ist auch etwas anders als Standard, weil sie nur einmal pro Transponder scannt und anschließend VDRAdmin zwingt, die automatischen Timer zu aktualisieren):

#!/bin/bash

SVDRPCMD=svdrpsend.pl

$SVDRPCMD CLRE
sleep 15

$SVDRPCMD CHAN +
$SVDRPCMD CHAN - > /ramdisk/svdrp.chan
lastchannel=`cat /ramdisk/svdrp.chan | awk '/^250/ { print $2 }'`
rm /ramdisk/svdrp.chan
sleep 5

OLDIFS=$IFS
IFS=$'\t'$'\n'
for i in `grep '^' /etc/vdr/channels.conf | awk -F ':' '{print $2$3$4":"$1}' | sort -nu | awk -F ':' '{print $2}' | awk -F ';' '{print $1}' | awk -F ',' '{print $1}'`; do
  $SVDRPCMD CHAN $i;
  sleep 15;
done
IFS=$OLDIFS

$SVDRPCMD CHAN $lastchannel
sleep 15

kill -SIGHUP $(pidof -x vdradmind.pl)
sleep 30

$SVDRPCMD HITK Power
ItsMee  27.Jan.2011 17:42:35
Dieses Script funktioniert hier nicht. Ich will den VDR immer um 4 Uhr aufwachen lassen. Steht heute Abend eine Aufnahme um 23 Uhr an, wird der Part

Code:  if [ $HOUR_WAKEUP -gt $HOUR_ACPI ] ; then
nicht erfüllt, somit wird ADJUST = 1 und der Timer auf 4 Uhr geändert. So verpasst der VDR die Aufnahme um 23 Uhr.

Da hat er recht - peinlich. Da fehlten wohl testcases mit einer sehr frühen Wakeup time.

Dein Ansatz mit daily + 24 Stunden gefällt mir. Der Timer wird auch bei ACPI (ohne Datum) korrekt gesetzt? Der Wert (Datum + Zeit) müsste ja eigentlich korrekt gesetzt werden, soweit ich das bei der Kälte hier (-19°) richtig durchblicke..

Wäre dann ggf. eine Überlegung wert ob es über ienen Test ins Release gehen sollte?

K+

ItsMee
[url=http://vdr.itsmee.de/vdr2/]VDR2: EasyVDR 0.6.08 - HD-ready :)VDR3: EasyVDR 0.7.22 HD :)
P5N7A-VM / Pentium E5200 / GeForce 9300M3N78-VM / Sempron 140
vga2scart an Röhre / rsync gespiegeltes Foto ShareHDMI @ LG W2361V
Linux4Media Display mit HW patch gegen Geistertasten
[url=http://wiki.easy-vdr.de/index.php/Hilfe]Du brauchst Hilfe? Wir brauchen Daten!!
michel8  27.Jan.2011 18:18:49
Hi,

wenn ich ein OK für die verschiedenen Aufwachmethoden bekomme editiere ich die /usr/bin/easyvdrshutdown.sh mit dem Update2 wie folgt:
Aus
if [ $[$TIMER+0] -gt 0 ] ; then
  NEXT_TIMER=$(($TIMER - $WAKEUP_RESERVE))
else
  NEXT_TIMER="0"
fi

wird
[quote='bla link' pid='11277' dateline='1296079980']
if [ $[$TIMER+0] -gt 0 ] ; then
  NEXT_TIMER=$(($TIMER - $WAKEUP_RESERVE))
  if [ $DAILY -lt $NEXT_TIMER ]; then NEXT_TIMER=$DAILY; fi
else
  NEXT_TIMER=$DAILY
fi

Richtig?

Aber soll generell die epgscan.sh auch entsprechend dem Vorschlag von bla geändert werden?
Was hätte das für Konsequenzen für andere Systeme ?

Da fehlt mir das Verständnis für die Zusammenhänge...

Danke und Gruß
Michel

Danke für Euer Feedback
Michel
Produktiv-VDR:
msi K9N2G-Neo (nvidia 8200 onBoard) mit Athlon X2 4850e mit SamuraiZZ
2xNova-HDS2, DH102
bla  27.Jan.2011 19:36:36
Die anderen Aufwachmethoden kann ich nicht testen, weil ich nur ACPI nutze. Allerdings wird die Timer-Variable ja von meiner Änderung vor dem ganzen anderen Kram geändert. Somit sollte da nix passieren.
Ich bin erst zwei Wochen oder so mit EasyVDR zugange, vorher hatte ich etwa 6 Jahre ein LinVDR-System am Laufen, was ich ziemlich modifiziert hatte, von daher weiß ich normalerweise, was ich tue, aber auch mir fehlen hier bei EasyVDR noch die Zusammenhänge (es ist einfach so megamäßig viel vorinstalliert)!
Die epgscan.sh sollten einfach noch einige Leute testen, denke ich. Hier funktioniert sie wunderbar, aber man weiß ja nie. Ein Unterschied ist, dass der VDR ganz am Ende abgeschaltet wird. :)

Ein paar Sachen, die vielleicht noch zu bedenken wären:
- Der Menüpunkt heißt ja "ACPI-Aufwachstunde" (oder sinngemäß). Durch meine Änderung müsste er also dann eigentlich nur noch "Tägliche Aufwachstunde" heißen und aus dem ACPI-Menü weg und woanders hin.
- In der easyvdrshutdown.sh, direkt über diesem if-Block wird irgendeine Variable definiert (irgendwas mit ASC...). Ich kann jetzt nicht nachgucken, aber es scheint, als würde diese Variable gar nicht benutzt? Ich habe sie hier kurzerhand entfernt... noch ist alles ok.
- Unter "Settimer" in der easyvdrshutdown.sh wird folgendes gemacht:
      Wakeup=`date -d "$NEXT_TIMER_SETTIME" +%s`
Interessant ist, dass einige Zeilen weiter oben DAS gemacht wird:
NEXT_TIMER_SETTIME=$(date -d "1970-01-01 UTC $NEXT_TIMER seconds" +"%Y-%m-%d %H:%M:00")
Zwischendurch passiert nichts mit $NEXT_TIMER_SETTIME. Im Prinzip heißt das also nur, dass $Wakeup und $NEXT_TIMER gleich sein sollten... ist alles ein bisschen schlampig irgendwie. *g* Da ich settimer nicht benutze, habe ich mich nicht weiter drum gekümmert. Aber es sollte sich auch mal jemand anschauen.

PS: Achja, was sollte mit der alten Logik um die ACPI-Aufwachstunde in der easyvdrshutdown.sh passieren? Die habe ich bei mir drin gelassen, weil sie nicht schadet. Aber sauberer wäre es, sie zu entfernen.
a_client  22.Feb.2011 23:46:40
hallo bla,

mit deinen änderungen geht der bei mir nur! täglich an, wenn mindestens ein timer ( z.b. am donnerstag ) existiert. wenn gar kein timer existiert geht er leider nicht täglich an.  >:(

klar hat man oft timer mal in der woche, nur ist das wirklich so gewollt von dir?

grüße a_client

1 * easyvdr 0.8 gforce 9500, coreduo, skystar 2, skystar hd (noch nicht ganz umgezogen / fertig)
1 * easyvdr 0.6.10, 2*skystar 2 (sd) wartet auf den 0.8er
bla  24.Feb.2011 00:01:35
Du hast recht, das ist natürlich nicht gewollt und fiel bisher nicht auf. Der Grund ist der, dass im späteren Verlauf des Scripts nicht nur $NEXT_TIMER wichtig ist, sondern auch $TIMER. Ohne gesetzten Timer ist die Variable leer. Da nützt die ganze Rechnerei vorher nix, wenn das Script später noch $TIMER überprüft.

Lösung für das Problem:
Eine weitere Zeile ergängen, die $TIMER setzt. Das ist der besagte IF-Block. Die vorletzte Zeile ist neu:

DAILY=$(date -d "$(date +"%Y-%m-%d $WAKEUP_HOUR:00")" +%s) # tägliche aufwachstunde
DAILY=$(($DAILY-$WAKEUP_RESERVE))
NOW=$(date +%s) # jetzt
if [ $NOW -ge $DAILY ]; then DAILY=$(($DAILY+24*60*60)); fi
if [ $[$TIMER+0] -gt 0 ] ; then
  NEXT_TIMER=$(($TIMER - $WAKEUP_RESERVE))
  if [ $DAILY -lt $NEXT_TIMER ]; then NEXT_TIMER=$DAILY; fi
else
  NEXT_TIMER=$DAILY
  TIMER=$DAILY
fi