[Proof of Concept] [WIP] easyepg als Addon

  • Hi,

    ich musste heute mal mein Raspberry neu aufsetzen und bekomme beim frisch installierten Easyepg folgenden Error:

    Es ist aktuell das letzte Build vom 15.03.24 Raspian 64bit Bookworm LITE drauf.


    --- GNTMS WARNING LOG: 2024-04-26 14:04:41 ---
    Traceback (most recent call last):
    File "/home/easyepg/resources/lib/epg.py", line 120, in grabber_process
    self.pr.main_downloader(provider)
    File "/home/easyepg/resources/lib/db.py", line 324, in main_downloader
    m = sys.modules[self.providers[provider_name].get("module", provider_name)].epg_main_converter(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/easyepg/resources/lib/providers/gntms.py", line 28, in epg_main_converter
    item = json.loads(data)
    ^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    --- GNTMS WARNING LOG END ---

    --- GNTMS WARNING LOG: 2024-04-26 14:33:33 ---
    Traceback (most recent call last):
    File "/home/easyepg/resources/lib/epg.py", line 120, in grabber_process
    self.pr.main_downloader(provider)
    File "/home/easyepg/resources/lib/db.py", line 324, in main_downloader
    m = sys.modules[self.providers[provider_name].get("module", provider_name)].epg_main_converter(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/easyepg/resources/lib/providers/gntms.py", line 28, in epg_main_converter
    item = json.loads(data)
    ^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    --- GNTMS WARNING LOG END ---

  • Update von Heute:

    neue Platte drin aber irgendwie mag mich Easyepg nicht mehr:

    File "/home/easyepg/resources/lib/epg.py", line 84, in grabber_process
       os.mkdir(f"{self.file_paths['storage']}cache/epg_cache")
    FileExistsError: [Errno 17] File exists: 'cache/epg_cache'

    Wenn ich die lösche meckert er wegen Permissions rum ?!?

  • Kann mir bitte jemand erklären, wie das mit den Genre mappings funktionierrt?

    Ich bekomme nach dem grabben immer

    --- MISSING EIT MAPPINGS ---
    * Sports
    * Movie
    * Consumer
    ...


    allerdings sind die Genres in der Datei .\resources\data\json\genres.json vorhanden. Was muss ich noch eintragen bzw wie funktioniert das, damit ich die Meldungen sauber bekomme?

  • Ich werde wahnsinnig und kapiere es bald nicht mehr!!!:(

    Bei mir werden auf allen Sky (WOW) Sender wieder mal seit Tagen kein EPG angezeigt.

    Das einzige was ich gemacht habe,ist wegen Umstieg von Cube auf Shield logischerweise alles in Kodi neuinstalliert!Auch der IPTV Simple Client ist richtig Konfiguriert.Easyepg kommt ja vom Pi 4 und da habe ich sowieso nichts geändert!

  • Du könntest es mit einem Neustart von easyepg versuchen, sofern in IPTV Simple der Link zur XML-Datei angegeben wurde.

    Probiere es mal.Übrigens ist die Shield wesentlich besser für unsere Sachen,wie der Cube.Einige Sachen,die mich beim Cube gestört haben,gibt es bei der Shield nicht mehr.Bin froh diesen Schritt gegangen zu sein!

  • Gibt es eine Möglichkeit die erzeugte epg.xml (bzw. gz) auf einen Server (z.B bplaced oder github) automatisch hoch zu laden?

    Ich habe einen Raspberry Pi mit Kodi nur für das Addon eingerichtet. (ohne Kodi habe ich das mit der Installation nicht hinbekommen).

    Ich will die epg Daten auf mehren Receivern nutzen können. (intern läuft das)

  • Ich mache das ganze mit einem Dropbox Account, der nur für EPG und Programmliste genutzt wird.

    Nach der Anleitung auf dieser Seite erst mal einrichten.

    Diesen Code verwende ich, um die epg-Datei auszulesen:

    sudo wget -N --directory-prefix=/media/nas/Kodi http://192.168.2.55:4000/download/epg.xml
    (Die IP-Adresse muss auf deinen Raspberry angepaßt werden, wo easyepg läuft)

    Dann lade ich die Datei auf Dropbox hoch:
    sudo /home/pi/Dropbox-Uploader/dropbox_uploader.sh -f /home/pi/.dropbox_uploader upload /media/nas/Kodi/epg.xml /TV/epg.xml

    Wenn man sich nun bei der Dropbox über Dropbox.com einloggt, kann man den Link zur epg-Datei abrufen. Der sieht dann so aus:
    https://www.dropbox.com/scl/fi/qfz2bl8ezgbuwfovp2itl/epg.xml?rlkey=XXXXXXXX&dl=0
    (Hier ist wichtig, das man die 0 hinter dl= auf 1 setzt!

    Dieser Link kann nun überall in den Kodi-Installationen genutzt werden.

  • Gibt es eine Möglichkeit die erzeugte epg.xml (bzw. gz) auf einen Server (z.B bplaced oder github) automatisch hoch zu laden?

    Ich habe einen Raspberry Pi mit Kodi nur für das Addon eingerichtet. (ohne Kodi habe ich das mit der Installation nicht hinbekommen).

    Ich will die epg Daten auf mehren Receivern nutzen können. (intern läuft das)

    OT, aber welchen Zweck hat die Cloud dabei?

    Ich mache etwas änliches bei mir, hab auf dem Raspberry aber direkt den Fileserver drauf:

    python3 -m http.server <port> --directory <pfad-zur-xml>

    Als Bash Script verpackt, wird dann über cron bei Systemstart ausgeführt.

    Erreichbar dann über http://<ip>:<port>/<pfad>, also z.B. http://192.168.8.2:8000/epg/guide.xml

  • OT, aber welchen Zweck hat die Cloud dabei?

    Es können dann auch andere (die nicht in meinem Haushalt wohnen) darauf zugreifen.

    Das Beispiel mit Dropbox funktioniert leider nicht. Da weder sudo noch aptget unter libreelec unterstützt wird. Würde ich zwar umgehen können wenn ich ein Standard OS und darauf dann Kodi installieren könnte, dafür ist der Raspberry 3 aber mit nur 512MB RAM einfach zu schwach. (ich hatte den hier noch herumliegen und wollte keinen neuen 4er kaufen)

Jetzt mitmachen!

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