[docker] NEW easyepg

  • Moin Ihr fleißigen Helfer,

    Woran ich hänge ist das automatische Zusammenspiel, der DREI.
    D.h. TVHeadend, Telerising-Api sowie NEW-Easyepg.

    Alle DREI laufen hier bereits im Docker unter OpenMediaVault und funktionieren auch.
    Was ich noch nicht hin bekomme, ist; Das Verständnis, wie TVHeadend sich die fertige EPG.XML holt bzw. benutzt, wo sie liegen muss und wie ich das dann am Ende automatisiere.

    Puhh, was braucht Ihr von mir?

    Sorry. I have to answer in English. I've just registered in order to answer to your question that, if I understood correctly, you want to know how to import the generated .XML into TVHeadend.

    My setup is all three (TVHeadend, Telerising-Api and NEW-Easyepg) running in Docker containers similarly to you but in an UnRAID server (thank you @DeBaschdi for your amazing work!)

    For me the easiest way is to "cat" the .XML and pipe it via "socat" to the XMLTV socket. In my case I run twice a day a full script that updates the .XML via NEW-EasyEPG, downloads some Rytec EPGs and update all of them to TVHeadend. The command I use is like this: (Change the paths accordingly and make sure socat is installed in your server)

    Code
    /usr/bin/cat /mnt/user/appdata/tvheadend/data/epg.xml | /usr/bin/socat - UNIX-CONNECT:/mnt/user/appdata/tvheadend/epggrab/xmltv.sock

  • Die Anmerkung "The xml file has to be named guide.xml." ist falsch, hauptsache name.xml.

    Unterm Strich :
    Du hast ja irgentwo den tvheadend config pfad auf deiem host herausgeführt. Existiert dort ein unterordner "data" ? Nein ? Dann anlegen.
    Und diesen Ordner benutzt du dann um /easyepg/xml darauf heraus zu führen.

    Stimme in beiden Punkten zu ;)

  • Unterm Strich :
    Du hast ja irgentwo den tvheadend config pfad auf deiem host herausgeführt. Existiert dort ein unterordner "data" ? Nein ? Dann anlegen.
    Und diesen Ordner benutzt du dann um /easyepg/xml darauf heraus zu führen.

    Genau das finde ich durch den Austausch mit euch ja heraus. Danke.

    Darum:
    Der Config-Path von TVHeadend lautet bei mir (muss vorgegeben gewesen sein durch):
    Auf Host/Platte: /yacht/AppData/Config/TVHeadend
    Im Container: /config

    Das mit dem _data Ordner fand ich nur in Verbindung mit den sog. Volumes.
    Is es möglich, dass Du mir es mit den geBINDeten Mountpoints erklärst.

    In NEW-easyepg-Docker, habe ich nun nämlich nicht mehr den Volumes-_data-Ordner sonder habe es so über "host" gemacht. (Übersichtlicher für mich)

    Die Ordner easyepg bzw. easyepg/xml habe ich dort selbstverständlich angelegt.
    Darum auch die Frage, wo TVHeadend die *.xml erwartet damit sie verarbeitet wird...
    (Ich vermute hier den Ort .xmltv.

    Anm.:
    Ich muss es verstehen...
    Meine Logik nämlich sagt mir, dass TVHeadend die *.xml in einem der /config Unterordner erwartet, richtig?
    Wenn es so ist, könnte ich das Easyepg-Docker ja auch gleich den .xmltv als /easyepg/xml mitgeben.

    Oder hab ich hier nen Denkfehler?
    Ps. Punkt 5 von oben:
    OK, da ich eben keine Volumes_data im TVHeadend habe, sondern dad hier:

    Müsste ich nun nur wissen, ob die *.XML nach /yacht/AppData/Config/TVHeadend kopiert werden muss, oder nach .xmltv oder in einem der /config Ordner.
    Fact is ja, dass Volumes_data eigtl. der /config Ordner ist. Demnach also nach /config bzw. nach /yacht/AppData/Config/TVHeadend

    Richtig?

  • Sorry. I have to answer in English. I've just registered in order to answer to your question that, if I understood correctly, you want to know how to import the generated .XML into TVHeadend.

    My setup is all three (TVHeadend, Telerising-Api and NEW-Easyepg) running in Docker containers similarly to you but in an UnRAID server (thank you @DeBaschdi for your amazing work!)

    For me the easiest way is to "cat" the .XML and pipe it via "socat" to the XMLTV socket. In my case I run twice a day a full script that updates the .XML via NEW-EasyEPG, downloads some Rytec EPGs and update all of them to TVHeadend. The command I use is like this: (Change the paths accordingly and make sure socat is installed in your server)

    Ja, is schon OK, wenn Du auf englisch antwortest. Es gibt ja "deepl-translate", welches eigtl. hervorragend übersetzt. (hab' ich mir sagen lassen)

    Ja, Du hast mich richtig verstanden, obwohl ich mir noch nicht ganz sicher bin, ob ich mittlerweile ein funktionierendes automatisches Szenarium hingebastelt habe.
    (offensichtlich nicht, denn sonst würdest Du diesen Schritt mit dem Script bzw. dem XMLTV.SOCK ja nicht tun)

    Fakt ist, dass ich gestern komplett aufgeräumt hatte und TVHeadend, NEW-Easyepg sowie Telerising-Api neu installierte. Bedeutet auch, dass ich jegliche Altlasten, wie Ordner/Verzeichnisse, Einstellungen komplett entsorgte und auch kein Backup davon machte. (Ist eh nur Spielerei für mich hier. Keiner hier schaut Fernsehen).

    Das mit dem "SOCAT" scheint eine tolle Sache zu sein.
    Ich werde das mal testen, es in OMV einzubauen... Habe nämlich NOCH keinen Schimmer, wie ich diese Dinge wie Scripts etc. automatisch ausführen kann.
    Hab das einfach nie gebraucht oder genutzt...

    Ach so ja:
    Welchen Vorteil hat es, per "socat" die XML an an den XMLTV.sock zu leiten?
    Was ist dieser XMLTV.sock eigtl.?
    Und warum benötigt man dafür das Programm "socat"?

    Liebe Grüße
    DR

    Deepl-Übersetzung:
    =================
    Yes, it's OK if you answer in English. There is "deep-translate", which actually. translates excellently. (I have been told)

    Yes, you understood me correctly, although I'm not quite sure if I have a working automatic scenario yet.
    (obviously not, otherwise you wouldn't do this step with the script or the XMLTV.SOCK).

    Fact is that I had completely cleaned up yesterday and reinstalled TVHeadend, NEW-Easyepg as well as Telerising-Api. Also means I completely disposed of any legacy stuff, like folders/directories, settings, and didn't back them up either. (It's just a gimmick for me here anyway. No one here watches TV).

    That with the "SOCAT" seems to be a great thing.

    I'm going to test this, to build it into OMV.... Cause have NO clue how I can do these things like run scripts etc automatically.
    Just never needed or used that....

    Oh yeah:
    What is the advantage of using "socat" to route the XML to the XMLTV.sock?
    What is this XMLTV.sock actually?

    And why do you need the program "socat"?

    Kind regards
    DR

    Translated with http://www.DeepL.com/Translator (free version)

  • Hallo erstmal ein großes Danke schön an die Projektleiter

    Leider hänge ich etwas:
    Zur erst ein paar Hintergundinfos
    System Unraid aktuelle version
    TVHeaden Docker aktuelle version von Linuxserver

    easyepg docker nach Anleitung aufgesetzt und epg.xml Datei gegrabt

    Einstellungen alle Standard gelassen.


    Jetzt verstehe ich nur nicht den Punkt
    5. Wie binde ich meine .XML epg Datei in den Container von linuxserver/tvheadend ein ? --> Ich verstehe nicht ganz genau was ich machen soll! Sorry stehe da voll auf dem Schlauch
    6. Was Stell ich in Tvheadend ein (Docker)? --> muss ich wirklich nur WebGrab+Plus Grabber aktivern und mehr nicht ? kein Pfand ändern oder so ? Nicht anpassen?

    Gruß ados75

  • Jetzt verstehe ich nur nicht den Punkt
    5. Wie binde ich meine .XML epg Datei in den Container von linuxserver/tvheadend ein ? --> Ich verstehe nicht ganz genau was ich machen soll! Sorry stehe da voll auf dem Schlauch
    6. Was Stell ich in Tvheadend ein (Docker)? --> muss ich wirklich nur WebGrab+Plus Grabber aktivern und mehr nicht ? kein Pfand ändern oder so ? Nicht anpassen?

    Ich kann Dir hier nur sagen, wie ich es verstanden habe und wie "der Pinguin (DeBaschdi)" es KLIPP und KLAR sagte...
    Im Container vom linuxserver/tvheadend führst Du den Config-Ordner ja physisch nach draussen auf Deine Platte, richtig? Richtig!

    Auf der Console sieht dass dann so aus:


    Hier ist es dieser Schalter -v /path/to/data:/config der hier wichtig und verstanden werden muss.
    Alles bis zum : (Doppelpunkt) ist ein Ordner irgendwo auf Deiner Platte. NUR DU kennst ihn.
    (Alles WAS WIR wissen, ist, dass der Ordner /config im Docker liegt)

    OK soweit?

    Gut, nun erstellt Du innerhalb dieses Ordners (der auf der Platte, also /path/to/data) einen Unterordner Namens data (sofern dieser nicht vorhanden ist)
    indem dann die epg.xml abgelegt werden muss, damit der Grapper diese erkennt und verarbeiten kann.

    Ich selbst verstehe die Internen Vorgänge leider auch nicht. Ich weiß NICHT warum es der Ordner data sein muss bzw. wie dieser dann intern nach /usr/bin/tv_grab_wg gemoddelt wird.
    Für Dich als NUR-ANWENDER aber, spielt es keine Rolle... Leg Deine epg.xml nach /path/to/Deine/Platte/data und gut is...

    Als Grapper nutze ich so, nur den XMLTV: WebGrab+Plus XML file grabber. Alle anderen habe ich aus gestellt.
    Schaue Dir bitte trotzdem den Grapper an, damit Du AUCH verstehst, wie ich auf /usr/bin/tv_grab_wg komme. <- Wollts nur kurz erwähnt haben.

    Probiere es aus und Du wirst sehen, dass es funzt...

    Liebe Grüsse
    DR

    EDIT:
    An DeBaschdi:
    Könnte nicht eigentlich der /easyepg/xml Ordner nach zB. /docker/appdata/tvheadend/data gelegt werden, also dort wo das epg.xml ja immerhin hin soll?
    Klingt zumindest für mich irgendwie einleuchtend.... *P

    Dann nämlich bleibt mir nur noch die Frage:
    Wie schubse ich automatisch im New-easyepg-Docker, das Downloaden an?

  • Könnte nicht eigentlich der /easyepg/xml Ordner nach zB. /docker/appdata/tvheadend/data gelegt werden, also dort wo das epg.xml ja immerhin hin soll?
    Klingt zumindest für mich irgendwie einleuchtend....

    Das ist eine reine Definitionsfrage: Liefert easyepg die XML aus (legt die Brötchen vor die Tür) oder holt sich TVHeadend das EPG ab (geht zum Bäcker)? [ag] Bei einer 1:1 Beziehung ist das vollkommen egal, bei einer 1:n müssen halt alle Klienten zum Bäcker...

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

    Einmal editiert, zuletzt von PvD (22. November 2022 um 18:53)

  • Mein Ubuntu hat auf die docker-compose.yml mit einer Fehlermeldung geantwortet. Lösung, letzte Zeile mit "restart" muss etwas eingerückt sein wie der Port darüber.

    Sorry, nehme alles zurück, war nur ein Kopierfehler bei mir.

    Spoiler anzeigen

    Server: Supermicro mit 2xXeon E5-2690v2 und 128GB RAM, Emby-Server, Plex-Server, Tvheadend. Ubuntu-Server 18.04 LTS, ZFS-Datengrab

    Workstation Threadripper 2950x mit 32GB RAM

    Client: 2x X96 Libreelec mit Kodi 18.1

    Einmal editiert, zuletzt von lutzlustig (23. November 2022 um 13:12)

  • Was genau meinst Du damit?

    falls mein system nicht mehr läuft brauch ich nur das compose file nehmen und ausführen. Bzw. Verschiebe ich das gesamte /opt/ weil da bei mir alle Daten und Compose Files liegen.

    So konnte ich z.b. sehr schnell von x86 auf arm wechseln

    Haupsysteme: Server: Asrock N3160ITX, Ubuntu 24.04, TvH /// DVBSky 952 /// Wohnzimmer: Nvidia Shield Pro 2019
    Nebensysteme 1: Telestar Digibit R1 mit sat-axe25 /// Wohnzimmer: Asrock N3700, Libreelec 12 /// TvH @RPI4 Server /// Gästezimmer: Corelec 2 Tanix TX3
    Nebensysteme 2: Server: Asrock N3455M, OpenMediaVault7, TvH, Telestar Digibit R1 /// 4 Clients: Coreelec S905X

  • es wird ins /storage/.kodi/addons/service.tvheadend43/bin/ eingefügt.
    ob es auch auf einem docker so einfach mit dem einfügen ist, kann ich leider nicht sagen.

    Das File kann man sicher auch im Docker einfügen/anlegen. Allerdings ist dabei zu beachten, dass nach einem Dockerupdate (im übrigen auch bei einem Addon-Update) dieses Prozedere zu wiederholen ist.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960

    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Das ist eine reine Definitionsfrage: Liefert easyepg die XML aus (legt die Brötchen vor die Tür) oder holt sich TVHeadend das EPG ab (geht zum Bäcker)? Bei einer 1:1 Beziehung ist das vollkommen egal, bei einer 1:n müssen halt alle Klienten zum Bäcker...

    Das verwirrt mich etwas...
    Kannst Du mir das mal verdeutschen?

    UND

    Eine andere Frage:
    Gibt es Schalter (per CLI im Docker) die den Download anwerfen? All diese Fragen habe ich, um selbst Hand anlegen zu können. Leider finde ich nirgendswo solche Tutorials oder Anleitungen.

    Wie gesagt:
    Die Docker laufen hier, sodass ich seitdem wirklich PERFEKTES EPG habe.
    Dafür mein herzlichsten Dank. Wirklich; Ich bin mega begeistert von dem Dreiergespann TVHeadend, Telerising-Api und Easyepg.

    Doch leider weiß ich noch nicht, wie ich es unbeaufsichtigt lassen kann, so daß alles automatisch geht.
    Was ich also gern hätte, wäre, daß mir Easyepg JEDE Nacht das epg.xml abholt...

    Darum, und nur darum erwähnte ich ja den data-Ordner, den TVHeadend nutzt um an das epg.xml heran zu kommen.

    Meine Vorstellung ist diese:
    Ich würde gern die Scheduler (update rate/time/auto-start) dafür benutzen, welche ich so verstehe, dass easyepg den Download selbst anschmeißt.
    Mag sein, dass es für euch völlig selbstverständlich erscheint... (es steht ja immerhin dort) Es wurde hier nur irgendwie nie erwähnt. Etwas, was mich dann immer ein wenig verwirrt, weil wir doch alle helfen wollen?

    OK, so werde ich es jetzt dann auch mal probieren. Irgendwie macht es Sinn für mich, diese Scheduler (update rate/time/auto-start) Funktion zu nutzen in Verbindung mit dem data Ordner von TVHeadend.
    Dann muss auch nichts mehr kopiert werden.

    ODER: Ich übersehe hier etwas?

    @DerRuhige vorletzter Absatz: genau so mache ich es, und so sollte es imho auch sein

    Ich glaube, das meintest Du auch @dlueth oder?

    köstlich

    LACH jo, find' ich auch... Zumindest aus ner speziellen Perspektive :)

  • Das ist eine reine Definitionsfrage: Liefert easyepg die XML aus (legt die Brötchen vor die Tür) oder holt sich TVHeadend das EPG ab (geht zum Bäcker)? Bei einer 1:1 Beziehung ist das vollkommen egal, bei einer 1:n müssen halt alle Klienten zum Bäcker...

    Ach jetzte... Ja menno...
    Bin nun auch nicht immer der schnellste im Denken.

    Jepp, ich denke mir dass easyepg ruhig ausliefern darf. Für meine Kiste is es genau richtig. Habs grad noch mal hier getestet.

    Was ich nicht verstanden habe, weil ich nicht weiß wie es geht:
    Wie kann TVHeadend denn die Brötchen (epg.xml) beim Bäcker abholen?
    Und was könnte überhaupt diesen Schritt notwendig machen?

    Kannst Du mir da ein paar Beispiele nennen?

  • @DerRuhige
    TVHeadend muss seine Brötchen holen, weil es nicht von alleine weiß das es neue gibt und die alten irgendwann vergammeln, um mal bei der Analogie zu bleiben [ag]

    Easyepg stellt ein EPG zur Verfügung, soweit ja klar. Dieses EPG legst du über dein angegebenes volume irgendwo ab und dort wird es dann fleißig aktuell gehalten. Nun kommt in deinem Fall TVHeadend und kriegt gesagt "Junge du kannst dir deine Brötchen immer dort holen", wieder ein volume. Standardmäßig erwartet TVHeadend es in dem benannten "data-Ordner", man kann entweder easyepg es dort direkt ablegen lassen oder woanders, wie es einem beliebt. Wenn man es woanders macht und den Standard von TVHeadend nicht durcheinander bringen will muss man noch die EPG-Datei in den "data-Ordner" kopieren. Ob man das mit nem Zusatzprogramm macht oder mit ner geplanten Aufgabe und dem Linux Copy-Befehl (-cp) ist einem selbst überlassen.
    Nun hat man dafür gesorgt das für TVHeadend das EPG bereit liegt, aber woher erfährt TVHeadend das sich was an der Datei geändert hat (neue Tage, Änderungen am Programm etc.)? Denn Standardmäßig importiert TVHeadend die EPG Datei und legt sich die Daten intern selbst ab. Dafür gibt es in den Einstellungen von TVHeadend (in der Weboberfläche, hab grad kein Screenshot parat) den Punkt wo man eine Cron-Tab Syntax angibt und nach diesen Zeiten/Intervallen aktualisiert TVHeadend dann sein EQP automatisch.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

Jetzt mitmachen!

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