[Announce] VDR Plugin epg2vdr 0.0.4 & epgd 0.0.5


  • Ist das nicht eine Holzhammermethode?


    Code
    kill -s 1 $(pidof epgd)


    ist nicht unüblich (ist ja kein SIGSEGV oder SIGKILL ;)), Im Code ist auf SIGHUP ein Hander angemeldet der trigger den Update Lauf. Viele Dienste kann man damit zum Laden Ihrer Konfiguration bewegen. Das ist übreigends auch geplant, mit SIGHUP die channlemap.conf ohne Neustart einlesen und um den Update zu triggern SIGUSR1.


    Jörg

  • Zitat von 3PO
    Code
    kill -s 1 $(pidof epgd)


    oder so:

    Code
    killall -HUP epgd
  • desweiteren liefert epgdata bspw täglich ~16:30Uhr aus, manchmal auch etwas später - Hast du jetzt nen 12h loop kannst du das leicht verpassen.


    aber gerade bei nur einem lokalen VDR ist es doch nicht selten der Fall, dass die Kiste gerade dann nicht läuft - ist ja auch nicht gerade Serientimerzeit :)
    Bei mir ist der VDR meist morgens mal ein paar Stunden an und dann in der Regel tagsüber komplett aus und erst abends wieder in Betrieb. Am Wochenende läuft er auch schon mal mehr und länger durch.


    Ich würde den "xx Stunden" Intervall weiterhin bevorzugen, als das fest zu verdrahten. Wo ist jetzt der Nachteil es einfach bei dem einstellbaren Intervall zu belassen? Tut es dem epg-Datenlieferanten weh, wenn die vielen Zugriffe erfolgen, oder was ist der Grund?
    Und ändert jetzt epgdata seine Auslieferungszeit auf 18:30 Uhr, muss ja wieder das Plugin angepasst werden.
    12h Intervall ist auch schon recht großzügig ... da sollte der User schon was Sinnvolles einstellen :D


    Gruss.
    Markus


  • Nur um Missverständnisse vorzubeugen, die Zeitpunkte würden schon konfigurierbar sein, so viele je Tag wie man mag, um auf die 12 Stunden zu kommen kannst du einfach (zum Beispiel) "17:00, 5:00" einstellen. Der aktuelle initiale Lauf würde auch nicht wegfallen sonder konfigurierbar werden (checkInitial = 1). Damit sollte aus meiner Sicht nichts verloren gehen sondern die Möglichkeiten nur flexibler werden, oder übersehe ich etwas? Auch ein verpasster Lauf würde, sofern nicht ohnehin checkInitial aktiviert ist, nach dem Start nachgeholt.


    Grüße Jörg

  • aber gerade bei nur einem lokalen VDR ist es doch nicht selten der Fall, dass die Kiste gerade dann nicht läuft - ist ja auch nicht gerade Serientimerzeit :)


    grundsätzlich gehen wir von einem Anwendungszenario 24/7 für Daemon und DB aus, dafür wurde das Ding entwickelt: alles andere sind Sonderfälle - bei denen es zweifelsfrei aber auch prima ist wenn es funktioniert :mua


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ok, so verpasst man sicherlich nix.
    Aber wozu es programmiertechnisch und setup-technisch komplizierter machen (weiss nicht ob das der Fall ist, kann nicht programmieren), als es einfach beim einstellbaren Intervall zu lassen?
    Plus zusätzlich checkInitial = 0|1 einzuführen.


    Wo bedeuten mehrere einstellbare, fest Zeitpunkte denn mehr Flexibilität?


    Mit scan beim Start und nochmal nach sagen wir mal 3h ist doch im Prinzip alles abgedeckt (jetzt aus Sicht einer lokal betriebenen DB & epg2vdr).


    Ist jetzt so aus meiner Sicht und meinem Verständnis doch völlig ausreichend, wie es gerade gehandelt wird.


    Gruss.
    Markus

  • grundsätzlich gehen wir von einem Anwendungszenario 24/7 für Daemon und DB aus, dafür wurde das Ding ebtwickelt: alles andere sind Sonderfälle - bei denen es zweifelsfrei aber auch prima ist wenn es funktioniert :mua


    Christian


    Das verstehe ich schon Christian.
    Aber ich denke mal das auch eine große Anzahl von Usern, die nur einen VDR betreiben, diese Kombi als Ersatz für das ja nun nicht mehr gepflegte Plugin tvm2vdr verwenden und sich jetzt nicht wegen der Software einen Server für das EPG hinstellen :D


    Markus

  • Das verstehe ich schon Christian.
    Aber ich denke mal das auch eine große Anzahl von Usern, die nur einen VDR betreiben, diese Kombi als Ersatz für das ja nun nicht mehr gepflegte Plugin tvm2vdr verwenden und sich jetzt nicht wegen der Software einen Server für das EPG hinstellen


    ja dafür ist das Plug aus meiner Sicht auch geeignet.


    Zu der Konfiguration, Den initialen Lauf konfigurierbar zu machen ist mir wichtig. Bei der Frage ob zyklisch oder zu festen Zeitpunkten .... grundsätzlich kann es für 24/7 Systeme schon Sinn machen das dem Provider anzupassen sofern der Zeitpunkt wirklich vorhersehbar ist, aber ob es viel bringt/ändert/hilft .... ??


    Ich bin bei diesem Punkt recht Leidenschaftslos, ich warte einfach mal das Ergebnis der Diskussion hier ab ;). Möchte jedoch eine Konfiguration bei der man die Wahl zw. Zeitpunkten und Zyklus hat vermeiden, das würde ich für etwas überzogen halten :D .


    Jörg

  • Initialen Lauf konfigurierbar finde ich auch sinnvoll.


    Fester Zeitpunkt bei einem 24/7 System macht auch Sinn. Obwohl auch hier ein Intervall denkbar ist ... gibt ja genug cron-Jobs auf Servern.


    Ich kenne die Verteilung nicht, wieviel User es als Server/Client-Lösung betreiben und wieviele es wie das "alte" Plugin nur lokal einsetzen, weil halt nur ein VDR vorhanden ist, nicht. Evtl. sollte man mal eine Umfrage starten :).Denn ich denke in diesem Szenario macht ein Intervall mehr Sinn.


    Beides zum implementieren, halte ich auch für unsinnig.


    Markus

  • Moin!


    Ein vdr-Plugin kann dem vdr sagen, wann es gerne mal wieder aufwachen möchte. Bei einer Ein-Maschinen-Installation könnte das Plugin also die Update-Zeiten vom Daemon (oder aus der Datenbank) erfragen und beim Herunterfahren dann dafür sorgen, dass der vdr zu gegebener Zeit wieder hochfährt. So macht xmltv2vdr es auch.


    Ausschnitt aus "newplugin":

    Code
    time_t cPlugin${PLUGIN_CLASS}::WakeupTime(void)
    {
      // Return custom wakeup time for shutdown script
      return 0;
    }


    Ob man das nun explizit im Plugin konfigurierbar macht oder das Plugin es von alleine macht bei "Datenbank == localhost" ist Geschmackssache.
    Ich bin für explizite Konfiguration.


    Lars.

  • Fester Zeitpunkt bei einem 24/7 System macht auch Sinn. Obwohl auch hier ein Intervall denkbar ist ... gibt ja genug cron-Jobs auf Servern.


    ja vllt keine blöde Idee Markus: den loop aus und den Rest aus dem Cron mit

    Code
    killall -HUP epgd

    triggern


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ein vdr-Plugin kann dem vdr sagen, wann es gerne mal wieder aufwachen möchte. Bei einer Ein-Maschinen-Installation könnte das Plugin also die Update-Zeiten vom Daemon (oder aus der Datenbank) erfragen und beim Herunterfahren dann dafür sorgen, dass der vdr zu gegebener Zeit wieder hochfährt.



    danke Lars: das kannte ich nicht.


    Hatte letztens eine Abfrage eines Users zu so etwas ähnlichem, glaube es war OleS


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • ja vllt keine blöde Idee Markus: den loop aus und den Rest aus dem Cron mit

    Code
    killall -HUP epgd


    triggern


    ich muss mich selber noch mal aufgreifen: ich find das sogar besser weil ich da viel flexibler bin: kann ich das 16:30 am Wochenende auslassen wenn die Vögel die Redaktion geschlossen haben


    sonen richtigen scheduler mit all seinen Möglichkeiten hätten wir ja eh nicht eingebaut: also ja, warum nicht?


    Kombiniert mit dem Vorschlag von Lars natürlich für das tägliche Update der Betreiber von lokalen Daemon/DB...


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ich denke die initiale Abschaltung ist wichtig, den im ungünstigsten
    Fall kann der vdr 5 mal am Tag aufwachen ( Serientimer) und jedesmal
    wird ein unötiges update gemacht.


    Wenn man den Zeitpunkt des letzte update in
    db schreibt, kann man es mit dem interval Wert in der conf vergleichen
    und wenn abgelaufen ein update starten. ( wäre aber auch über ein Script
    und cron möglich, ist halt nicht so elegant)


    Feste Zeiten sind
    mir jetzt nicht wichtig, denn wenn man einen forecast von 16Tagen hat
    kommt es auf 10 oder mehr Stunden eh nicht darauf an wann die neuen
    Daten verfügbar sind, und ob die kurzfristige Sondersendungen überhaupt
    verwenden glaub ich nicht


    rookie1

    VDR 4: AMD Kabini 5310, Asrock AM1H-ITX, Gen2Vdr V6, Cine S2, Atric , Harmony 515 , Streacom ST-F7CB EVO

  • Feste zeiten sind
    mir jetzt nicht wichtig, denn wenn man einen forecast von 16Tagen hat
    kommt es auf 10 oder mehr Stunden eh nicht darauf an wann die neuen
    Daten verfügbar sind, und ob die kurzfristige Sondersendungen überhaupt
    verwenden glaub ich nicht


    es geht nicht um Quantität sondern um Qualität, und deshalb ist es einer der wichtigsten Aufgaben des Plugins abends zur Primetime für die konfigurierten DaysToUpdate das absolut aktuellste File drin zu haben. - und nochmal: wenn ich den loop auf 12h oder mehr steht dann krieg ich das leicht nicht mit. Das Plugin ist inteligent genug die Files auf dem Server des Providers zu checken und bereits bekanntes gar nicht erst runterzuladen.


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ich denke die initiale Abschaltung ist wichtig, den im ungünstigsten
    Fall kann der vdr 5 mal am Tag aufwachen ( Serientimer) und jedesmal
    wird ein unötiges update gemacht.


    stimmt

    Zitat


    Wenn man den Zeitpunkt des letzte update in
    db schreibt, kann man es mit dem interval Wert in der conf vergleichen
    und wenn abgelaufen ein update starten.


    gute idee!

    Zitat


    ( wäre aber auch über ein Script
    und cron möglich, ist halt nicht so elegant)


    genau meine Meinung alles was man rund-rum frickeln muss ist Arbeit und muss gepflegt werden. Genau so wie es externe Abhängigkeiten (cron Dienst, dbus, ...) nicht einfacher machen. Gerade wenn man den epgd auf keinen Systemen (NAS, ...) einsetzen möchte.


    Zitat

    Feste Zeiten sind
    mir jetzt nicht wichtig, denn wenn man einen forecast von 16Tagen hat
    kommt es auf 10 oder mehr Stunden eh nicht darauf an wann die neuen
    Daten verfügbar sind, und ob die kurzfristige Sondersendungen überhaupt
    verwenden glaub ich nicht


    machen sie schon, kommt nur auf das 'kurzfristig' an, es kommen täglich 2 Mal Updates auch für den aktuellen Tag, die möchte ich auch recht zeitnah haben.
    Alles was ganz nah am Ereignis liegt denken wir 'bald' über mergen von Sender und externen EPG ab.


    Jörg

  • es geht nicht um Quantität sondern um Qualität, und deshalb ist es einer der wichtigsten Aufgaben des Plugins abends zur Primetime für die konfigurierten DaysToUpdate das absolut aktuellste File drin zu haben. - und nochmal: wenn ich den loop auf 12h oder mehr steht dann krieg ich das leicht nicht mit. Das Plugin ist inteligent genug die Files auf dem Server des Providers zu checken und bereits bekanntes gar nicht erst runterzuladen.


    Christian

    He, nicht falsch verstehen es spricht für mich nichts dagegen dies zu implemntieren, hängt vom Entwickler ab,


    Nur glaube ich nicht das sich plötzlich der Inhalt eines Film oder Serie ändern soll, sondern kann es sich max. Programmänderungen handeln und da ist halt entscheident wie schnell der Epg Lieferant ist


    rookie1

    VDR 4: AMD Kabini 5310, Asrock AM1H-ITX, Gen2Vdr V6, Cine S2, Atric , Harmony 515 , Streacom ST-F7CB EVO

  • Hatte letztens eine Abfrage eines Users zu so etwas ähnlichem, glaube es war OleS


    Jupp, das war ich. Wenn die Updatezeit des epgd und die Aufwachzeit des VDR vom Plugin getriggert werden würde,
    könnte ich mir den Umweg über vdr-addon-acpiwakeup.conf zum Aufwachen und crontab zum Schlafengehen sparen.
    Funktioniert zwar, ist aber nicht besonders schön gelöst (sollte ich zum Zeitpunkt des crontab-Eintrages mal fernsehen,
    muss ich wieder hektisch zur FB greifen, damit die Kiste nicht runterfährt. Zugegeben: kommt selten vor, denn das
    Poweroff kommt gegen 3:30 Uhr... :) Dennoch wäre ich von einer anderen Lösung mehr als begeistert.


    Cheers,
    Ole

  • Muss ich drüber nachdenken, von der logischen Folge her ...


    für die 'Update Läufe' ist der epgd der Master, er scheduled sie führt sie sofern er läuft zu der gegebenen Zeit aus und vermerkt dies nach Abschluss in der Datenbank. Anhand diesem DB Eintrag erkennen die Clients (VDRs) das es etwas neues zum abholen gibt und starten ihre Aktualisierung (ist aktuell so implementiert).


    Die Hoheit für die Aktionen des epgd werde ich auch bei diesem belassen.


    Nun könnte man den epgd so erweitern das er nicht nur den Abschuss seiner Aktualisierung sondern auch den Termin der nächsten in der DB vermerkt. Anhand diesem können nun die Clients (VDRs/epg2vdr) beim beenden mittels (cPlugin${PLUGIN_CLASS}::WakeupTim) den nächsten boot schedulen, sofern es Plugin seitig konfiguriert ist (scheduleBoot = yes|no) , somit sind sie beim nächsten lauf des epgd wieder da und arbeiten die Daten in das EPG ein.


    Das wäre auch unabhängig der Installation (ob ein host System oder Server mit epgd und mehrere VDRs als Client), mit der Konfiguration es epgd (hier ist noch offen ob feste Zeitpunkte oder alle X Stunden) bestimmt man wann bzw. wie oft aktualisiert wird und die Clients hängen sich da drauf.


    Als quasi unbeabsichtigte Nebenwirkung wird beim booten auf ein host Lösungen auch der epgd zum Leben erweckt und zieht seinen Update durch. Daher 'unbeabsichtigte Nebenwirkung' weil es von der logischen Folge etwas schräg ist das sich einer der epgd Clients um dessen Start via boot kümmert.


    Grüße Jörg

Jetzt mitmachen!

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