Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Steuerung von allen Android Geräten (inkl. Android TV z.B. nvidia shield tv)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    159

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

Steuerung von allen Android Geräten (inkl. Android TV z.B. nvidia shield tv)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
20 Beiträge 10 Kommentatoren 9.8k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Martin1982
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich suche gerade einen Weg meinen NVidia Shield TV über ioBroker zu steuern. Hierbei geht es mir in erster Linie um An und Ausschalten und eventuell auch noch eine bestimmte App starten.

    In meinem Fall soll darüber der Kino Modus gestartet bzw. beendet werden. Beamer geht an, Leinwand fährt runter, 5.1 System geht an und jetzt fehlt noch Shield TV an und am besten noch Netflix starten. Über das Forum habe ich keine aktuelle Möglichkeit gefunden. Über Google bin ich dann darauf gestoßen, dass man über ADB Tastenkürzel an jedes Android Gerät schicken kann (vorausgesetzt dieses ist im Entwicklermodus). Somit sollte eigentlich eine Grundlegende Bedienung per ioBroker möglich sein.

    Ich habe es mal kurz vom Laptop mit Linux und installierter ADB ausprobiert und es funktioniert. Auch Apps sollten sich über ADB starten lassen.

    Da ich gerade erst mit dem Thema ioBroker anfange und mir leider auch aktuell die Zeit für eine Adapter Entwicklung fehlt kann ich leider keinen Adapter schreiben. Wenn sich jemand finden sollte der dieses übernehmen würde, könnte ich natürlich gerne helfen und testen.

    Ich werde morgen mal die ADB auf meinem Pie einrichten und versuchen die Grundlegenden Befehle per Shell Execute über ein JavaScript an den Shield zu schicken. Sobald ich da ein Ergebnis habe werde ich es hier posten.

    adb tcpip 5555
    adb connect 123.456.789.123:5555
    
    adb shell input keyevent "KEYCODE_POWER"
    adb shell input keyevent "KEYCODE_HOME"
    
    //Alle Apps auflisten
    adb shell pm list packages -f
    
    //Netflix starten
    adb shell monkey -p com.netflix.ninja  -c android.intent.category.LAUNCHER 1
    
    

    Gruß

    Martin

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Martin1982
      schrieb am zuletzt editiert von Negalein
      #2

      Guten Morgen,

      wie gesagt, habe ich es heute mal kurz über ein JavaScript vom ioBroker versucht und es funktioniert. Also für meinen Fall reicht das vollkommen aus, wie sieht das Interesse bei anderen aus? Wird ein besseres Script benötigt oder eventuell auch ein Adapter?

      Bevor der Code funktioniert muss auf dem Rechner auf dem das Script läuft ADB installiert sein.

      Auf dem RaspberryPie habe ich dieses über:

      sudo apt-get install -y android-tools-adb android-tools-fastboot
      

      erledigt.

      Folgendes Script habe ich unter Global angelegt:

      function SendAdbKey(keycode)
      {
          exec('adb connect 192.168.178.39:5555');
          exec('adb shell input keyevent "' + keycode + '"');
      }
      
      function SendAdbPower()
      {
          SendAdbKey('KEYCODE_POWER');
      }
      
      function SendAdbHome()
      {
          SendAdbKey('KEYCODE_HOME');
      }
      

      Gruß

      Martin

      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Kampell
        schrieb am zuletzt editiert von
        #3

        Hey Martin,

        ich bin Neuling der ersten Stunde und versuche mich mit IOBroker hier ein wenig einzulesen. :shock: Ich war auch auf der Suche nach einer Einbindung meiner Shield TV, in IOBroker und habe hier deinen Thread gefunden. Ich würde es sehr begrüßen, wenn du das ganze weiter ausbaust. Im Grunde würde mir es schon ausreichen einige Apps zu starten, wie z.b. Kodi, Netflix, Amazon Prime oder Tunein.

        Ich habe auch schon die ADB auf meinem PI installiert, aber weiß nun nicht wirklich wie ich dein Script verstehen soll um es eben zu erweitern. Leider beherrsche ich keine Programmiersprachen. Wenn ich das richtig verstehe startet das Script im Moment nur die Shield TV. Richtig?

        Gruß André

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Martin1982
          schrieb am zuletzt editiert von
          #4

          Ja, mit dem Script kann man aktuell nur den Shield an und ausschalten.

          Bzw. Es ist auch möglich (nicht getestet) jeden keycode an das Android Gerät zu schicken.

          Apps starten sollte auch möglich sein, im ersten Beitrag steht der nötige ADB Befehl. Das kann ich morgen mal über eine entsprechende Javascript Funktion ausprobieren.

          Damit es funktioniert, muss auf dem Shield der Entwickler Modus aktiviert sein und anschließend USB und Netzwerk Debugging erlaubt werden.

          Um den Entwicklermodus zu aktivieren musst du mehrfach hintereinander auf den buildnummer auf dem Shield drücken. Anschließend hast du unter dem Einstellungen den Eintrag Entwickler, da musst du dann USB und Netzwerk Debugging erlauben.

          Anschließend solltest du die Verbindung von pie zum Shield testen. Wie im ersten Beitrag geschrieben. Bei der ersten Verbindung fragt dich der Shield ob du dem Computer vertrauen möchtest. Hier immer zulassen aktivieren.

          Gruß

          Martin

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            Kampell
            schrieb am zuletzt editiert von
            #5

            Also ich habs jetzt bei mir einfach mal übers Terminal getestet. Verbindung steht definitiv, aber weder der HOME noch POWER Button startet die Shield. Aber wenn ich direkt die Netflix App starte, dann startet auch die Shield automatisch. Würde mir so auch schon reichen als Script. Dies könnte man ja dann auch an diverse andere Apps anpassen. Ich werd mal mein Glück versuchen das Script anzupassen. :?

            Gruß

            1 Antwort Letzte Antwort
            0
            • wendy2702W Offline
              wendy2702W Offline
              wendy2702
              schrieb am zuletzt editiert von
              #6

              Schaut euch mal den „PAW“ Adapter an!.

              https://www.npmjs.com/package/iobroker.paw

              Vielleicht kann der was ihr sucht/wollt.

              Bitte keine Fragen per PN, die gehören ins Forum!

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                Kampell
                schrieb am zuletzt editiert von Negalein
                #7

                Ich bekomme das mit dem Script nicht hin. Ich habe auch den Paw Adapter am laufen, aber der läuft bei mir nur mit meinen Tablets. Auf der Shield macht der Adapter keinen Mucks. Per Tablet läuft alles wie es soll. Keine Ahnung was da los ist.

                Deswegen habe ich es weiter mit der adb shell versucht. Und da funktionieren jetzt die Befehle. Also ich kann die Shield aufwecken mit KEYCODE_WAKEUP, in den SLEEP schicken und Apps starten. Alles via Putty.

                Jetzt meine Frage, ob mir jemand die Befehle in Javascript umbauen kann? Ich hab vom Scripten absolut keine Ahnung.

                Hier die Befehle:

                Für den Wakeup

                adb connect 192.168.1.29:5555
                adb shell input keyevent KEYCODE_WAKEUP
                

                Für den Sleep Modus

                adb connect 192.168.1.29:5555
                adb shell input keyevent KEYCODE_SLEEP
                

                Für den App start z.b. Netflix

                adb connect 192.168.1.29:5555
                adb shell monkey -p com.netflix.ninja  -c android.intent.category.LAUNCHER 1
                

                Danke für eure Hilfe!!

                LG

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  dYna
                  schrieb am zuletzt editiert von
                  #8

                  Gibt es eine Liste mit den möglichen keyevents?

                  Sowas wie Pause/Play wäre zB nett.

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    bort
                    schrieb am zuletzt editiert von
                    #9

                    Das Thread ist zwar schon etwas älter aber hab noch mal eine Frage an den TO. Wenn du dein Shield TV mit deinem ADP Script steuerst dann nur über USB oder funktioniert das auch über LAN?

                    S 1 Antwort Letzte Antwort
                    0
                    • B bort

                      Das Thread ist zwar schon etwas älter aber hab noch mal eine Frage an den TO. Wenn du dein Shield TV mit deinem ADP Script steuerst dann nur über USB oder funktioniert das auch über LAN?

                      S Offline
                      S Offline
                      sauerstofff
                      schrieb am zuletzt editiert von sauerstofff
                      #10

                      Ich schließe mich hier "noch später :D" mal an.
                      In meinem unraid Docker lässt sich adb nicht installieren.
                      Gibt es noch jemanden, der das hier aktiv verwendet?

                      Screenshot_2.png

                      G 1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        Berzi
                        schrieb am zuletzt editiert von
                        #11

                        Danke für den thread hier, das hat mir meine Automatisierung nun endlich auch mal automatisiert! :D

                        Nur woher habt ihr die keycodes/keyevents?
                        Ich nutze derzeit den keycode_power zum an und ausschalten der Shield. Jedoch muss es noch andere shutdown Befehle geben. Schalte ich sie mit der Fernbedienung aus, so beendet die Shield auch gemäß meinen Einstellungen auch den TV und AVR. Nur mit dem adb keycode_power scheint sie mir eher nur schlafen zu gehen.
                        Kennt ihr noch einen anderen keycode?

                        Danke!

                        1 Antwort Letzte Antwort
                        0
                        • I Offline
                          I Offline
                          Ice86
                          schrieb am zuletzt editiert von
                          #12

                          hallo zusammen,

                          gibt es eigentlich eine möglichkeit den status einer android tv box zu erfragen? speziell, wenn die box ausgemacht wird, würde ich das gerne hinkriegen, um eine aktion ausführen zu können.

                          so wie ich das bis jetzt hier überflogen habe, kann sowohl der umweg über adb als auch über den PAW adapter nur an die Box senden, aber nichts empfangen, richtig?

                          anpingen der box ist leider keine option -.-

                          S 1 Antwort Letzte Antwort
                          0
                          • I Ice86

                            hallo zusammen,

                            gibt es eigentlich eine möglichkeit den status einer android tv box zu erfragen? speziell, wenn die box ausgemacht wird, würde ich das gerne hinkriegen, um eine aktion ausführen zu können.

                            so wie ich das bis jetzt hier überflogen habe, kann sowohl der umweg über adb als auch über den PAW adapter nur an die Box senden, aber nichts empfangen, richtig?

                            anpingen der box ist leider keine option -.-

                            S Offline
                            S Offline
                            sauerstofff
                            schrieb am zuletzt editiert von
                            #13

                            @ice86
                            Da bei mir adb (erstmal) nicht läuft habe ich durch Zufall festgestellt, dass es auf meinem Shield ganz gut mit Chromecast geht.
                            Dort kann ich verschieden Status abfragen u.a. ob der Shield An ist, oder im Standby, ob gerade etwas gespielt wird (z.B. Netflix o.ä.), die aktuelle laustärke uvm.
                            Damit steuere ich aktuell meine umliegende Peripherie. Bisher keine Ausfälle oder Anomalien :+1:

                            I 1 Antwort Letzte Antwort
                            0
                            • S sauerstofff

                              @ice86
                              Da bei mir adb (erstmal) nicht läuft habe ich durch Zufall festgestellt, dass es auf meinem Shield ganz gut mit Chromecast geht.
                              Dort kann ich verschieden Status abfragen u.a. ob der Shield An ist, oder im Standby, ob gerade etwas gespielt wird (z.B. Netflix o.ä.), die aktuelle laustärke uvm.
                              Damit steuere ich aktuell meine umliegende Peripherie. Bisher keine Ausfälle oder Anomalien :+1:

                              I Offline
                              I Offline
                              Ice86
                              schrieb am zuletzt editiert von
                              #14

                              @sauerm eeehm.... details? :D wenn möglich... bitte! :D

                              S 1 Antwort Letzte Antwort
                              0
                              • I Ice86

                                @sauerm eeehm.... details? :D wenn möglich... bitte! :D

                                S Offline
                                S Offline
                                sauerstofff
                                schrieb am zuletzt editiert von
                                #15

                                @ice86
                                Ich schaue morgen gern mal genauer :)
                                Hast du die Möglichkeit Chromecast auf deiner Android Box zu installieren? :)
                                Wenn ja, brauchst du nur den Chromecast Adapter im Broker. Wenn er den Client nicht automatisch findet, kannst du ihn manuell hinzufügen. Anschließend werden alle Datenpunkte zum Endgerät automatisch angelegt.

                                I 1 Antwort Letzte Antwort
                                0
                                • S sauerstofff

                                  @ice86
                                  Ich schaue morgen gern mal genauer :)
                                  Hast du die Möglichkeit Chromecast auf deiner Android Box zu installieren? :)
                                  Wenn ja, brauchst du nur den Chromecast Adapter im Broker. Wenn er den Client nicht automatisch findet, kannst du ihn manuell hinzufügen. Anschließend werden alle Datenpunkte zum Endgerät automatisch angelegt.

                                  I Offline
                                  I Offline
                                  Ice86
                                  schrieb am zuletzt editiert von
                                  #16

                                  @sauerm ich schaue heute abend mal nach, aber denke, dass es gehen sollte mit chromecast!

                                  aah, jetzt versteh ich das auch. also chromecast adapter für iobroker, chormecast app auf die Mi Box S und dann quasi schauen, wie sich die Werte im Adapter ändern wenn die Box an/aus ist.

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • I Ice86

                                    @sauerm ich schaue heute abend mal nach, aber denke, dass es gehen sollte mit chromecast!

                                    aah, jetzt versteh ich das auch. also chromecast adapter für iobroker, chormecast app auf die Mi Box S und dann quasi schauen, wie sich die Werte im Adapter ändern wenn die Box an/aus ist.

                                    S Offline
                                    S Offline
                                    sauerstofff
                                    schrieb am zuletzt editiert von sauerstofff
                                    #17

                                    @ice86 Ja genau :blush:
                                    Klappt es denn?
                                    Bei der MiBox geht es ja vielleicht auch über ADB, das klappt beim nvidia Shield nicht so gut/einfach. Daher bin ich mit dieser Lösung recht zufrieden.strikethrough text

                                    EDIT: siehe Folgepost

                                    1 Antwort Letzte Antwort
                                    0
                                    • S sauerstofff

                                      Ich schließe mich hier "noch später :D" mal an.
                                      In meinem unraid Docker lässt sich adb nicht installieren.
                                      Gibt es noch jemanden, der das hier aktiv verwendet?

                                      Screenshot_2.png

                                      G Offline
                                      G Offline
                                      GreatEMU
                                      schrieb am zuletzt editiert von GreatEMU
                                      #18

                                      @sauerm sagte in Steuerung von allen Android Geräten (inkl. Android TV z.B. nvidia shield tv):

                                      Ich schließe mich hier "noch später :D" mal an.
                                      In meinem unraid Docker lässt sich adb nicht installieren.
                                      Gibt es noch jemanden, der das hier aktiv verwendet?

                                      Screenshot_2.png

                                      Ich würde mich gerne in das Thema mit rein hängen.

                                      Bei mir ist das gleiche Problem.
                                      Kann ich überhaupt die ADB-Tools in einem Docker installieren oder benötige ich einen ADB-Server in einem separatem Docker?

                                      Über Hinweise wäre ich sehr froh.

                                      Update 29.03.21: Um die ADB-Tools im ioBroker lauffähig zu bekommen muss man sich lediglich das Installations-zip bei Google herunterladen und in einem Verzeichnis auf dem ioBroker entpacken.
                                      Mit der entsprechenden Pfad-Angabe kann man denn den jeweiligen Befehl ausführen.
                                      (Geht vielleicht auch mit dem setzen einer PATH-Angabe)
                                      @sauerm

                                      1 Antwort Letzte Antwort
                                      1
                                      • S Offline
                                        S Offline
                                        sauerstofff
                                        schrieb am zuletzt editiert von sauerstofff
                                        #19

                                        Ich habe es nun auch hinbekommen - allerdings bin ich mittlerweile auf einen Pi4 gewechselt. Im Docker läuft nur noch mein Backup.

                                        Auf dem Pi ist es relativ simpel. Auch die Aktivierung von ADB auf dem ShieldTV ist mittlerweile relativ einfach. Hierzu gibt es zahlreiche, kurze Tutorials.

                                        Eine Übersicht der Befehle habe ich hier gefunden.

                                        Mein Skript sieht nun so aus:

                                        var Name, Initialisation, Description, Type, Role, SmartName, Text_Alexa, Alexa_Notification, Message, timeout;
                                        
                                        function Create_DP(Name, Initialisation, Description, Type, Role, SmartName) {
                                            createState(Name, Initialisation, {
                                              name: Description,
                                              read: true, 
                                              write: true, 
                                              type: Type, 
                                              role: Role,
                                              smartName: SmartName
                                            });
                                        
                                        }
                                        
                                        function SendAdbKey(keycode)
                                        {
                                            exec('adb connect 10.1.1.25:5555');
                                            exec('adb shell input keyevent "' + keycode + '"');
                                        }
                                         
                                        function SendAdbPower()
                                        {
                                            SendAdbKey('KEYCODE_POWER');
                                        }
                                         
                                        function SendAdbHome()
                                        {
                                            SendAdbKey('KEYCODE_HOME');
                                        }
                                        
                                        
                                        function CheckAdbPowerState()
                                        {
                                            exec('adb connect 10.1.1.25:5555');
                                            exec('adb shell \'dumpsys power | grep -e "mWakefulness="\'',function (error, stdout, stderr) {
                                                setState("0_userdata.0.Devices.WZ.ShieldTV.info.state", stdout.replace('mWakefulness=',''));
                                            });
                                        }
                                        
                                        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                        
                                        Create_DP('0_userdata.0.Devices.WZ.ShieldTV.info.state', '', 'Power State', 'string', 'state','');
                                        Create_DP('0_userdata.0.Devices.WZ.ShieldTV.power.switch', false, 'Power Switch', 'boolean', 'switch','Shield T.V.');
                                        
                                        schedule("*/5 * * * * *", async function () {
                                            CheckAdbPowerState();
                                        });
                                        
                                        on({id: '0_userdata.0.Devices.WZ.ShieldTV.power.switch'}, function (obj) {
                                            SendAdbPower();
                                        });
                                        

                                        Über den DP "state" kann der Zustand des Shield abgefragt werden ("Awake", "Asleep", "Dreaming")

                                        1 Antwort Letzte Antwort
                                        0
                                        • miyagiM Offline
                                          miyagiM Offline
                                          miyagi
                                          schrieb am zuletzt editiert von
                                          #20

                                          @sauerstofff Vielen Dank für das tolle Skript, ich habe es trotz meiner absoluten Unwissenheit bzgl. Javascript ohne Fehlermeldungen zum laufen gebracht.

                                          Es funktioniert sowohl der Home Switch, als auch der Power Switch wenn ich diese manuell oder über ein Blockly-Skript auslöse.

                                          Was leider nicht funktioniert, ist das auslesen des Zustands vom DP "state". Wenn dieser "Asleep" ist, soll der Power Switch ausgelöst werden:

                                          blockly.png

                                          Es funktioniert aber nicht so wie abgebildet mit dem Inhalt des grünen Text-Blocks ("Asleep"). Wenn ich den unter Objekte aus dem DP heraus kopiere, habe ich in der Zwischenablage " Asleep" (2 Leerzeichen davor). Das Gleiche ist es bei " Dreaming" und " Awake". Wenn ich den kopierten Text mit Leerzeichen in den Text-Block einfüge passiert auch nichts. Also werden dort vielleicht Leerzeichen ignoriert oder in Wirklichkeit sind es andere Zeichen die da noch davor stehen und nicht korrekt kopiert werden?

                                          blockly2.png

                                          Hat vielleicht jemand eine Idee wie ich das Problem lösen kann?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          382

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe