[Proof of Concept] [WIP] easyepg als Addon

  • Hi.

    Ich habe für Windows ein Helper Tool geschrieben, das "python main.py" aufruft, wartet bis der EPG Download abgeschlossen ist und dann Python und somit easyepg wieder beendet. Das ist sinnvoll, sobald die Konfiguration erst mal fertig ist. So muss Python und easyepg-lite nicht permanent laufen. Es reicht, wenn easyepg einmal am Tag neue Daten lädt und sich danach wieder ausschaltet. Klar, an der Konfiguration kann man dann nichts anpassen. Aber im Alltag muss man das ja auch nicht. Wenn man etwas an der Konfiguration umändern muss, startet man easyepg eben ganz normal wie immer.

    Damit das Ganze funktioniert, muss easyepg so konfiguriert werden, das es beim Start des Skripts neue EPG Daten lädt. Ist eine Standard- Option, die aber direkt nach der Installation erst mal nicht ausgewählt ist. Ideal wäre ja, wenn man das als Option in der Kommandozeile mit übergeben könnte. Das würde den Traffic noch mal reduzieren, wenn man an der Konfiguration arbeitet.

    Die EasyEPG-Start.exe aus dem Zip Archiv muss in das easyepg Verzeichnis entpackt werden. Die ebenfalls enthaltene EasyEPG-Start.au3 Datei ist der AutoIt Quellcode des Programms. Nur für den Fall, das sich jemand das Ganze mal genauer anschauen möchte. Außerdem kann man so das Programm auch selbst kompilieren, denn leider werden AutoIt Programme unberechtigterweise fast immer als Virus beschuldigt. Auf die Art hat man volle Kontrolle über das Tool.

    Der Ablauf des Programms ist wie folgt: Zuerst wird, sofern existent, die Datei xml/epg.xml.gz gelöscht. Dann wird die main.py gestartet. Nun wird in einer Schleife auf die Existenz der epg.xml.gz geprüft. Die .gz erzeugt easyepg jedes Mal ganz am Schluss des Download Vorgangs. So hat man ein klares Indiz dafür, das der Download abgeschlossen ist, wenn die Datei wieder vorhanden ist. Danach wird aus Sicherheitsgründen noch eine Minute gewartet und python dann beendet. Anschließend beendet sich das Helper Tool ebenfalls.

    Man kann das Helper Tool so auch in die Windows Aufgabenplanung einbinden und das EPG automatisiert immer zu einer bestimmten Zeit herunter laden lassen.

  • Hi.

    Ein "Problemchen" gibt es in der epg.xml noch. Wenn man das Mappen gegen eine m3u aus DVB-Viewer durchführt, werden die Sender ID "verschandelt", in der Form, das hinter jeder ID noch \r angehängt wird. Als Beispiel:

    <channel id="VOX\r">

    In der eingelesenen m3u ist das \r Problem nicht vorhanden.

    Die Display Namen sind irgendwie auch nicht so, wie ich das nach dem Mappen erwarten würde. Die müssten ja eigentlich beim Mappen an die Sendernamen in der m3u angeglichen werden, damit das automatische Mappen im PVR Backend funktioniert. Ob das bei TVHeadend anders abläuft, kann ich nicht sagen. Aber die meisten (um nicht "alle anderen" zu sagen) TV Lösungen, die ich kenne, vergleichen den "Display Name" aus der XML mit dem Sendername, der in dem jeweiligen PVR Backend hinterlegt ist. Stimmen diese (weitgehend) überein, erfolgt das Mappen automatisch, sonst nicht. Manche Lösungen schaffen es sowas wie "Das Erste HD" aus der XML beim Sendernamen "Das Erste" zu kompensieren, aber selbst das ist nicht die Regel. Ideal ist, wenn beides exakt übereinstimmt.

    Ich bin aktuell dabei, easyepg in EPG-Buddy zu integrieren. Erst mal nur für mich. Wenn du nichts dagegen hast, dann später auch in der öffentlichen Version. So ähnlich, wie ich das bisher mit WebGrab gemacht habe. Die Integration ist nicht zwingend nötig, erhöht den Komfort für die User aber deutlich. In sofern wäre es schon schön, wenn du das gestattest.

    Dann wird das Mappen in easyepg für mich sowieso nicht mehr nötig sein. EPG-Buddy kann auch direkt mit den Backend- Datenbanken kommunizieren und ist nicht auf eine Playlist angewiesen, um das Anpassen der Display Namen zu bewirken. Ich habe sogar schon einen Knopf, mit dem die fehlenden Python Module automatisch nachgeladen werden. Windows User und viele komplizierte Kommandozeilen? Das passt nicht wirklich zusammen. Einfach auf einen Knopf zu drücken, das ist eher im Sinne des "gewöhnlichen Windows Users". Allerdings wird es noch eine ganze Weile dauern, bis ich das soweit fertig habe. Denn ich werde bei der Aktion gleich einige inzwischen obsolete EPG Quellen aus EPG-Buddy entfernen. Das macht aber nicht grade wenig Arbeit, also dauert es noch...

    -------------------------------------
    Danke fürs lesen, Claus

  • Das "\r" sieht ja einfach wie ein typisches Unix<->Windows Zeilenende-Problem aus. Ein "ich erwarte immer Unix Konventionen" typisches Programm (das das bekannte carrige return escape \r innerhalb von Strings nutzt) würde aus einer Liste von Kanalnamen mit genau einem Namen pro Zeile sowas machen, wenn die Liste mit typischem Windows-Editor (oder als Ausgabe von typischem Windows Programm oder cmd-Skript) erstellt wurde.

    Kodi 21.0, 17.6, 20.5, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Hi.

    Ja, das wird es sein. Bei mir läuft easyepg unter Windows und die Playlist vom DVB-Viewer ist ebenfalls unter Windows erstellt worden. Die Sendernamen stehen tatsächlich ohne etwas Nachfolgendes in der jeweiligen Zeile.

    -------------------------------------
    Danke fürs lesen, Claus

  • easy4me Danke für dieses super Tool [az] !

    Ich habe einige neue Sender bei Zattoo entdeckt aber leider keine EPG quelle gefunden.

    Also habe ich mich nun neu mit easyepg light befasst und es installiert. Funktioniert perfekt.

    Habe nun neu EPG für Fabella,Filmgold,Heimatkino,Moviedome und Tempora TV *P

    Einzig für "Netzkino" mit ID:112105 bekomme ich von TMS nur Start- und Endzeiten jedoch kein EPG ?

    Ist das nur bei mir so oder kann das jemand bestätigen ?

    Danke gogobog

  • Habe leider keine andere ID für Netzkino bei TMS gefunden. Wahrscheinlich hat Gracenote mit Netzkino ein Problem ?

    Danke für die schnelle Antwort :thumbup: , gut zu wissen das, dass Problem jedenfalls nicht bei meinem Setup ist.

    Frage: Ist ein bisschen off-topic [ad] sorry - Kennt jemand zufällig eine XML EPG quelle für Netzkino ich habe

    schon alles abgesucht was ich kenne aber leider nichts gefunden ?

  • Ich habe seit drei Tagen folgende Fehlermeldung und das Grabben funktioniert nicht mehr:

  • Bei mir startet das Webinterface von easyepg nicht!Beende ich das Script manuell und starte es dann neu läuft das Webinterface problemlos!Auch wenn ich aus das Terminal schließe,komme ich zu jederzeit ohne Probleme ins Webinterface.Wenn ich aber den PC ausschalte und neu starte und dann das Webinterface von easyepg aufrufen will,meldet der Browser "Diese Website nicht erreichbar".xx.xxx.xx.xx antwortete dem Gateway nicht.Ich habe python ja nochmal neu installiert,da ich ja schon von Anfang an Probleme mit dem Script habe.Bevor ich Python neu installiert habe,kam ich zwar jederzeit ins Webinterface,wenn ich dort dann allerdings eine Aktion machen wollte,stand oben "An error occured while serving the request.Zu grabben scheint er die EPG und ich müßte ja nicht ständig ins Webinterface,aber es wäre trotzdem schön,wenn es vernünftig läuft!

    Vielleicht könnt ihr mir da nochmals helfen!?

    Vielen Dank!

  • Wenn ich aber den PC ausschalte und neu starte

    Dann läuft easyEPG selbstverständlich nicht mehr, da man ja den PC neu gestartet hat...

    Unter Linux kann man einen Service anlegen, sodass das Skript automatisch mit dem Hochfahren des PCs gestartet wird. Siehe Seite 17 in diesem Thread.

  • Und unter Windows geht das entsprechend über die Aufgabenplanung. Allerdings frage ich mich, warum easyepg ständig laufen muss. Einmal am Tag kurz zum EPG auffrischen reicht doch (siehe Beitrag #565). Will man etwas an der Konfiguration ändern, was eigentlich nur am Anfang vorkommt, kann man es doch eben schnell per CLI Befehl starten. "python main.py" im easyepg Ordner ausgeführt und gut ist. Kann man ja auch als Batch Datei abspeichern und eine Verknüpfung auf dem Desktop anlegen (sollte auch unter Linux so funktionieren, sofern man Linux mit GUI verwendet). Dann kann man es mit einem Mausklick starten, wie andere Programme auch.

    -------------------------------------
    Danke fürs lesen, Claus

  • easy4me

    Da ich mich ja wie ihr wisst,in Linux noch nicht so gut auskenne verstehe ich,was auf Seite 15 nur zum kleinen Teil und habe "Bammel" ,wenn ich eigenständig was mache,das ich mir alles "zerschieße"Wenn dann bräuchte ich eine genaue Anleitung,was ich wo eingeben muß!Denn das was dort alles steht verwirrt mich!

    Lehmden1 Mit Linux mit GUI kann ich nicht dienen!Würde ich unter Windows vermutlich nehmen.

    DeBaschdi Danke für den Tipp!Genauso mache ich es auch seit geraumer Zeit!Meine Vermutung ging darauf zurück,das man ja das Webinterface bei TVHeadend auch jederzeit über den Browser aufrufen kann,auch nachdem man den PC ausgeschaltet und wieder gestartet hat.Bin dann davon ausgegangen,das bei mir ein Fehler vorliegt.Anscheinend ist es bei den meißten von euch auch so!

  • Jackie Warum machst du das nicht mit Docker wenn du mit Python und Linux so zerstritten bist?

    Bei mir ist das Webinterface immer verfügbar außer wenn er vielleicht gerade ein grabbing macht. Docker hättest den Vorteil, du kannst den Container komplett zerschießen und man kann innerhalb von ein paar Sekunden von 0 auf wieder anfangen.

Jetzt mitmachen!

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