HOWTO: Easyepg im Docker unter LibreElec installieren

  • Kann ich den auf none stellen, da der easyepg.cron ihn startet oder habe ich hier einen Denkfehler?

    Kannst (und solltest) Du. Der easyepg.cron holt das EPG zur eingestellten Zeit. Bei ständigen/zyklischen Anfragen an die Server kann es passieren, dass Du irgendwann dort rausgeschmissen wirst.

    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

  • Lass' das Setup nochmal laufen (ab Punkt 1 im ersten Beitrag des Threads). Wenn das Setup den Socket finden sollte steht da /storage/.kodi/userdata/addon_data/tvheadend42/epggrab/xmltv.sock. Wenn nicht, ignorierst Du die Angaben und machst ohne xmltv.sock weiter.

    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

  • @BJ1: Erstmal tausend Dank für die schnelle Reaktion und die Tipps!
    Habe das jetzt mit Setup neu durchführen versucht, ich nehme an du meinst mit "Socket finden sollte steht da ... " beim Setup den Punkt Use local xmltv.sock? Da ist bei mir das N gross, heißt wohl "default n", sprich dass der Socket nicht gefunden wird, oder?
    Ich habe es jetzt mit N durchgezogen, bisher werden keine EPG Daten angezeigt (nach ~30 MInuten und einem Neustart). Aber vielleicht kommt das ja noch, ich warte mal morgen ab.
    Aber eine Frage zum Verständnis, ist es nicht erforderlich, dass es einen Socket gibt, damit der Grabber die Daten an TVH "übergeben" kann?? Wie funktioniert es denn, wenn es keinen Socket gibt?

    VG
    Harry

  • @harryharz wenn das "n" der Default ist konnte das init-script keine socket-Datei im Benutzerverzeichnis des aktuellen Benutzers finden. Ist denn sicher eine da, die auch vom Typ "Socket" ist?

  • @harryharz wenn das "n" der Default ist konnte das init-script keine socket-Datei im Benutzerverzeichnis des aktuellen Benutzers finden. Ist denn sicher eine da, die auch vom Typ "Socket" ist?

    und ich dachte das dass "N" bedeutet das diese Funktion nicht verwenden soll

    Xmltv.sock habe ich bei mir auch nicht, verwende es aber nicht.

    • Rechtschreibfehler sind nicht zufällig, richtig angeordnet ergeben sie eine Formel mit der man Milch zu Bier machen kann.

  • Also was mich inzwischen schon gewundert hat: Wenn ich mir das mit WinSCP anschaue gibt es /storage/.kodi/userdata/addon_data/tvheadend42/epggrab/xmltv.sock zwar, es ist aber ein Ordner ?! ?(

    War und müsste das nicht eine Datei sein??

    ja, das sollte eine Datei sein bzw ein Socket. Könnte aber sein, dass WinSCP das nur so anzeigt. Findet das Init-script denn genau diesen Pfad?

  • und ich dachte das dass "N" bedeutet das diese Funktion nicht verwenden soll
    Xmltv.sock habe ich bei mir auch nicht, verwende es aber nicht.

    ja, tut es auch - aber wird ein Socket gefunden, ändert sich der Default auf y ;)

  • Aber eine Frage zum Verständnis, ist es nicht erforderlich, dass es einen Socket gibt, damit der Grabber die Daten an TVH "übergeben" kann?? Wie funktioniert es denn, wenn es keinen Socket gibt?

    Unter LE ganz einfach! Wenn der Docker keinen Socket finden kann, dann holt sich eben TVHeadend die XML-Daten ab. Dazu gehst Du in TVHeadend auf Konfiguration -> Kanal/EPG -> EPG Grabber Module und aktivierst den "internal:XMLTV:tv_grab_file is a simple grabber that can be configured through the addon settings from Kodi". Bei Priorität stellst Du eine höhere als bei OTA-Grabber ein. Den external:XML.TV deaktivieren. Jedesmal speichern, sonst werden die Änderungen nicht übernommen.

    Im PVR-Setup in Kodi (Einstellungen -> Addons -> Benutzeraddons -> Dienste -> TVHeadend Server 4.2 -> XMLTV stellst Du den 'XMLTV Source Type' auf File und darunter die 'XMLTV Location' auf den Pfad zur EPG-XML-Datei. Das müsste bei den Standardeinstellungen unter /storage/easypeg/xml/datei.xml sein. Für datei.xml musst Du natürlich den richtigen Namen angeben. Dazu musst Du natürlich die EPG-Liste in easyepg konfiguriert haben und easyepg muss einmal gelaufen sein.

    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

  • Vielen Dank Leute, ich werde das heute Abend Mal ausprobieren mit dem internen Grabber. Allerdings hab ich dann noch eine Frage zum Thema Daten holen (was bei mir ja nicht nachts geht, da mein pc kein acpi o.ä. bietet). Beim Ziehen der Daten schmiert mein IPTV schon extrem ab, ich glaube aber nicht dass es an der CPU liegt, sondern am der grenzwertigen Verbindung über powerline LAN. Daher: Gibt es eine Möglichkeit im easyepg die zu nutzende Bandbreite zu drosseln?

  • richtig nice wäre natürlich, wenn man kodi bzw LE beibringen könnte, dass IPTV über Kabel (powerline), alles andere über WLan zu laufen hat... aber das würde dann anderswo hin gehören, nehme ich an :)

    Einer der Gründe warum ich eine dedizierte tvheadend Box mit mehreren Interfaces nutze und dazwischen einen Switch habe der sich dahingehend konfigurieren lässt ;)

  • Ich wollte jetzt nochmal Feedback geben. nach dem erneuten setup von easyepg, wo der socket nicht gefunden wurde (was beim ersten Mal geklappt hat, keine Ahnung wieso der dann später nicht mehr ging) habe ich, wie BJ1 beschrieben hat, den internen grabber eingerichtet und nun läuft die Sache wieder :rolleyes: :thumbup: !
    Ich hoffe dass bleibt jetzt so. wenn ihr noch eine Lösung hättet, wie man die Bandbreite für easyepg drosseln kann wäre super, aber alle paar Tage etwas Gezuckel ist ja auch nicht soooo wild :whistling:
    BTW: Ich hab Magenta TV, und auch wenn ich mit der Lösung jetzt absolut zufrieden bin, mal einfach aus Interesse: Soweit ich weiß werden die EPG Daten ja auch direkt mit dem Stream übertragen, kann man das nicht auch irgendwie abgreifen?? Oder wie macht diese offizielle Telekom Kiste das?

  • @dlueth ich weiß nicht ob es an deinem Container liegt oder am Script, aber ich spiele gerade daran rum ein paar neue Grabber hinzuzufügen und dabei werden ja bspw. die Dateien "init.json", "magenta_channels", "magenta_epg" erstellt. Diese werden nun aber mit PGID 0 und PUID 0 erstellt, obwohl der Container selbst mit PGID 100 und PUID 1003 ausgeführt werden.
    Liegt dies vielleicht daran, dass ich mich mit dem root Benutzer per SSH in den Container eingewählt habe?

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

    Client: NVIDIA Shield Pro 2019

  • Habe nochmal genauer geschaut und wenn bspw. easyepg.run durchläuft werden anscheinend alle Dateien mit den korrekten Rechten angelegt, wenn ich mich aber bspw. mit docker exec -it easyepg.admin /bin/bash in den admin Container einwähle und dort alles erzeugen lasse über das Script, dann werden neue Dateien als root angelegt.
    Scheint also wirklich was mit dem SSH-Login zu tun zu haben.

    Aber ne andere Sache:
    Kann man bei dir irgendwo einstellen welche XML-Datei er mit dem TVHeadend Socket verbinden soll?
    Bisher hatte ich eine von Zattoo erstellte und dann die kombinierte mit eigenem Namen im Ordner xml gehabt. Sobald der Container seine Arbeit durchlaufen hat, hat man am Ende auch gesehen, dass er die Socket Verbindung macht, aber immer beide Dateien und nicht nur die Kombinierte.
    Hier wäre es ggf. nicht schlecht einen Parameter zu erstellen, bei dem man vorgeben kann welche xml er heranziehen soll oder es ausschließlich über nen crontab machen.

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

    Client: NVIDIA Shield Pro 2019

  • @bennySB Hm, also, was das Thema uid/gid angeht: Mein init-script legt die Container so an, dass die Binaries da drin mit uid/gid desjenigen Users laufen der das init-script startet. Es wird allerdings der User "easyepg" verwendet, wohingegen Du mit dem von Dir oben genannten Befehl als "root" in den Container wechselst. In so weit also alles korrekt und nachvollziehbar was Du beobachtest.

    Sollte es bei Dir wichtig sein, dass die Einrichtung von easyepg nicht via "root" erfolgt, dann müsste nach Deinem obigen Befehl ein

    Code
    su - easyepg

    reichen um den User vor der Einrichtung entsprechend zu ändern, so steht es aber auch in meinem Repo in der Readme.

    Was das schreiben der XML auf den Socket angeht:
    Ja, er schreibt alle XML-Dateien auf den Socket, was eigentlich nicht unbedingt nötig wäre. Allerdings wollte ich den unbedarften Usern die Angabe eines Dateinamens ersparen, denn imho wird es bei der easyepg-Einrichtung nicht ganz klar, dass der angegebene Name + ".xml" nachher der Dateiname wird. Außerdem werden die Files nach Zeitstempel aufsteigend sortiert reingeschrieben, so das das überhaupt kein Problem sein kann eigentlichen ;)

  • Ah okay, da habe ich nicht drauf geachtet.

    Wie du sagst ist es eigentlich überflüssig, alle zu mounten, aber definitiv einfacher zu handhaben.

    Da die Dateien aber chronologisch eingesammelt werden ist es ja wurscht, ist mir zuvor nicht aufgefallen.

    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!