[ AMAD2 - obsolete] 74_AMAD.pm zur Steuerung eines Androidgerätes

Begonnen von CoolTux, 02 März 2016, 11:14:41

Vorheriges Thema - Nächstes Thema

hillbicks

#405
Das hat sich ja absolut fantastisch entwickelt mit AMAD, grosses Lob @CoolTux!

Eine Frage zum Verstaendniss, warum die Notwendigkeit den Flow nach dem Restart manuell zu den Geraeten zu schicken? Damit etwaige Aenderungen nicht ueberschrieben werden?

Einen Feature Request den ich noch haette: Einbindung von Spotify zusaetzlich zu Google Music faend ich spitze. Ich hab schonmal geguckt wie die Intents fuer Spotify aussehen und das folgende gefunden:

ZitatI was messing around with Spotify intents and found the following ones work (even without the widget added to the home screen) for going back a song, playing/pausing and skipping a song:

com.spotify.mobile.android.ui.widget.PREVIOUS 
com.spotify.mobile.android.ui.widget.PLAY
com.spotify.mobile.android.ui.widget.NEXT 

They can be used in a task from System>Send Intent and as an example:

Action: com.spotify.mobile.android.ui.widget.NEXT
Cat: None
Package: com.spotify.music
Target: Broadcast Receiver 

Any other options are left blank.
I trigger this with a Profile>Event>Sensor>Shake so I can shake my phone to skip a song.

Other Spotify intents that I believe have been covered elsewhere:
Auto-Play a specific playlist:

Action: android.media.action.MEDIA_PLAY_FROM_SEARCH
Cat: Default
Data: spotify:user:USERNAME:playlist:HASHVALUE
Package: com.spotify.music
Target: Activity

The USERNAME and HASHVALUE (well that whole line actually) can be found from the desktop app by right clicking a playlist and "Copy Spotify URI"

search for and play a specific song:

Action: android.media.action.MEDIA_PLAY_FROM_SEARCH
Cat: Default
Extra: query: artist:"ARTIST NAME" track:"SONG NAME"
Package: com.spotify.music
Target: Activity 

Where you replace the ARTIST NAME and SONG NAME with your particular request.

https://www.reddit.com/r/tasker/comments/2vrsu3/weekly_discussion_thread/coknbhh

Spotify als App zu oeffnen funktioniert nur mit dem Packagenamen natuerlich einwandfrei, ein Play ueber sendIntent hat alles noch nicht geklappt. Da probiere ich grade nochmal etwas weiter ob das momentan per AMAD ueberhaupt geht und berichte dann hier nochmal.

Nochmals vielen Dank fuer dieses hervorragende Modul!

EDIT: Was nutzt Du als Target beim SendIntent CoolTux. Broadcast? Yatse z.B. nutzt Service als Target fuer die Intents.

CoolTux

Zitat von: hillbicks am 01 Mai 2016, 12:00:56
Das hat sich ja absolut fantastisch entwickelt mit AMAD, grosses Lob @CoolTux!

Eine Frage zum Verstaendniss, warum die Notwendigkeit den Flow nach dem Restart manuell zu den Geraeten zu schicken? Damit etwaige Aenderungen nicht ueberschrieben werden?

Einen Feature Request den ich noch haette: Einbindung von Spotify zusaetzlich zu Google Music faend ich spitze. Ich hab schonmal geguckt wie die Intents fuer Spotify aussehen und das folgende gefunden:

https://www.reddit.com/r/tasker/comments/2vrsu3/weekly_discussion_thread/coknbhh

Spotify als App zu oeffnen funktioniert nur mit dem Packagenamen natuerlich einwandfrei, ein Play ueber sendIntent hat alles noch nicht geklappt. Da probiere ich grade nochmal etwas weiter ob das momentan per AMAD ueberhaupt geht und berichte dann hier nochmal.

Nochmals vielen Dank fuer dieses hervorragende Modul!

EDIT: Was nutzt Du als Target beim SendIntent CoolTux. Broadcast? Yatse z.B. nutzt Service als Target fuer die Intents.

Hallo,

Vielen Dank für das Lob. Vieleshabt Ihr User aber selber auf die Beine gestellt, durch Wünsche und Ideen  :D

Zitat
Eine Frage zum Verstaendniss, warum die Notwendigkeit den Flow nach dem Restart manuell zu den Geraeten zu schicken? Damit etwaige Aenderungen nicht ueberschrieben werden?

Das ist nur nötig wenn noch kein Flowset der 2er Version auf dem Gerät ist. Also beim ersten einrichten oder nach Update von 1 zu 2.
Oder wie genau meinst Du das? Meinst warum nicht automatisch das set currentFlowsetUpdate nach Neustart ausgeführt wird? Weil ich vieles den User überlasse. Es kann sein das das ein Gerät zum Beispiel nicht online ist. So wie bei mir oft.


Für Intents verwende ich Broadcast.
Das GooglePlayMusic Teil ist ja schon Bestand von Automagic, da bräuchte ich keine Intents. Wenn Du was festes hast zum steuern schaue ich es mir an. Eventuell kann man das mit der eigentlichen GooglePlayMusic Steuerung verbinden. Also als Attribut einen anderen Player wählen.



Grüße

PS: Ach und es gibt eine Regel, wer einen Vorschlag für Exoten macht muss als Versuchskaninchen herhalten  ;D
Nur das Du weisst was auf Dich zu kommt. Hihi
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Depechem

Zitat von: hillbicks am 01 Mai 2016, 12:00:56
Einen Feature Request den ich noch haette: Einbindung von Spotify zusaetzlich zu Google Music faend ich spitze.

dieses Feature hätte ich auch gern. also send Play/Stop
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

hillbicks

Danke fuer die Erklaerung mit dem Update, das macht Sinn :)

Bei Spotify bin ich etwas weiter gekommen. In der Action fuer die Ausfuehrung von Commands sind die Details fuer Spotify wie folgt:

PackageName: com.spotify.music
Class Name: com.spotify.mobile.android.service.MediaButtonReceiver

Unter Umstaenden macht es also Sinn den Mediaplayer als Parameter zu Mediaplayer zu uebergeben, dann kann man bei Bedarf noch weitere Player unterstuetzen.

EDIT: Natuerlich stehe ich als Tester zur Verfuegung, das versteht sich ja von selbst!

CoolTux

Update ist ab morgen 8 Uhr über FHEM Update verfügbar.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Gibt es eine Möglichkeit in die ttsMsg eine Pause mitzuübergeben?

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

fh168

#411
Ich bekomme seit ner Woche meine beiden AMAD2 Tablets nicht mehr zum Laufen

Fehlermeldung:
set command only works if state not equal initialized

und

Cannot set command, FHEM Device is offline

Disabled / enabled hab ich schon gemacht, kein Erfolg.

Bridge-Version
VERSIONFLOWSET
2.0.4
VERSIONMODUL
2.0.2


Flowset Version bei den Tablets
flowsetVersionAtDevice
2.0.4
2016-05-03 08:37:19
lastSetCommandState
setCmd_error
2016-04-28 07:25:05
lastStatusRequestState
statusRequest_done
2016-05-03 08:37:20


im Log vom Tablet steht auch noch
Benachrichtigung in Statusbar entfernt: ch.gridversion.ppam.androidautomagic   this trigger does not work on Android Api version < 4.3 Jelly Bean API 18

fhem log sagt folgendes, wenn ich das Display einschalten möchte:
2016.05.03 08:59:51 5: AMAD (TabletFlur) - set TabletFlur screen on
2016.05.03 08:59:52 4: AMAD (TabletFlur) - GetUpdate, FHEM or Device not ready yet


Verbindung mit der Bridge wird aufgenommen, jedoch kann ich nichts senden.
Das betrifft beide Tablets von mir.

Irgend eine Idee?
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

CoolTux

Zitat von: viegener am 02 Mai 2016, 23:15:07
Gibt es eine Möglichkeit in die ttsMsg eine Pause mitzuübergeben?
Nur in dem Du einzelne ttsMsg machst und dazwischen mit sleep arbeitest.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: fh168 am 03 Mai 2016, 08:38:33
Ich bekomme seit ner Woche meine beiden AMAD2 Tablets nicht mehr zum Laufen

Fehlermeldung:
set command only works if state not equal initialized

und

Cannot set command, FHEM Device is offline

Disabled / enabled hab ich schon gemacht, kein Erfolg.

Bridge-Version
VERSIONFLOWSET
2.0.4
VERSIONMODUL
2.0.2


Flowset Version bei den Tablets
flowsetVersionAtDevice
2.0.4
2016-05-03 08:37:19
lastSetCommandState
setCmd_error
2016-04-28 07:25:05
lastStatusRequestState
statusRequest_done
2016-05-03 08:37:20


im Log vom Tablet steht auch noch
Benachrichtigung in Statusbar entfernt: ch.gridversion.ppam.androidautomagic   this trigger does not work on Android Api version < 4.3 Jelly Bean API 18

fhem log sagt folgendes, wenn ich das Display einschalten möchte:
2016.05.03 08:59:51 5: AMAD (TabletFlur) - set TabletFlur screen on
2016.05.03 08:59:52 4: AMAD (TabletFlur) - GetUpdate, FHEM or Device not ready yet


Verbindung mit der Bridge wird aufgenommen, jedoch kann ich nichts senden.
Das betrifft beide Tablets von mir.

Irgend eine Idee?

Du brauchst erstmal einen Graden Stand.Als erstes änderst Du das Reading deviceState bei beiden Geräten auf online. Verwende dazu bitte setreading. Dann starte Dein FHEM neu. Nach dem Neustart warten, es sollte nach spätestens 30 Sekunden beide Geräte auf active gehen. Wenn nicht bitte mal ein list machen.
Ich gehe davon aus das es mal geklappt hat.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

fh168

Hallo,

klappt!
Vielen Dank.
Mich wundert es das wochenlang funktioniert hat und auf einmal nicht mehr..
So, mal flux auf 2.05 upgedatet :-)

Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

CoolTux

Zwei Dinge müssen für einen set Befehl vorhanden sein. State auf active und deviceState auf online. Nur dann wird ein set Befehl ausgeführt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

viegener

Zitat von: CoolTux am 03 Mai 2016, 09:01:59
Nur in dem Du einzelne ttsMsg machst und dazwischen mit sleep arbeitest.


Das hatte ich befürchtet   ???
Danke trotzdem
Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

cotecmania

Zitat von: viegener am 03 Mai 2016, 10:58:10

Das hatte ich befürchtet   ???
Danke trotzdem
Johannes

Versuch es mal mit Satzzeichen z.B. "Punkt".
Bei Ivona hat das funktioniert, soweit ich mich erinnere ...

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

viegener

Zitat von: cotecmania am 03 Mai 2016, 11:10:01
Versuch es mal mit Satzzeichen z.B. "Punkt".
Bei Ivona hat das funktioniert, soweit ich mich erinnere ...

Gruss

Die üblichen Verdächtigungen hatte ich schon versucht, aber auch Google hatte nichts ausser anderen Fragen ausgespuckt.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

CoolTux

Gib mal ein Beispiel wofür die Pausen und wie lange sie sein sollen. Eigentlich wird die Interpunktion bei der Sprachausgabe entsprechend beachtet. Also zum Satzende hin leiser oder halt fragend. Und am Ende der Satzzeichen kurze Pause.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net