mit Fernbedienung Ziffern eingeben und diese als Parameter an ein Script übergeben

  • Mir schwebt folgendes vor:
    mittels einer bestimmten Taste der Fernbedienung soll -egal aus welchem Kodi-Menü heraus gedrückt- ein Abfragefenster aufgehen "Bitte geben Sie die dreistellige Ziffer ein und drücken Enter". Diese Ziffernfolge soll dann als Parameter an ein bash-Script übergeben werden, dass daraufhin die im Script für die jeweilige Ziffer hinterlegten Befehle ausführt.

    Ist das grundsätzlich realisierbar, und gibt es vielleicht schon ein ähnliches addon?
    Ich habe bisher Null Erfahrung mit Python und könnte allenfalls etwas ähnliches vorhandenes für meine Zwecke umbauen.

  • Das ist grundsätzlich möglich.

    • bestimmte Taste der FB einem Skript zuweisen, z.B. mit dem Keymap-Editor oder händisch. Der Aufruf muss in der GLOBAL-Sektion erfolgen, wenn die Funktion systemweit (egal welches Menü) erfolgen soll. Das Skript muss kein Addon sein, allerdings sollte das schon Python sein, da Kodi-spezifische Bibliotheken zur Darstellung des NumPads und zur Auswertung des Codes verwendet werden (müssen).
    • der Zifferncode kann an ein beliebiges Skript weiter geleitet werden, Das Python-Skript kann auch das bash starten, das ist kein Problem.

    Der Aufruf des Skriptes z.B. per numpad.xml (muss in .kodi/userdata/keymaps abgelegt werden):

    Code: numpad.xml
    <[definition='3','0']keymap[/definition]>
        <global>
            <remote>
                <bestimmteTaste>RunScript(/pfadzumscript/num_input.py)</bestimmteTaste>
            </remote>
        </global>
    </[definition='3','0']keymap[/definition]>

    Das Skript (ungetestet):

    Code: num_input.py
    import xbmcgui
    import subprocess
    kb = xbmcgui.Dialog().input('3-stellige Nummer eingeben', '', type=xbmcgui.INPUT_NUMERIC)
    if kb and len(kb) == 3:
        subprocess.run(['bashscript', kb])

    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

    Einmal editiert, zuletzt von PvD (29. Mai 2022 um 20:13)

  • Wow, was für ein Service. Danke!
    bashscript ersetze ich einfach durch z.B. myscript.sh unter Beibehaltung der einfachen Anführungszeichen? Reicht es, wenn myscript.sh dann z.B. in /usr/local/bin liegt, oder muss ich den Pfad mit vorgeben?
    Lässt sich die Größe des Dialogfensters irgendwie beeinflussen? Mir wäre es am liebsten, das wäre riesig groß, fast bildschirmfüllend. Soll etwas idiotensicheres für meine Eltern werden.

  • bashscript ersetze ich einfach durch z.B. myscript.sh unter Beibehaltung der einfachen Anführungszeichen? Reicht es, wenn myscript.sh dann z.B. in /usr/local/bin liegt, oder muss ich den Pfad mit vorgeben?

    Ja, mit komplettem Pfad, also z.B. '/usr/local/bin/myscript.sh'

    Lässt sich die Größe des Dialogfensters irgendwie beeinflussen?

    Nein, das wird durch den Skin vorgegeben. Ansonsten muss man sich selbst ranmachen und die dazugehörende XML im Skin umbauen.

    BTW. Bist Du der Dr. Seltsam, der auch im VDR-Forum aktiv ist/war?

    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

Jetzt mitmachen!

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