Nvidia Shield TV Standby steuern

Begonnen von trs, 17 Dezember 2018, 21:31:35

Vorheriges Thema - Nächstes Thema

trs

Hallo,

um die Nvidia Shield TV Box (und wahrscheinlich  jede andere Android Box) in den Standby zu schalten (und wieder zu wecken)  geht mit dem ADB Befehl

{system("adb shell input keyevent 26")}

Vorher ADB Shell installieren.

Um festzustellen, ob die Box im Standby ist, oder nicht, kann man mit dem Konsolen-Befehl

adb shell 'dumpsys display | grep -e "mState="' 

ermitteln.  Antwort:

"mState=OFF" oder "mState=ON"

Wie bekomme ich es nun am einfachsten  hin, daß in einem Intervall von 10 sec ein Reading aktualisiert wird, auf das ich entsprechend reagieren kann, um in den Standby zu schalten, oder das Gerät aufzuwecken?








MadMax-FHEM

Ein zyklisches 'at' das eine sub in myUtils aufruft wo du die Abfragen machst und dann eben dort abhängig von den Aufrufergebnissen mittels setreading eben in z.B. einem Dummy ein oder mehrere Readings zu setzen...

...aber deine Aufrufe sind "blocking"...

https://wiki.fhem.de/wiki/At

https://wiki.fhem.de/wiki/99_myUtils_anlegen

https://fhem.de/commandref_DE.html#setreading

Dann ein Notify und Reaktion...

Oder in der sub direkt zu reagieren, wenn es nur um Reaktion geht und nicht (so sehr) um "Statusanzeige"...

Oder mal das Modul für den FireTv(-Stick) anschauen und die dort verwendeten Aufrufe (sofern sie nicht eh schon passen) anpassen...

https://forum.fhem.de/index.php?topic=68748.0

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

trs

Ok, 

FireTV Modul zeigt leider den falschen  Screen-State an.

Mir würde es reichen, wenn ich verlässlich in den Standby schalten kann.  Nicht nur toggeln. Also vor dem Schaltvorgang eine Abfrage einbauen, die prüft, wie der momentane Screen State ist.


MadMax-FHEM

Dann wie geschrieben einfach das Modul abändern: copy/paste neuer Name und dann nach Bedürfnissen anpassen...

Verstehe noch nicht genau was du willst...

Dachte mit den genannten Kommandos kannst du den Status abfragen?

Da musst du wohl genauer erläutern was du genau willst...

Ansonsten eben ein at das zyklisch den Zustand prüft und entweder direkt was tut oder eben ein Reading (in einem Dummy) setzt was du dann weiter verwenden kannst...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

trs

Wenn es einer gebrauchen kann,  Shield Standby an/ausschalten:

defmod Shield dummy
attr Shield group 6 TV/Audio
attr Shield room Wohnzimmer
attr Shield setList on off
attr Shield stateFormat state

setstate Shield on
setstate Shield 2018-12-21 13:33:34 state on


defmod Shield_notify_3 notify Shield:off {system("adb shell input keyevent KEYCODE_SLEEP")}

setstate Shield_notify_3 2018-12-21 13:32:40
setstate Shield_notify_3 2018-12-21 12:18:01 state active


defmod Shield_notify_4 notify Shield:on {system("adb shell input keyevent KEYCODE_WAKEUP")}

setstate Shield_notify_4 2018-12-21 15:35:27
setstate Shield_notify_4 2018-12-21 12:18:01 state active


defmod Bildschirm_Shield CustomReadings
attr Bildschirm_Shield event-on-change-reading screen
attr Bildschirm_Shield eventMap mState=ON:on mState=OFF:off
attr Bildschirm_Shield interval 3
attr Bildschirm_Shield readingDefinitions screen:qx(adb shell dumpsys display | grep -e 'mState=')
attr Bildschirm_Shield room hidden
attr Bildschirm_Shield stateFormat screen
attr Bildschirm_Shield webCmd on:off

setstate Bildschirm_Shield on
setstate Bildschirm_Shield 2018-12-21 15:35:41 screen mState=ON
setstate Bildschirm_Shield 2018-12-21 15:35:41 state OK



defmod Bildschirm_Shield_notify_1 notify Bildschirm_Shield:screen:.on setreading Shield state on

setstate Bildschirm_Shield_notify_1 2018-12-21 15:35:27
setstate Bildschirm_Shield_notify_1 2018-12-21 12:18:01 state active


defmod Bildschirm_Shield_notify_2 notify Bildschirm_Shield:screen:.off setreading Shield state off

setstate Bildschirm_Shield_notify_2 2018-12-21 13:32:40
setstate Bildschirm_Shield_notify_2 2018-12-21 12:18:01 state active


Vorher ADB shell installieren starten