Shell Script/curl oder ähnliches auf SHIELD ausführen

  • Hi,

    ich würde gern einen REST API Call über die SHIELD ausführen und diesen dann per Kodi Keymap auf ne Taste meiner Logitech Harmony mappen.

    Ich hab leider wenig Ahnung von Android und googlen hat mich bisher nicht wirklich weiter gebracht, aber es muss wohl irgendwie gehen.

    Kann mir jemand weiterhelfen? Der Call würde mit curl ungefähr so aussehen:

    curl -X PUT -H "Content-Type: application/json" -d '{"on":true}' "http://192.168.44.250:8080/api/####/lights/1/state"

    Vielen Dank!

  • Schau mal hier: https://forum.kodi.tv/showthread.php?tid=192682

    Lösungsansatz dort:
    - Keymapping über keyboard.xml (Doku hier: https://kodi.wiki/view/Keymap) / Auch sehr hilfreich: https://kodi.wiki/view/Add-on:Keymap_Editor
    - auszuführendes Script starten mit System.Exec(/pfad/zum/Script/skriptname.sh)

    Z. B. so einen Eintrag in der keyboards.xml (Beispielhaft für Aufruf per [F1]-Taste auf einem Keyboard):

    XML: keyboard.xml
    ...
      <key id="VK_F1">System.Exec(/pfad/zum/Script/skriptname.sh)</key>
    ...


    Dazu Deinen Befehl in eine entsprechende Datei packen:

    Bash: skriptname.sh
    #!/bin/bash
    curl -X PUT -H "Content-Type: application/json" -d '{"on":true}' "http://192.168.44.250:8080/api/####/lights/1/state"

    Dann das Skript noch ausführbar machen. Z. B. per SSH mit chmod +x ./pfad/zum/Script/skriptname.sh.

    OpenELEC 5.0 Final (5.0.7 / 5.0.8 github) | SolidRun CuBox-i4Pro (CPU: ARM Cortex A9 | GPU: Vivante GC2000)
    Kein kodi.log => Kein Support! | Spendier' mir ein Bier!

    3 Mal editiert, zuletzt von root2 (2. August 2019 um 14:31)

  • Ohe Root Zugriff geht das auch nicht, da abseits der "SD-Karte" bzw. öffentlichen internen Speicher können Apps nicht auf den Speicherpfad anderer Apps zugreifen. Wenn die Shield gerootet ist, könntest du ein entsprechendes Modul installieren, welches curl für Android nachliefert. Scripte funktionieren grundsätzlich schon, aber ohne Root halt nicht vernünftig


  • Hallo zusammen, interessanter Beitrag ich versuche ebenfalls über Bash Skripte meine Loxone Steuerung zu triggern.

    Das klappt leider nicht so recht :-(... meine Vorraussetzungen:
    Libreelec 8.2.5 (Rpi2.arm)
    Kodi 17.6.
    FLIRC IR Empfänger mit WD LIve fernbedienung

    Updaten möchte ich das System nicht, denn die neue Version funktioniert nicht mit CinemaVision.

    Was habe ich gemacht bisher:

    Code
    curl -d --data http://???:????@192.168.?.?/dev/sps/io/Licht50/Impuls<

    2. Ordner angelegt name loxone
    3. Skripte angelegt lichtaus.sh licht50.sh
    4. Skripte ausführbar gemacht mit chmod +x /storage/loxone/licht50.sh
    5. Das keyboard.xml file kopiert nach /storage/.kodi/userdata/keymaps/keyboard.xml
    6.

    Code: Keyboard.xml angepasst wie oben
    <key id="VK_F11">System.Exec(/storage/loxone/licht50.sh)</key>
          <key id="VK_F12">System.Exec(/storage/loxone/lichtaus.sh)</key>

    Ich wollte die Lichtszenen über die tasten F11 & F12 steuern

    Code
    log [definition='1','3']Debug[/definition] Mode" data-line="1">20:45:16.214 T:1945042944   DEBUG: OnKey: f12 (0xf09b) pressed, action is
    20:45:16.260 T:1945042944   DEBUG: Keyboard: scancode: 0x58, sym: 0x0125, unicode: 0x0000, modifier: 0x0
    20:45:16.352 T:1945042944   DEBUG: Previous line repeats 1 times.
    20:45:16.352 T:1945042944   DEBUG: OnKey: f12 (0xf09b) pressed, action is

    Wie man erkennt wird der Tastendruck erkannt, das klappt also... warum wird die System.Exec nicht ausgeführt?
    Die Bash skripte laufen auf anhieb und das Licht geht so an und auch aus... aber mit System Exec klappt es nicht....
    Welche Informationen zur Hilfe braucht ihr darüber hinaus?

    Ich möchte doch an und für sich nur meine Lichsteuerung im Kinozimmer mit der Remote des Kodis anfahren :(

    Vielen Dank

Jetzt mitmachen!

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