Änderung bei Verwendung der autoexec.py seit Kodi 19

  • Servus zusammen.

    Für die User, die die Option der autoexec.py benutzen...dieses Feature wird in Kodi 19 höchstwahrscheinlich entfernt werden. Ein Pull-Request dazu besteht, ist aber noch nicht gemerged, wird aber wahrscheinlich so kommen: https://github.com/xbmc/xbmc/pull/18356

    Grund für die Entfernung des Features ist, dass man seit Kodi 12 sogenannte "Service-Add-ons" benutzen kann, die dann auch beim Start von Kodi getriggert werden. Im Grunde halt nicht sooo viel anders als eine autoexec.py im "userdata"-Ordner. Ein Wiki, wie so ein Service Add-on aussehen kann besteht schon:

    https://kodi.wiki/view/Autoexec_Service

    Wenn der oben genannte PR also gemerged wird, dann wird eure bestehende autoexec.py in Kodi 19 nicht mehr funktionieren. Ihr werdet dann ein Service Add-on erstellen müssen, wie es auch im Wiki beschrieben ist. Eure autoexec.py Datei könnt ihr dann einfach in den Ordner des Service-Add-ons kopieren und sie wird dort genauso funktionieren, wie sie es vorher auch im "userdata"-Ordner getan hat. Einziger, etwas größerer Unterschied ist, dass diejenigen, die mehrere Profile in Kodi nutzen, die autoexec.py umschreiben müssen. Grund ist folgender:

    Es können nicht gleiche Add-ons für verschiedene Profile mit unterschiedlichem Inhalt geschrieben werden.

    Ich erinnere mich, dass ich mal jemandem hier eine Konfiguration gemacht habe, wo via autoexec.py für das Master und ein Kids Profil nach der Uhrzeit entschieden wurde, welches Profil geladen werden sollte. Das erforderte verschiedene autoexec.py Dateien in den verschiedenen Profilen mit unterschiedlichem Inhalt.
    Habe ich nun nur noch ein Service Add-on, welches auf beiden Profilen läuft, muss ich die autoexec.py in dem Service Add-on so schreiben, dass zuerst gecheckt wird, welches Profil aktuell in Benutzung ist und erst dann entsprechend reagieren. Auch das ist im Wiki beschrieben:

    https://kodi.wiki/view/Autoexec_…_using_profiles

    Alternativ kann man natürlich auch verschiedene Service Add-ons schreiben (diese müssen dann natürlich auch unterschiedlich heißen "service.autoexec-master" für das "Master profil" und ggf. "service.autoexec-<profilname>" für das andere Profil mit dem entsprechenden Namen). Da kommt es natürlich auch noch drauf an, wie eure Profile eingerichtet sind und ob diese Dinge aus dem Master-Profil vererben.

    Prinzipiell funktioniert das auch schon mit Kodi 18. Da bitte nur aufpassen, dass man nicht beides (service add-on und autoexec.py im "userdata"-Ordner) verwendet.

    Warum hat man sich entschiieden das zu ändern?

    Diese Frage ist berechtigt und auch wenn ich die Gefahr nicht als so kritisch empfinde ist es ein richtiger Schritt in die richtige Richtung, denn:

    • eine autoexec.py im "userdata"-Ordner wird unbemerkt ausgeführt. Sollte also durch eine Sicherheitslücke in Kodi diese Datei "platziert" werden, weiß der User nicht, dass diese Datei ausgeführt wird und grundlegend kann damit alles mögliche angestellt werden.
    • ein Service-Add-on kann zwar ebenso "platziert" werden, aber es wird etwas schwieriger, denn Add-ons, die ich manuell in den "Addons"-Ordner kopiere sind in Kodi per default 'deaktiviert' und führen dann erstmal nichts aus bis der User dieses bewusst 'aktiviert'. Natürlich kann man das auch über andere Wege aktivieren, aber es ist halt nicht mehr so ganz trivial wie es vorher gewesen wäre.
    • dem User wird es durch das Deaktivieren des Service-Add-ons über die GUI einfacher gemacht, die Ausführung der autoexec.py zu unterbinden. Man muss also nicht mehr immer wieder per ssh oder auf anderen Wegen in das Dateisystem um die Datei zu löschen/umzubenennen.

    Bei weiteren Fragen, bitte einfach hier rein. Ich werde versuchen alles mögliche diesbezüglich zu beantworten.

    Gruß
    DaVu

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Moin,

    mit der aktuellen Git Matrix-Version werden meine autoexec.py nicht mehr beim Kodi- Start abgerufen. Sind nur einfache Begrüßungstexte; Bsp.: xbmc.executebuiltin('Notification(Hello World, blablabla,8000)')

    Was muss ich machen, dass das wieder funzt ?

  • Am besten meinen Beitrag und das zugehörige Wiki oben lesen ;)

    Du brauchst ein Service Add-on:

    In deinem Kodi-Ordner gibt es einen Ordner, der "addons" heißt. Der Location des "Kodi"-Ordners unterscheidet sich von einem Betriebssystem zum anderen. Da du nicht gesagt hast, welches Betriebssystem du verwendest, kann ich da auch keine genaueren Angaben zu machen. Unter Linux ist es ~/.kodi

    In diesem "addon"-Ordner erstellst du einen Unterordner mit dem Namen: service.autoexec
    In dem neu erstellen Ordner legst du die Datei: addon.xml an und füllst diese mit folgendem Inhalt:


    Dann kopierst du deine bestehende autoexec.py einfach in den Ordner und das war es dann schon.

    Edit:

    kleiner Nachtrag....Das Add-on musst du dann erst noch aktivieren. Dafür gehst du zu "Einstellungen" -> "Addons" -> "Meine Add-ons" -> "Dienste" und wählst dort "Autoexec Service" aus, Das musst du dann aktiv setzen

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

    Einmal editiert, zuletzt von DaVu (30. September 2020 um 10:02)

  • Vorschlag: Was haltet Ihr davon, wenn wir das Sticky lassen und einen Diskusisons- / Hilfsthread dazu aufmachen, auf den im ersten Post des Sticky verwiesen wird?

    Die "Lösung" von @DaVu für den aufruf schon bestehender autoexecs würde ich dann gleich mit in den ersten Post aufnehmen.

  • Mir egal ;)

    Mach wie du es für richtig hälst. Ich wäre auch damit zufrieden diesen Thread hier als Sticky zu setzen und dann hier auch gleich die Hilfestellung zu gewissen Themen zu geben. Für diejenigen, die nur ein Profil benutzen ändert sich ja nicht so viel.

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Habe diesen Thread gefunden, nachdem ich festgestellt hatte, dass sich die Größe meines Backups wieder gewaltig erhöht hat.

    Ich hatte ja sonst mit der autoexex.py dafür gesorgt, dass der Ordner packages im Ordner addons beim Start von Kodi gelöscht wurde.

    Durch den verlinkten Kodi-Wiki-Beitrag von DaVu konnte ich nach der Anleitung dort mein eigenes service.autoexec Service-Addon erstellen, zippen und installieren.

    Funktioniert super. :)

  • Hi Leude, ich hab das mal gemacht mit dem service.autoexec Gedöns. Jedoch kann ich das Addon nicht aktivieren weil ich es nicht finden kann. Muss man bestimmte Rechte bzw. Attribute setzen?
    Ich hab das ganze über WinSCP gemacht. Oder sollte ich die Karte besser direkt aus dem Pi nehmen und das am PC machen?

    RaspberryPi 2
    RaspberryPi 3B
    RaspberryPi 4B
    DM7080
    DM900UHD

    Einmal editiert, zuletzt von Riker (9. Oktober 2021 um 17:16)

  • Was hast du denn genau gemacht.

    "Ich hab das alles gemacht"

    Ist halt eine ziemlich haltlose Aussage ;)

    In welchen Ordner hast du das Addon gelegt? Wie sieht der Code aus? Was soll das Addon überhaupt machen?

    Wenn du das Addon aktivieren kannst weil du es nicht findest, dann kann ich mir nur vorstellen, dass du es im falschen Ordner hast.

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

  • Hallöchen,
    ja du hast recht das ist recht schwammig was ich geschrieben habe.
    Ich habe deine Anleitung vom Wiki befolgt um meine ursprüngliche autoexex.py zum starten des Radio Addons weiter zu nutzen zu können . RaspberryPi 4B->Libreelec 10.0.0
    xbmc.executebuiltin("RunAddon(plugin://plugin.audio.radio.de)" ).
    Da fällt mir gerade auf das du im Wiki vom Addon Ordner sprichst, ich gehe mal davon aus das du /storage/.kodi/addons/ meinst .Natürlich meintest du /storage/.kodi/addons/ hast ja extra oben den Link Datei Ordner gesetzt.
    Und bei "Einstellungen > Add-ons > Meine Add-ons > Dienste > Autoexec-Dienst . meintest du bestimmt nicht Meine Add-ons diesen Ordner gibt es ja nicht. Sondern Benutzer-Addons ?
    Ich habe deinen Code benutzt.

Jetzt mitmachen!

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