98_FireTV: Fernbedienung eines Amazon FireTV per adb

Begonnen von nesges, 09 März 2017, 18:04:40

Vorheriges Thema - Nächstes Thema

Eistee

Hi,

hat jemand eine Idee was da los ist? Das modul ist aktuell von github das hab ich auch verglichen.

BEGIN failed--compilation aborted at ./FHEM/98_FireTV.pm line 26.
2018.03.30 17:12:33 0: Unimplemented: POSIX::tmpnam() at ./FHEM/98_FireTV.pm line 26.

BEGIN failed--compilation aborted at ./FHEM/98_FireTV.pm line 26.
Unimplemented: POSIX::tmpnam() at ./FHEM/98_FireTV.pm line 26.
2018.03.30 17:12:33 1: reload: Error:Modul 98_FireTV deactivated:
2018.03.30 17:12:33 1: PERL WARNING: Unimplemented: POSIX::tmpnam(): use File::Temp instead at /usr/local/lib/perl5/5.26.1/armv7l-linux/POSIX.pm line 185.

patator

#91
Hallo,

habt Ihr mir noch nen Tip wenn ich folgendes erhalte?

error: error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

Hier mein Internal:
Internals:
   ADB        sudo /usr/bin/adb
   ADBVERSION Android Debug Bridge version 1.0.36
Revision 1:7.0.0+r33-1

   ADDRESS    10.10.20.145
   CFGFN     
   DEF        10.10.20.145 sudo /usr/bin/adb
   IP         10.10.20.145
   MODE       lan-ping
   NAME       FIRETV
   NOTIFYDEV  global,FIRETV
   NR         45185
   NTFY_ORDER 50-FIRETV
   PORT       5555
   STATE      present
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       FireTV
   VERSION    0.6.1
   adbconnected 1
   READINGS:
     2018-04-16 20:16:07   presence        present
     2018-04-16 20:15:28   screen_state    off
     2018-04-16 20:16:07   state           present
   helper:
     CURRENT_STATE present
     FIRETV:
       PRESENCE_loaded 1
       lastadbcmd sudo /usr/bin/adb -s 10.10.20.145:5555 shell dumpsys window windows
       lastadbresponse error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
       packages   ,,,
     RUNNING_PID:
       abortFn    PRESENCE_ProcessAbortedScan
       arg        FIRETV|10.10.20.145|0|4
       bc_pid     44420
       finishFn   PRESENCE_ProcessLocalScan
       fn         PRESENCE_DoLocalPingScan
       pid        21449
       telnet     telnetForBlockingFn_1523883379_127.0.0.1_48866
       timeout    60
       abortArg:
Attributes:


Ich muss dazu sagen, die Bestätigung am FIRETV erhalte ich nicht obwohl ADB Debug an ist.
Schon mehrmals aus an auch neu gestartet...


Danke schon mal im Voraus.

patator

komisch heute morgen auf den firetv gesehen, und da war die bestätigung.
ist gelöst, danke
Zitat von: patator am 16 April 2018, 20:17:58
Hallo,

habt Ihr mir noch nen Tip wenn ich folgendes erhalte?

error: error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

Hier mein Internal:
Internals:
   ADB        sudo /usr/bin/adb
   ADBVERSION Android Debug Bridge version 1.0.36
Revision 1:7.0.0+r33-1

   ADDRESS    10.10.20.145
   CFGFN     
   DEF        10.10.20.145 sudo /usr/bin/adb
   IP         10.10.20.145
   MODE       lan-ping
   NAME       FIRETV
   NOTIFYDEV  global,FIRETV
   NR         45185
   NTFY_ORDER 50-FIRETV
   PORT       5555
   STATE      present
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       FireTV
   VERSION    0.6.1
   adbconnected 1
   READINGS:
     2018-04-16 20:16:07   presence        present
     2018-04-16 20:15:28   screen_state    off
     2018-04-16 20:16:07   state           present
   helper:
     CURRENT_STATE present
     FIRETV:
       PRESENCE_loaded 1
       lastadbcmd sudo /usr/bin/adb -s 10.10.20.145:5555 shell dumpsys window windows
       lastadbresponse error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
       packages   ,,,
     RUNNING_PID:
       abortFn    PRESENCE_ProcessAbortedScan
       arg        FIRETV|10.10.20.145|0|4
       bc_pid     44420
       finishFn   PRESENCE_ProcessLocalScan
       fn         PRESENCE_DoLocalPingScan
       pid        21449
       telnet     telnetForBlockingFn_1523883379_127.0.0.1_48866
       timeout    60
       abortArg:
Attributes:


Ich muss dazu sagen, die Bestätigung am FIRETV erhalte ich nicht obwohl ADB Debug an ist.
Schon mehrmals aus an auch neu gestartet...


Danke schon mal im Voraus.

gbomacfly

Könnte man bei der Weblink-Remote den Buttons noch folgendes Attribut mitgeben?
style="cursor: pointer;"

Würde mich freuen, wäre dann irgendwie intuitiver :)
Hab mir remoteHTML angepasst, funktioniert prima:
{         my $device = 'FireTV';         my $cmd = "FW_cmd('$FW_ME$FW_subdir?XHR=1&cmd.$device=set $device ";              return "<tr>                     <td><a title=\"Sleep\" style=\"cursor: pointer;\" onClick=\"$cmd screen sleep')\">".FW_makeImage("general_aus\@red", "sleep", "rc-button")."</a></td>                     <td><a title=\"Screenshot\" style=\"cursor: pointer;\" onClick=\"$cmd screenshot')\">".FW_makeImage("im_eye2", "sleep", "rc-button")."</a></td>                     <td><a title=\"Wakeup\" style=\"cursor: pointer;\" onClick=\"$cmd screen wakeup')\">".FW_makeImage("general_an", "wakeup", "rc-button")."</a></td>                 </tr>                 <tr>                     <td align=\"center\" colspan='3'><a title=\"Netflix\" style=\"cursor: pointer;\" onClick=\"$cmd appstart com.netflix.ninja')\">".FW_makeImage("Netflix", "Netflix", "rc-button")."</a></td>                 </tr>                 <tr>                  <td align=\"center\" colspan='3'><a title=\"Spotify\" style=\"cursor: pointer;\" onClick=\"$cmd appstart com.spotify.tv.android')\">".FW_makeImage("Spotify", "Spotify", "rc-button")."</a></td>                 </tr>";     }

Allerdings funktioniert es nicht, wenn ich folgendes Attribut angebe:
attr FireTV widgetOverride remotehtml:textField-long und dann dies in remotehtml angebe:{
my $device = 'FireTV';
my $cmd = "FW_cmd('$FW_ME$FW_subdir?XHR=1&cmd.$device=set $device ";
return "<tr>
<td><a title=\"Sleep\" style=\"cursor: pointer;\" onClick=\"$cmd screen sleep')\">".FW_makeImage("general_aus\@red", "sleep", "rc-button")."</a></td>
<td><a title=\"Screenshot\" style=\"cursor: pointer;\" onClick=\"$cmd screenshot')\">".FW_makeImage("im_eye2", "sleep", "rc-button")."</a></td>
<td><a title=\"Wakeup\" style=\"cursor: pointer;\" onClick=\"$cmd screen wakeup')\">".FW_makeImage("general_an", "wakeup", "rc-button")."</a></td>
</tr>
<tr>
<td align=\"center\" colspan='3'><a title=\"Netflix\" style=\"cursor: pointer;\" onClick=\"$cmd appstart com.netflix.ninja')\">".FW_makeImage("Netflix", "Netflix", "rc-button")."</a></td>
</tr>
<tr>
<td align=\"center\" colspan='3'><a title=\"Spotify\" style=\"cursor: pointer;\" onClick=\"$cmd appstart com.spotify.tv.android')\">".FW_makeImage("Spotify", "Spotify", "rc-button")."</a></td>
</tr>";
}

Ist exakt dasselbe wie oben, nur eben mit Zeilenumbrüchen, damit es besser lesbar ist.
Aber dann sieht meine FireTV-Remote aus wie im Anhang zu sehen.

Liegt der Fehler hier bei mir oder am Modul?

Besten Dank schonmal :)
FHEM auf Debian Server, LogDB, MAX!-HT, Yeelight, Sonoff-Tasmota, IT, Signalduino434, nanoCUL868
FHEM-Keller auf RPI Zero mit OBIS (FHEM2FHEM)
FHEM-WZ auf RPI Zero - BT auf Alexa
Diverse Eigenbausensoren mit Arduino/MQTT

laserbacke

Hallo zusammen,
ich habe seit ein paar Tagen folgende Meldungen im Logfile, welche plötzlich aufgetreten sind. Einen Fire Stick habe ich ca. eine Woche in Fhem eingebunden und seit heute einen Zweiten. Die Meldungen sind aber schon mit nur einem Stick aufgetreten, aber nicht von Anfang an.


2018.07.08 19:28:33 3: eval: {PRESENCE_ProcessLocalScan('WZ_FireTV|0|present')}
2018.07.08 19:28:33 1: PERL WARNING: Use of uninitialized value $seconds in concatenation (.) or string at ./FHEM/73_PRESENCE.pm line 1153, <GEN13> line 99.
2018.07.08 19:28:33 3: eval: {PRESENCE_ProcessLocalScan('MZ_FireTV|0|present')}
2018.07.08 19:28:33 1: PERL WARNING: Use of uninitialized value $seconds in addition (+) at ./FHEM/73_PRESENCE.pm line 1156, <GEN13> line 99.
2018.07.08 19:28:33 3: eval: {PRESENCE_ProcessLocalScan('MZ_FireTV|0|present')}
2018.07.08 19:28:39 1: PERL WARNING: Use of uninitialized value $seconds in concatenation (.) or string at ./FHEM/73_PRESENCE.pm line 1153, <GEN13> line 103.
2018.07.08 19:28:39 3: eval: {PRESENCE_ProcessLocalScan('WZ_FireTV|0|present')}
2018.07.08 19:28:39 1: PERL WARNING: Use of uninitialized value $seconds in addition (+) at ./FHEM/73_PRESENCE.pm line 1156, <GEN13> line 103.
2018.07.08 19:28:39 3: eval: {PRESENCE_ProcessLocalScan('WZ_FireTV|0|present')}
2018.07.08 19:29:01 1: PERL WARNING: Use of uninitialized value $seconds in concatenation (.) or string at ./FHEM/73_PRESENCE.pm line 1153, <GEN13> line 109.
2018.07.08 19:29:01 3: eval: {PRESENCE_ProcessLocalScan('WZ_FireTV|0|present')}
2018.07.08 19:29:01 1: PERL WARNING: Use of uninitialized value $seconds in addition (+) at ./FHEM/73_PRESENCE.pm line 1156, <GEN13> line 109.


Danke für das tolle Modul, funktioniert bis auf die Einträge sehr gut.
Hat jemand eine Erklärung dafür?
Danke...

Markus Bloch

Dieses Problem haben bereits mehrere User mir berichtet. Den Grund dafür habe ich in einem anderen Thread bereits erläutert (https://forum.fhem.de/index.php/topic,83805.msg817958.html#msg817958). Hier ist eine Änderung in 98_FireTV.pm notwendig.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

laserbacke


laserbacke

Nach Änderung der 2 Zeilen, seit gestern keine Einträge bez. Presence mehr im Logfile  ;)

tfriedrich85

Hallo,

ich würde gerne das FireTV Modul nutzen, bekomme aber bei der Eingabe von:

define TV FireTV 192.168.178.24 /usr/local/bin/adb

Die Meldung: Unknown module FireTV

Ich hab die Anleitung natürlich befolgt und im Ordner Fhem liegt auch die Datei 98_FireTv.pm.

Hat jemand eine Idee woran das liegen könnte?

Vielen Dank!

87insane

Hi,

ich vermute mal deine Rechtevergabe ist falsch. Oder aber du hast nicht die korrekte Datei dort liegen.


Ich habe auch eine Frage, kann bitte der Ersteller die Datei (https://raw.githubusercontent.com/nesges/Fhem-Modules/master/controls_nesges-fhem-modules.txt)
anpassen? Datum und Dateigröße ist nicht mehr korrekt und deswegen geht UPD auch nicht.

Danke :)

MadMax-FHEM

Reload 98_FireTv.pm oder fhem shutdown restart gemacht?

Ansonsten wie geschrieben: Rechte geprüft...

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)

87insane

#102
Hey zusammen,

ich bekomme meinen Stick einfach nicht verbunden. ADB ist mir bekannt (flashen von Andoiden usw....). Aber ich bekomme nur einen Ping und keinen Status oder Pakete oder sonst was. Ich kenne es normal bei allen ADB Geräten das ich auf "erlauben" klicken muss. Diese Anfrage erscheint erst garnicht. Habe das Teil nun X mal neu gestartet und der ist frisch aus der Verpackung. USB Debug + Fremde Quellen sind aktiv.



Internals:
   ADB        /usr/bin/adb
   ADBVERSION Android Debug Bridge version 1.0.36
Revision 1:7.0.0+r33-1

   ADDRESS    192.168.20.41
   DEF        192.168.20.41
   INTERVAL_NORMAL 30
   INTERVAL_PRESENT 30
   IP         192.168.20.41
   MODE       lan-ping
   NAME       sz_FireTV
   NOTIFYDEV  global,sz_FireTV
   NR         281
   NTFY_ORDER 50-sz_FireTV
   PORT       5555
   STATE      present
   TRIGGERTIME 0
   TRIGGERTIME_FMT
   TYPE       FireTV
   VERSION    0.6.1
   adbconnected 1
   READINGS:
     2018-08-24 19:57:55   presence        present
     2018-08-24 19:57:52   screen_state    off
     2018-08-24 19:30:01   screenshot     
     2018-08-24 19:57:55   state           present
   helper:
     CURRENT_STATE present
     PRESENT_COUNT 0
     sz_FireTV:
       PRESENCE_loaded 1
       lastadbcmd /usr/bin/adb -s 192.168.20.41:5555 shell dumpsys power
       lastadbresponse error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
       packages   ,,,
Attributes:



Den Raspi habe ich auch schon neu gestartet. Ich weiß leider nicht mehr weiter :-\

pi@Raspi:~ $ adb devices
List of devices attached
192.168.20.41:5555      unauthorized



Warum?


EDIT:
Hab nun über Putty den Server gekillt und manuell verbunden. Danach bekam ich auch die Anfrage am Stick.
adb kill-server
adb connect IP
und zum checken
adb devices

pi@Raspi:~ $ adb devices
List of devices attached
192.168.20.41:5555      device


Danach kurz erlauben am TV/Stick.


Nun habe ich aber noch immer keinen Screen State. Pakete usw kann ich auslesen aber nicht ob der Bildschirm an oder aus ist..
Hintergrund: Ich würde gerne im SZ, immer wenn ich den TV anschalte (nur der FTV Stick hängt da dran) die Rollos runter fahren. Allerdings brauche ich dafür eine verwertbare Info. Und bis auf Screenstate fällt mir da nichts ein.

Eistee

Hol dir lieber etwas um den IR Befehl deiner TV Fernbedienung aus zu lesen. Ich hatte da mal einen kleinen Controller gebaut der aus IR Codes z.B. Intertechno Schaltbefehle macht. https://github.com/Eistee82/ATtiny85_IR2RF433
Alternativ dazu kann man bestimmt auch ein Logitech Harmony Hub verwenden. Oder den hier im Forum angebotenen IR Blaster der hat wohl auch einen Empfänger.

87insane

Hey und DANKE erst mal.

Ich habe eine Harmony und auch einen IR / RF Wandler (433Mhz). Diese kleinen Pyramiden gibt es ja für kleines Geld.
Allerdings verwende ich diesen im WZ und da soll er auch bleiben. Es geht auch darum, dass ich zb immer einen Sleeptimer setze.
Die ganze Story geht ja noch weiter und da will ich natürlich Möglichkeiten haben, das zu erweitern.

Dein Text liest sich, als würde das Modul an sich nichts taugen oder zumindest du bist davon "enttäuscht". Die Idee an sich ist gut. Dachte aber eher
daran dieses Modul hier zu nutzen, aufgrund der Möglichkeiten. Hast du Infos dazu, wann ein Screen (on/off) erkannt wird?
Geht das zb nur wenn CEC im Spiel ist oder einfach aufgrund von Wiedererstand oder so?