Mal wieder Zeitumstellung

  • Hallo


    In der Nacht von Samstag auf Sonntag ging mal wieder eine Aufnahme daneben.
    Die Ursache ist schnell gefunden:

    Code
    Oct 27 00:53:00 [vdr] [3213] timer 1 (7 0115-0230 'Der Kautions-Cop') set to event Son 27.10.2013 01:24-02:22 'Der Kautions-Cop


    Leider gibts die Zeit 02:22 zweimal und vdr nimmt natuerlich den ersten "Match" zum Beenden der Aufnahme.
    Wie koennte man das in den Griff bekommen ?
    Sinnvoll waere vermutlich, wenn anstelle des EndeZeitpunkt einfach die Dauer der Aufnahme gespeichert wird ...


    Gruss
    Helmut

  • Das Thema gabs gestern schon (wie eiegentlich mindestens 1 mal im Jahr ), eine Lösung nicht in Sicht. Dauert vermutlich, bis die Zeitumstellung abgeschafft twird. :D


    Timerproblem bei Zeitumstellung

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Bei einem Timer zu der Stunde setze ich die Endezeit manuell auf nach drei Uhr. Lieber zu viel aufnehmen, als zu wenig.


    Lars

  • Mist - hat die Suchfunktion versagt :)
    Aber ich denke das generelle Problem sind die VDR Timereinstellungen.
    Wie geschrieben statt einer "Endzeit" sollte die Dauer eingestellt werden. Diese ist eindeutig, die Zeit nicht.
    Da Klaus grade an einer Developer Version arbeitet waere das doch ne Idee ;)

  • Wäre es nicht auch einfach möglich kurz vor dem Beenden der Aufnahme nochmal gegenzuprüfen ob die Endezeit wirklich erreicht wurde? Wenn nicht dann wird halt noch ne Stunde aufgenommen.


    Das nuetzt wenig denn VDR weiss ja nicht, welches 2.15 Uhr gemeint ist.
    Das gleiche Problem besteht aber auch wenn der Start zwischen 2 und 3 Uhr liegt, somit ists mit der Dauer auch nicht getan :( Somit waere die einfachste Loesung, Aufnahmen welche im Zeitumstellungsrahmen enden (also nur bei der Umstellung auf Winterzeit) einfach eine Stunde laenger laufen zu lassen ...

  • Hi !


    bei o.g. Aufnahme geht es nicht.. er prüft das erste mal wenn es das erste mal 2:15 Uhr ist, und beendet die aufnahme
    Sicherer waers das per dauer zu machen und abschliessend den Uhrzeit-Check zu machen...


    Gruss Gerd

    vdr => p8b75-m lx / pentium g2020t / 8 GB Ram / zotac gt 630 / cine S2 V5.5 / 60 gb ocz ssd / 640 gb wd scorpio blue / display noritake 256x64-3900 / chenbro PC71023 gehaeuse / yavdr stable / softhddevice


    spielsystem => p8b75-m le / intel core i3 3220T / ubuntu lts 14.04 / 16 GB ram / zotac gt 630 / cine S2 V6.2 / yavdr stable pakete / softhddevice / pulseaudio+alsa


    spielwiese => Zotac Zbox ID45 / 120 GB mSATA / via Satip => Octopus Net / yavdr stable / softhddevice

  • Eine Umstellung auf Startzeit/Dauer hilft auch nichts, wie schon weiter oben geschrieben wurde.
    Das Problem ist einfach, daß es die Stunde zwischen 02:00 und 03:00 Uhr zweimal gibt. Am besten sollten daher Timer, die in einer dieser beiden Stunden beginnen oder enden, spätestens um 01:59 beginnen und frühestens um 03:01 enden. Dann wird zwar unter Umständen zu viel aufgenommen, aber das ist immer noch besser als zu wenig. Da dieser Fall nur einmal im Jahr auftritt und sich auf die genannte Weise leicht umgehen läßt, möchte ich dafür auch keine aufwendige Sonderbehandlung in VDR einbauen. Falls es einem Tool, welches Timer generiert, wichtig ist, diesen Fall zu behandeln, dann kann es ja die Start/Stop-Zeiten wie beschrieben außerhalb dieser Zeit verschieben.


    Sollte jemand einen einfachen Patch für die cTimer::Matches()-Funktion(en) angeben können, der eine solche Verschiebung von Zeiten, die in die "doppelte Stunde" fallen einbaut, schaue ich mir das gerne an.


    Klaus

  • Wie kommen denn die Zeiten über EPG an? Kommen die in Lokalzeit oder in UTC?


    In UTC - so steht es ja auch in der epg.data (der VDR wird dann vermutlich mal ein Jahr 2038 Problem wegen dem 32-Bit Wert für den Timestamp haben): http://vdr-wiki.de/wiki/index.php/Epg.data#E
    Das Problem liegt IMHO im Format der timers.conf (und der Methode um die Wiederholungstimer zu berechnen), weil da die eindeutigen UTC-Timestamps gegen Angaben in Lokalzeit ohne DST-Markierung ausgetauscht werden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn es Richtung 2038 geht, dann könnte man hier einfach auf ein "long long" umstellen. Bis dahin sind aber noch ganz andere Dinge zu lösen, denn der Kernel an sich ist nicht 2038 fähig. Zumindest nicht auf 32bit-Systemen. Hier bin ich nach wie vor auf die endgültige Lösung gespannt, denn etliche Embedded-Plattformen laufen mit 32bit.


    Wenn man die DST-Markierung mit in die timers.conf integriert, dann sollte sich das Problem aber doch lösen lassen, oder? Beim Wandeln von UTC nach Lokalzeit bekommt man diese Info geliefert und beim Abprüfen, ob die Aufnahme fertig ist, kann man diese dann wieder mit einbeziehen.


    Somit würde es die Stunde von 2:00 nach 3:00 auch nicht mehr zweimal geben, denn einmal ist diese noch in DST und einmal nicht in DST. Also wenn schon kein UTC in der timers.conf, dann müsste hier definitiv das DST-Flag mit rein.

  • Wenn es Richtung 2038 geht, dann könnte man hier einfach auf ein "long long" umstellen. Bis dahin sind aber noch ganz andere Dinge zu lösen, denn der Kernel an sich ist nicht 2038 fähig.


    Diesmal denkst Du aber erstaunlich langfristig. :D


    Was in 25 Jahren passiert… :?:


    Albert


  • Also zurück zum DST-Problem. Wo könnte man denn die DST-Info in der timers.conf verstecken? Ein neues Feld ganz an's Ende bauen?


    Nur um unnötige Arbeit zu vermeiden (und die eventuelle Enttäuschung): Es wird kein DST-Feld in der timers.conf geben!
    Das Ganze ist kein wirkliches Problem, das irgendwelchen größeren Aufwand lohnen würde. Setzt die kritischen Timer einfach entsprechend länger und gut ist's.


    Klaus

  • Sorry, aber im Zeitalter der Funkuhr, bzw. NTP und ähnlicher Zeitabgleichs-Hilfsmittel denkt da kein Mensch mehr dran! Wenn mich keiner drauf hingewiesen hätte, hätte ich garnicht gemerkt, dass Zeitumstellung war. Alle meine Uhren hatten sich im wahrsten Sinne des Wortes "im Schlaf" bereits umgestellt.


    Wenn schon so Wurgarounds, dann sollte der VDR diese spezielle Stunde selber erkennen und automatisch die Anfangs- und Endzeit an unkritische Stellen verschieben.

  • Wenn schon so Wurgarounds, dann sollte der VDR diese spezielle Stunde selber erkennen und automatisch die Anfangs- und Endzeit an unkritische Stellen verschieben.


    Wenn VDR das automatisch machen würde, würde es etliche Anfragen geben warum der VDR auf einmal einen Timer so komisch anlegt, eventuell auch Beschwerden wenn die Aufnahmen nach manueller Änderung des Timers nicht vollständig wären.


    Die einzige Lösung wäre diesen Zeitumstellungsblödsin gesetzlich abzuschaffen.


    P.s.
    Ich kenn Jemanden der damit überhaupt keine Probleme hat (dafür andere Probleme), der ist Hobby-Astronom und alle seine Uhren zeigen ausschließlich UTC an. Auf die Frage: "Wie spät ist es?" antwortet er: "Frag mich besser nicht danach."

  • Die einzige Lösung wäre diesen Zeitumstellungsblödsin gesetzlich abzuschaffen.

    Natürlich. Man schafft weltweit alle Zeitumstellungen ab :rolleyes:

    P.s.
    Ich kenn Jemanden der damit überhaupt keine Probleme hat (dafür andere Probleme), der ist Hobby-Astronom und alle seine Uhren zeigen ausschließlich UTC an.

    Es ist ja nur ein Problem der Implementierung im VDR, weil er für eine vermeintlich leichtere aber dafür eben fehlerhafte Lösung Informationen wegwirft, die man eigentlich noch braucht... Aber die Zeitzone auf UTC zu stellen wäre in der Tat ein Workaround, bei dem das Problem nicht mehr auftreten würde (auch wenn dann die Wiederholungstimer nach der Zeitumstellung verschoben wären, aber sobald man Aufnahmen von einem Sender mit einer abweichenden Sommer-/Winterzeitregelung machen will, ist das ganze sowieso ein ziemliches Glücksspiel bei dem man sich die zukünftige Lokalzeit für den Timer ausrechnen muss) :P

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Aber die Zeitzone auf UTC zu stellen wäre in der Tat ein Workaround, bei dem das Problem nicht mehr auftreten würde :P


    Dann musst Du aber dem Benutzer auch beibringen manuelle Timer als UTC einzugeben :)
    Die einfachste Loesung waere meiner Meinung nach, vor Beenden der Aufnahme zu ueberpruefen ob man sich gerade im kritischen Zeitraum befindet (also zwischen 2 und der ersten 3 bei der Umstellung auf Winterzeit) und dann eine Stunde dranzuhaengen. Aber auf die Schnelle hab ich noch nicht gefunden wie ich das Umsetzen koennte ...


  • Die einfachste Loesung waere meiner Meinung nach, vor Beenden der Aufnahme zu ueberpruefen ob man sich gerade im kritischen Zeitraum befindet (also zwischen 2 und der ersten 3 bei der Umstellung auf Winterzeit) und dann eine Stunde dranzuhaengen. Aber auf die Schnelle hab ich noch nicht gefunden wie ich das Umsetzen koennte ...


    Man geht mit der aktuellen Lokalzeit nach UTC, addiert eine Stunde und dann zurück auf Lokalzeit. Wenn man dann wieder die gleiche Stunde geliefert bekommt (also nicht wie erwartet eine später), dann ist man in der kritischen Stunde.

Jetzt mitmachen!

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