FHEM > Sonstiges

Neue Module 89_AndroidDBxx zur Steuerung von Android Devices

<< < (4/6) > >>

zap:
Ich habe gerade ein Update eingecheckt. Es gibt nun ein separates Attribut "presetFile" um ein Key-Code-Mapping aus einer Datei zu laden. Voraussetzung: FHEM muss Lesezugriff auf diese Datei haben.
Das Format einer Preset-Datei ist in der Commanref beschrieben.

@TWART016:

Bisher konnte man persets aus Dateien nur laden, wenn man den "attr" Befehl per Kommandozeile eingegeben hat. Das ist nun mit "presetFile" auch aus dem UI möglich.

Man kann eventMap auch verwenden, um eigene Befehle zu bauen. Beispiel:

Ein Gerät lässt sich mit "set xy remoteControl POWEROFF" ausschalten und mit POWERON einschalten. Dann kann man sich einen eigene "set xy off/on" Befehle so bauen:


--- Code: ---eventMap /remoteControl POWEROFF:off/remoteControl POWERON:on/
--- Ende Code ---

Um eine Aktivität zu starten bzw. einen Intent aufzurufen, müsste das gehen:


--- Code: ---set xy shell "am start -n com.ultrastreams.velocity/com.ultrastreams.ultrastreamsiptvbox.view.activity.SplashActivity"
--- Ende Code ---

Readings: Da denke ich mal drüber nach, was da sinnvoll ist. Wenn, dann allgemeine Android Dinge, sicher keine App-spezifischen Readings.

TWART016:
Kann ich aus dem Modul ein adb connect machen? Nach einem Neustart von FHEM ist das Gerät disconnected und fliegt auch auf dem Host aus
--- Code: ---adb devices -l
--- Ende Code ---


--- Zitat von: zap am 04 Februar 2022, 15:52:46 ---Ich habe gerade ein Update eingecheckt. Es gibt nun ein separates Attribut "presetFile" um ein Key-Code-Mapping aus einer Datei zu laden. Voraussetzung: FHEM muss Lesezugriff auf diese Datei haben.
Das Format einer Preset-Datei ist in der Commanref beschrieben.

--- Ende Zitat ---
Ich habe nun eine Datei direkt in /opt/fhem/ erstellt

--- Code: ----rw-r--r--  1 fhem dialout     71 Feb 12 01:25  adb_preset_nokia8000

--- Ende Code ---

und das eingetragen:

--- Code: ---# Comment
PresetName1
Enter:66
Back:4

PresetName2
lauter:24
leiser:25

--- Ende Code ---


--- Code: ---attr AndroidDB presetFile adb_preset_nokia8000

--- Ende Code ---
In dem Modul wird aber unter remoteControl nichts angezeigt



--- Zitat von: zap am 04 Februar 2022, 15:52:46 ---Man kann eventMap auch verwenden, um eigene Befehle zu bauen. Beispiel:
Ein Gerät lässt sich mit "set xy remoteControl POWEROFF" ausschalten und mit POWERON einschalten. Dann kann man sich einen eigene "set xy off/on" Befehle so bauen:


--- Code: ---eventMap /remoteControl POWEROFF:off/remoteControl POWERON:on/
--- Ende Code ---
Um eine Aktivität zu starten bzw. einen Intent aufzurufen, müsste das gehen:

--- Code: ---set xy shell "am start -n com.ultrastreams.velocity/com.ultrastreams.ultrastreamsiptvbox.view.activity.SplashActivity"
--- Ende Code ---

--- Ende Zitat ---
On/Off funktioniert mit dem EventMap, dieses starten jedoch nicht.

--- Code: ---/shell am start -n com.ultrastreams.velocity/com.ultrastreams.ultrastreamsiptvbox.view.activity.SplashActivity:StartAppTV
--- Ende Code ---
Fehler:

--- Code: ---Unknown argument com.ultrastreams.ultrastreamsiptvbox.view.activity.splashactivity, choose one of reboot sendKey shell remoteControl
--- Ende Code ---
In dem Befehl ist ein slash. Ist das ein Problem?

Mit Separierung über Komma anstatt Slash wird der Befehl ausgeführt

--- Code: ---,shell am start -n com.ultrastreams.velocity/com.ultrastreams.ultrastreamsiptvbox.view.activity.SplashActivity:StartAppTV

--- Ende Code ---
Nach dem Ausführen wird das Device in FHEM verlassen und öffnet eine neue Seite mit dem Output

--- Code: ---Starting: Intent { cmp=com.ultrastreams.velocity/com.ultrastreams.ultrastreamsiptvbox.view.activity.SplashActivity }

--- Ende Code ---
Könnte man hier ggf. in dem Device drin bleiben?




--- Zitat von: zap am 04 Februar 2022, 15:52:46 ---Readings: Da denke ich mal drüber nach, was da sinnvoll ist. Wenn, dann allgemeine Android Dinge, sicher keine App-spezifischen Readings.

--- Ende Zitat ---
Ja, denke allgemeine Android Dinge wie Volumen wäre gut.

Die beiden Befehle öffnet ein neues Fenster mit dem Ergebnis. Wäre das möglich in einem Reading lastShell anzuzeigen oder besser noch eigene Befehle per attr zu hinterlegen und automatisch nach einem interval abzufragen

--- Code: ---set xy shell dumpsys package | grep com.ultrastreams.velocity | grep Activity
set xy pidof com.mobisystems.fileman

--- Ende Code ---
Im Modul WINCONNECT kann mein ein Befehl set checkprocess durchführen. Dieser prüft im Hintergrund alle aufgeführten Prozesse.

zap:
Ich habe gerade ein Update für die Module AndroidDB und AndroidDBHost eingecheckt.

- Das Preset-/Makro-Handling wurde komplett überarbeitet
- Man kann remotecontrol Devices erzeugen und so eine Fernbedienung abbilden
- Mit dem Attribut "connect" kann direkt nach dem FHEM Start automatisch eine Verbindung zu einem Device aufgebaut werden
- Makros (und Preset-Files) können nun auch neben KeyCode-Sequenzen auch ADB-Befehle enthalten

Beispiel:


--- Code: ---attr myDev macros listPackages:shell pm listpackes
--- Ende Code ---

Die wichtigsten Funktionen werden auf der Wiki Seite beschrieben: https://wiki.fhem.de/wiki/AndroidDB#Steuerung_von_Android_Devices_in_FHEM
Die commandref ist ebenfalls aktualisiert worden.

TWART016:
Shell Befehle in macros funktioniert super. Wenn ich den Befehl ausführe

--- Code: ---adb shell am start -n com.nathnetwork.xciptv/.SplashVideoActivity

--- Ende Code ---
Kommt danach der Output und es wird weitergeleitet auf http://IP:8083/fhem und bliebt nicht im Device

--- Code: ---Starting: Intent { cmp=com.nathnetwork.xciptv/.SplashVideoActivity }

--- Ende Code ---

Kann ich den Output in ein Reading, z.B. von listPackages:shell pm list packages schreiben?

Nach dem Neustart von FHEM wird automatisch ein connect gemacht. Würde ein
--- Code: ---set myDev connect
--- Ende Code ---
nicht auch Sinn machen?

Mit sendKey 26 geht das Geräte in den Standby. Kann ich diesen Status vom Gerät auslesen? Ping ist in dem Mode trotzdem da.

Wäre es möglich event-on-change einzubauen?

zap:

--- Zitat von: TWART016 am 04 März 2022, 23:46:33 ---Shell Befehle in macros funktioniert super. Wenn ich den Befehl ausführe

--- Code: ---adb shell am start -n com.nathnetwork.xciptv/.SplashVideoActivity

--- Ende Code ---
Kommt danach der Output und es wird weitergeleitet auf http://IP:8083/fhem und bliebt nicht im Device

--- Ende Zitat ---

Du möchtest den output unterdrücken?


--- Zitat ---Kann ich den Output in ein Reading, z.B. von listPackages:shell pm list packages schreiben?

--- Ende Zitat ---

Die Liste der Packages ist ja sehr lang. Die gesamte Liste soll in 1 Reading? Das dürfte das FHEM UI sprengen.


--- Zitat ---Nach dem Neustart von FHEM wird automatisch ein connect gemacht. Würde ein
--- Code: ---set myDev connect
--- Ende Code ---
nicht auch Sinn machen?

--- Ende Zitat ---

Das Connect sollte nur dann erfolgen, wenn Du das Attribut "connect" auf 1 gesetzt hast. Ein separater Befehl "set connect" ist eigentlich überflüssig, da sich das Modul immer erst mit dem Device verbindet, bevor ein Befehl ausgeführt wird. Das muss so sein, denn der ADB Server kann zwar zu mehreren Devices connected sein, allerdings bringt das rein gar nichts. Grund: Die ADB Befehle haben keinen Parameter zur Angabe eines bestimmten Geräts. Daher macht AndroidDB vor der Ausführung eines Befehls immer ein disconnect, sofern mehrere Geräte verbunden sind.


--- Zitat ---Mit sendKey 26 geht das Geräte in den Standby. Kann ich diesen Status vom Gerät auslesen? Ping ist in dem Mode trotzdem da.

--- Ende Zitat ---

Könnte mit "adb shell dumpsys power" gehen. Muss ich mir anschauen. Ich denke, ich werde einige "dumpsys" Parameter als Readings einbauen.


--- Zitat ---Wäre es möglich event-on-change einzubauen?

--- Ende Zitat ---

Wie meinst Du das? Das ist ein FHEM-Standardattribut.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln