Von Kodi aus Script auf anderer Linux-Maschine ausführen lassen

  • @bunter fisch:
    Den Advanced Launcher hab ich früher auch immer genutzt um meine Scripte auszuführen.
    Aber da es öfters Probleme gab, weil er mit den neuen Kodi Versionen nicht kompatibel war, hab ich eine andere (unabhängige) Lösung gefunden.

    Im Home screen hab ich einen Button der auf ein custom window führt. Hier kann man dann praktisch unendlich viele Python Scripte via "System.Exec" starten.

    Da ich vom "skinning" keine Ahnung hab, hat das natürlich eine Weile gedauert um den code in den betreffenden Dateien zu ändern. Ohne dieses geniale Forum hätte ich es nie geschafft.

    Ich lehne mich mal aus dem Fenster und behaupte das die Manipulation (Skin Anpassung) im Videomenü Fenster möglich sein müsste.
    Testumgebung - OS: Windows 7 / Kodi 17.6 / Transparency! 10.3.0 / PC Monitor
    Live Umgebung - OS: Ubuntu 16.04.3 LTS / Kodi 17.6 / Transparency! 10.3.0 / TV
  • In meinem custom window befinden sich die Buttons.

    Du müsstest in der <Videomenü>.xml (vermute window und buttons sind in einer Datei) nach einem Stop, Pause oder Wiedergabe button suchen.
    Der sollte dann den Befehl <onclick>Stop, Pause oder Wiedergabe vom Video</onclick> haben (ist nur eine Vermutung).
    Denn kannst du ja mal austauschen und testen ob dein script funktioniert.

    Mein Befehl sieht z.B. so aus (unter Windows):
    <onclick>XBMC.System.Exec("C:\Scripte\Start_NAS-01.py")</onclick>

    Im Python script (z.B. 'Start_NAS-01.py') kannst du dann deine Wünsche eintragen.
    Testumgebung - OS: Windows 7 / Kodi 17.6 / Transparency! 10.3.0 / PC Monitor
    Live Umgebung - OS: Ubuntu 16.04.3 LTS / Kodi 17.6 / Transparency! 10.3.0 / TV
  • Neu

    Wie hast du die Befehle in die *.py eingetragen? In einer bestimmten Python-Syntax?

    Heißt es wirklich "XBMC.System.Exec", laut dem Skinning-Guide von Kodi sollte es nur "System.Exec" sein.

    Direkt auf das Shell-Script zu verlinken geht scheinbar nicht, auf dem Laptop stürzt Kodi ab wenn es im Fenstermodus läuft oder wechselt in den Fenstermodus wenn es Fullscreen läuft. Auf der lE-Maschine tut sich nichts. Ich habe hier testweise mal ein Skript mit

    Quellcode

    1. touch datei

    getestet um zu sehen ob die Datei auch erstellt wurde.
  • Neu

    Python Beispiel script (mount_NAS-01.py) um ein NAS einzuhängen:

    Quellcode

    1. #!/usr/bin/env python
    2. # import sys module
    3. import sys
    4. import subprocess
    5. subprocess.call(['mount /home/<Mein-Standard-User>/NAS-01'], shell=True)
    6. # quit python script
    7. sys.exit(0)
    Von Python Programmierung hab ich NULL Ahnung, ist alles nur zusammengegoogelt. Wenn jemand Fehler oder Verbesserungen sieht, bitte melden.

    "XBMC.System.Exec" sollte richtig sein.

    Die Fenster-Einstellung in Kodi sollte egal sein. Wichtig ist das du ein Python script startest. Wenn man z.B. eine *.bat nimmt, passiert in etwa das was du beschrieben hast.
    Testumgebung - OS: Windows 7 / Kodi 17.6 / Transparency! 10.3.0 / PC Monitor
    Live Umgebung - OS: Ubuntu 16.04.3 LTS / Kodi 17.6 / Transparency! 10.3.0 / TV
  • Neu

    @bunter fisch Um welchen Sat-Receiver handelt es sich denn? Wenn dieser zum Beispiel mit Enigma2 läuft, kannst du Ihn mit einer simplen Netzwerk API steuern. Dann muss man in Kodi nur ein Skript einbinden, welches eine URL mit dem gewünschten Kommando aufruft. Siehe hier:
    dream.reichholf.net/wiki/Enigma2:WebInterface#RemoteControl

    Für meine Kathrein Receiver gibt es auch eine solche API mit ähnlichem Prinzip.