[epgsearch] Suchtimer erzeugt nicht alle passenden Timer

  • Hi *,


    ich habe einen Suchtimer, der Timer für die Fußball Nations League Spiele erzeugen soll:

    Quote

    epgsearch.conf:


    64:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::2:ALLUNIQ:0:4:1:1:0:0:::1:0:0:0:Sport~Fußball~UEFA_Nations_League~%rec_template%:50:99:10:20:1:0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0

    Morgen findet das Spiel Deutschland - Ungarn statt, das vom ZDF in zwei Sendungen ausgestrahlt wird - je eine pro Halbzeit.

    Leider findet epgsearch nicht beide Halbzeiten, obwohl kein Wiederholungsausschluss definiert ist:


    In live :


    Eine Suche in live mit den entsprechenden Parametern:


    findet auch beide Sendungen:


    Wieso erzeugt egpsearch den Timer für die zweite Halbzeit nicht?

    Danke und ciao.

    Michael.

  • Interessanterweise weiß epgsearch, dass es zwei Sendungen sind, weil er zweimal mit verschiedenen EventIDs mein Script aufruft, das den Recording-Namen zusammenbaut:

    Code
    Sep 06 22:11:11 server vdr[3369]: [3410] executing command '/etc/vdr/plugins/epgsearch/epgsearch_mkrecording_user --eventid=12788 --title='sportstudio live' --subtitle='UEFA Nations League - Deutschland - Ungarn' --year='2024' --season_no='' --episode_no='' --episode_name='' --season_no_tvsp='' --episode_no_tvsp='' --episode_name_tvsp='''
    Sep 06 22:11:11 server vdr[3369]: [3410] executing command '/etc/vdr/plugins/epgsearch/epgsearch_mkrecording_user --eventid=57997 --title='sportstudio live' --subtitle='UEFA Nations League - Deutschland - Ungarn' --year='2024' --season_no='' --episode_no='' --episode_name='' --season_no_tvsp='' --episode_no_tvsp='' --episode_name_tvsp='''

    Trotzdem bleibt am Ende nur ein Timer übrig.

  • Bei mir werden mit

    Code
    172:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::1:S19.2E-1-1011-11110:0:4:1:1:0:0:::1:0:0:0::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:2::1:0:0:0:0:0:0:0:0:0:90::0  

    2 Timer erzeugt.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Wenn man mit vdr einen Timer für die erste Halbzeit mit VPS=ja erzeugt, werden beide Halbzeiten in der Programmübersicht mit T bzw. TV markiert, weil sie die gleiche VPS-Zeit haben. Das hat bei mir auch immer zum Aufnehmen funktioniert. Ich nehme an, dass die Voreinstellung für VPS bei dir eine Rolle spielt.

    vdr-2.6.9

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Wenn man mit vdr einen Timer für die erste Halbzeit mit VPS=ja erzeugt, werden beide Halbzeiten in der Programmübersicht mit T bzw. TV markiert, weil sie die gleiche VPS-Zeit haben. Das hat bei mir auch immer zum Aufnehmen funktioniert. Ich nehme an, dass die Voreinstellung für VPS bei dir eine Rolle spielt.

    Naja, VPS=ja bei diesem Suchtimer.

  • Bei mir werden mit

    Code
    172:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::1:S19.2E-1-1011-11110:0:4:1:1:0:0:::1:0:0:0::50:99:2:10:0:0:0::0:0:0:0:0:0:0:0:0:0:0:2::1:0:0:0:0:0:0:0:0:0:90::0  

    2 Timer erzeugt.

    Aha, was machst du "falsch"? :)

  • Das ist doch aus der Antwort von TomJoad klar:

    Dein Timer ist mit VPS, der von MarkusE nicht. Und wenn beide Events die gleiche VPS Start Zeit haben, sind das mit VPS zwei Timer mit der gleichen Zeit. Und das geht nicht.


    172:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::1:S19.2E-1-1011-11110:0:4:1:1:0:0:::1:0:0:0::50:99:2:10: 0 :0:0::0:0:0:0:0:0:0:0:0:0:0:2::1:0:0:0:0:0:0:0:0:0:90::0

    64:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::2:ALLUNIQ:0:4:1:1:0:0:::1:0:0:0:Sport~Fußball~UEFA_Nations_League~%rec_template%:50:99:10:20: 1 :0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0

  • Das ist doch aus der Antwort von TomJoad klar:

    Dein Timer ist mit VPS, der von MarkusE nicht. Und wenn beide Events die gleiche VPS Start Zeit haben, sind das mit VPS zwei Timer mit der gleichen Zeit. Und das geht nicht.


    172:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::1:S19.2E-1-1011-11110:0:4:1:1:0:0:::1:0:0:0::50:99:2:10: 0 :0:0::0:0:0:0:0:0:0:0:0:0:0:2::1:0:0:0:0:0:0:0:0:0:90::0

    64:(UEFA!^pipe^!Fußball)[|]{0,1}\s+Nations\s+League:0:::2:ALLUNIQ:0:4:1:1:0:0:::1:0:0:0:Sport~Fußball~UEFA_Nations_League~%rec_template%:50:99:10:20: 1 :0:0::0:0:0:0:0:0:0:0:0:0:0:0::1:0:0:0:0:0:0:0:0:0:90::0

    Jau, wenn man VPS=nein setzt, werden beide Timer erzeugt.

    Das ist aber eher unschön.

    Würde denn der zweite Timer erzeugt, wenn der erste durch ist?

  • Ja, irgendwann beim nächsten Suchtimer Update (default: alle 30 Min).

    Eher unwahrscheinlich, dass das rechtzeitig zum Start passiert.

  • Wir können ja mal testen, ob ein timer mit VPS beide Events aufzeichnet. Sollte eigentlich so sein

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Ich hab den Suchtimer-Update mal auf 15 Mins gesetzt.

    Wenn der allerdings erst nach Ende der ersten Aufnahme reagiert, weil ja diese und damit der zugehörige Timer noch laufen, wird das nix.

  • Vorher kann er keinen Timer erzeugen, weil ja der gleiche noch da ist.

    Du erwartet jetzt, dass er mit einem Update alle 15 Minuten in die 10 Minuten Abstand trifft. Ich würde mal sagen 66% Change, dass es passt.

  • Die Chance wurde genutzt :)

    Der Timer wurde elektrisch angelegt, ohne dass ich nochmals eingreifen musste.


    Thx@all!

  • Zu früh gefreut - der Timer ist da, aber VDR startet die Aufnahme nicht 8-<

    Ich musste nochmals zu Fuß den Suchtimerupdate starten.

  • Hi,


    Ich habe testweise manuell einen Timer für das 1. Event angelegt. VDR setzt den Timer auf das 2. Event:

    Code
    2024-09-07T17:54:08.698041+02:00 rpi4s vdr: [940072] timer 20 (2 2015-2130 VPS 'sportstudio live') set to event Sa. 07.09.2024 21:40-23:30 (VPS: 07.09. 20:15) 'sportstudio live'  

    VDR bekommt um 20:51 (zufällig) eine Änderung des Status des Events mit:

    Code
    2024-09-07T20:51:50.838046+02:00 rpi4s vdr: [940076] channel 2 (ZDF HD) event Sa. 07.09.2024 20:15-21:30 (VPS: 07.09. 20:15) 'sportstudio live' status 1->4 

    Schlecht:

    VDR sollte das erste Event finden, das zu der VPS Zeit passt. Und entsprechend 2 min vor Beginn des ersten Events auf den Sender schalten und die Änderung des Status des Events mitbekommen. Dann hätte VDR die Aufnahme rechtzeitig (so um 20:15) gestartet, und nicht erst um 20:51.

    Gut:

    Immerhin hat VDR dem Timer jetzt das 1. Event zugeordnet und die Aufnahme gestartet:

    Code
    2024-09-07T20:51:51.877605+02:00 rpi4s vdr: [940072] timer 20 (2 2015-2130 VPS 'sportstudio live') set to event Sa. 07.09.2024 20:15-21:30 (VPS: 07.09. 20:15) 'sportstudio live' 
    2024-09-07T20:51:51.879693+02:00 rpi4s vdr: [940072] timer 20 (2 2015-2130 VPS 'sportstudio live') start


    Hier noch die weiteren Log Einträge:


    Das sieht eigentlich gut aus.

    kls , kannst Du Dir das bitte mal anschauen. Vermutlich könnte man das lösen, indem man einem VPS Timer, bei dem mehrere Events die korrekte VPS Zeit haben, immer das Erste dieser Events zuordnet.

    Und den VPS Timer erst dann löscht, wenn es kein Event zur VPS Zeit mehr gibt. Dieser Punkt ist möglicherweise schon implementiert.


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Bei mir funktioniert das alles mit VPS und epgsearch ohne Klimmzüge, es wird ein Timer auf den 1.Event gesetzt und es werden 2 Aufnahmen erzeugt, eine von der 1.Halbzeit mit ganzem Vorlauf und eine von der 2.Halbzeit mit ganzem Nachlauf.

    vdr 2.6.9 ohne Änderungen im Timer-Komplex

    vdr-2.6.9

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

    Edited once, last by TomJoad ().

  • Ich habe testweise manuell einen Timer für das 1. Event angelegt. VDR setzt den Timer auf das 2. Event

    Wie hast du denn den Timer angelegt?

    War zu dem Zeitpunkt der erste Event im VDR-Menü vorhanden?

    VDR sollte das erste Event finden, das zu der VPS Zeit passt

    Das macht er doch (siehe cTimer::SetEventFromSchedule()). Klappt aber freilich nur, wenn dieser Event auch bereits in der Liste ist.

    VDR bekommt um 20:51 (zufällig) eine Änderung des Status des Events mit

    Hast du evtl. "EPG pause after scan" eingeschaltet, und um 20:51 hat er erstmals diesen Event gesehen?

    Poste doch mal die Log-Zeilen davor.

    Vermutlich könnte man das lösen, indem man einem VPS Timer, bei dem mehrere Events die korrekte VPS Zeit haben, immer das Erste dieser Events zuordnet.

    Das sollte eigentlich bereits so sein:

    Code
                         if (overlap > FULLMATCH)
                            break; // take the first matching event

    Und den VPS Timer erst dann löscht, wenn es kein Event zur VPS Zeit mehr gibt

    Auch das sollte bereits so funktionieren.

  • Wie hast du denn den Timer angelegt?

    War zu dem Zeitpunkt der erste Event im VDR-Menü vorhanden?

    Ich habe den Timer aus dem live plugin angelegt, und zwar zum ersten Event. Also ja, das erste Event war vorhanden.


    Das macht er doch (siehe cTimer::SetEventFromSchedule()).

    Code
                         if (overlap > FULLMATCH)
                            break; // take the first matching event

    Auch das sollte bereits so funktionieren.

    Leider funktioniert das nicht. Kann dieser Falls überhaupt eintreten (overlap > FULLMATCH)?

    Sollte bei VPS Timern overlap nicht ignoriert werden? Genau dazu gibt es doch die VPS Zeit, dass ich Events eindeutig (ohne zusätzliche Prüfungen) einem Timer zuordnen kann.



    > Hast du evtl. "EPG pause after scan" eingeschaltet, und um 20:51 hat er erstmals diesen Event gesehen?

    Ja. Aber es sollte trotzdem funktionieren.



    ~ Markus


    P.S.: Vermutlich müsste man zur Lösung einfach nur die Prüfung "if (overlap > FULLMATCH)" entfernen.

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Kann dieser Falls überhaupt eintreten (overlap > FULLMATCH)?

    Ja, bei VPS-Timern. Siehe:

    Code
    eTimerMatch cTimer::Matches(const cEvent *Event, int *Overlap) const
    {
      // Overlap is the percentage of the Event's duration that is covered by
      // this timer (based on FULLMATCH for finer granularity than just 100).
      // To make sure a VPS timer can be distinguished from a plain 100% overlap,
      // it gets an additional 100 added, and a VPS event that is actually running
      // gets 200 added to the FULLMATCH.

    Vermutlich müsste man zur Lösung einfach nur die Prüfung "if (overlap > FULLMATCH)" entfernen.

    Das glaube ich nicht, siehe oben.

    Ich habe den Timer aus dem live plugin angelegt, und zwar zum ersten Event. Also ja, das erste Event war vorhanden.

    Ich weiß nicht, was "live" da so macht. Ich habe jetzt mal einen Timer auf


    Sun 15.09.2024 16:15-17:00 (VPS: 15.09. 16:15) 'sportstudio live'


    gesetzt und folgendes steht im Log:


    timer 0 (6 1615-1700 VPS 'sportstudio live') set to event Sun 15.09.2024 16:15-17:00 (VPS: 15.09. 16:15) 'sportstudio live'

    added timer 1 (6 1615-1700 VPS 'sportstudio live')


    Und auch die zweite Hälfte des "sportstudio live" ist im Menü mit "T" markiert, wird als (wegen der gleichen VPS-Zeit) auch aufgenommen. Selbst nach einem Neustart des VDR mit vorherigem Löschen der epg.data hat er den richtigen Event zugewiesen:


    timer 1 (6 1615-1700 VPS 'sportstudio live') set to event Sun 15.09.2024 16:15-17:00 (VPS: 15.09. 16:15) 'sportstudio live'


    Was passiert denn bei dir, wenn du die gleiche Sendung programmierst? Einmal mit "live", und einmal mit VDR selber.

    > Hast du evtl. "EPG pause after scan" eingeschaltet, und um 20:51 hat er erstmals diesen Event gesehen?

    Ja. Aber es sollte trotzdem funktionieren.

    Ich konnte bisher noch keinen Fall reproduzieren, wo es nicht funktioniert hätte.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!