Alexa automatisiert "Fernsteuern"

Hier geht es um grundlegende Diskussionen bezüglich des Alexa Voice Service.
Benutzeravatar

popy
Beiträge: 27
Registriert: Sa 4. Mär 2017, 10:07

Di 31. Jul 2018, 22:52

@adn77:
Hi Alex, hätte eine Idee um festzustellen ob gerade ein Skill läuft (das fkt. ja jetzt nicht).
Ich habe z.B.: einen Bewegungsmelder im Bad der immer wenn jemand durchgeht einen gewissen Radio Sender über das Script startet.
Als Bedingung frage ich den PLAYING mit -q ab und wenn ein anderer Sender oder Musik Stream läuft macht das Skript nichts -> will ja den Benutzer nicht stören. Leider funktioniert -q nicht wenn z.B.: der Nachrcihten Skill was vorliest.

Habe dann vergleiche gemacht und folgendes festgestellt:

Es gibt einen Wert: "progressSeconds": 32,
dieser zählt rauf wenn gerade ein Skill läuft.

Wäre es möglich das Skript so zu erweitern dass bevor eine Aktion (Abspielen eines TuneIn Senders, Lautstärke ändern usw.) ausgeführt wird,
das Skript 2x die obige Variable abfragt und prüft ob Sie sich verändert, wenn ja, script abbrechen.
Oder auch abbrechen wenn unter "playerInfo" -> "state" -> "PLAYING" steht. SO mache ich dass jetzt.

Man könnte dann einen Parameter einführen um die Funktion zu aktivieren, wie:

-a -> abort if alexa is playing

Nur so eine Idee.

Danke
pOpY
0 x
Benutzeravatar

adn77
Beiträge: 61
Registriert: Di 10. Okt 2017, 19:44

Mi 1. Aug 2018, 22:57

@popy:
Sorry, ich versuche das Script so generisch wie möglich zu halten. Ich fürchte diese "Spezialitäten" musst du noch selbst scripten. Evtl. benötigst du nicht alle drei cURL Aufrufe, die für die "-q" Option gemacht werden (ab ca. Zeile 655). So kannst du die Aufrufe ggfs. optimieren, aber den Rest musst du leider selbst (außerhalb des Scripts) bauen.

Alex
1 x
Benutzeravatar

popy
Beiträge: 27
Registriert: Sa 4. Mär 2017, 10:07

Fr 3. Aug 2018, 17:32

Kein Problem, verstehe ich. Werde mir was basteln :-)
0 x
Benutzeravatar

crieder
Beiträge: 1
Registriert: Fr 3. Aug 2018, 01:23

Mi 8. Aug 2018, 17:49

Hi,

mir ist beim Einrichten meines Firetablet aufgefallen, dass es noch weitere Typen für "deviceFamiliy" gibt:
THIRD_PARTY_AVS_MEDIA_DISPLAY (zB die Reverb App)
FIRE_TV
TABLET

Spielt es überhaupt eine Rolle, die Familie auzuwerten bzw. warum werden nicht gleich alle gefundenen in die ALL-Gruppe aufgenommen ?
0 x
Benutzeravatar

terny
Beiträge: 14
Registriert: Do 27. Apr 2017, 12:45

Di 28. Aug 2018, 20:15

Hallo Alex,

leider funktioniert bei mir das Script seit gestern nicht mehr auf meiner CCU2 :-(

Als Rückmeldung bekomme ich in de Konsole nur:
/usr/local/addons/user$ ./alexa_remote_control.sh -a
the following devices exist in your account:

Und dann passiert nichts.
Ich habe mich schon ohne Java und Captcha am Browser angemeldet und mehrere Browsernamen z.B. BROWSER='IPS/5.0' getestet.

Leider ohne Erfolg.
Hast du noch einen Tipp?

Danke und Gruß
terny
0 x
Benutzeravatar

terny
Beiträge: 14
Registriert: Do 27. Apr 2017, 12:45

Sa 8. Sep 2018, 17:42

Hallo zusammen,

nach ewigem Probieren funktioniert das Script (Version ohne JSON Parser) bei mir nun wieder auf der CCU2.
Ich habe dazu die Firmware der CCU auf die Firmware 2.35.16 upgedatet, die Zusatzsoftware CUx-Deamon auf 2.1.0 und die XML-API auf die 1.18 aktualisiert.

Vielleicht hilft es ja jemandem bei der Fehlersuche.
0 x
Benutzeravatar

michael.kaufmann
Beiträge: 2
Registriert: Mo 15. Okt 2018, 18:14

Mo 15. Okt 2018, 18:20

Hallo zusammen,

ich habe ein Problem mit dem Alexa Skript.

Installiert ist es auf einem Rasberry PI3. Allerdings hab ich schon beim Einloggen so meine Probleme.

In der .alexa.login steht irgendwas von "Geben Sie die obigen Zeichen ein". Wenn ich die Cookies im Browser lösche und das NJS Plugin aktiviere, sodass Javascript ausgeschaltet ist, lande ich auf einer weisen Seite nach dem Anmelden.

Was mach ich da falsch. Ich habs auch schon auf einem anderen Rechner ausprobiert und mit einem anderen Browser, Cookies gelöscht, Javaskript deaktiviert. Trotzdem kommt im Browser keine Captcha Abfrage. Anscheinend nur in dem Skript. Auch einen anderen Browser String habe ich schon probiert. Geht auch nicht.

Kann mir jemand noch einen Tipp geben, was ich falsch mache?

Vielen Dank schonmal.

Gruß
Michael

Hier ein Auszug aus der .alexa.header2

Code: Alles auswählen

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Server: Server
Content-Type: text/html;charset=UTF-8
Strict-Transport-Security: max-age=47474747; includeSubDomains; preload
x-ua-compatible: IE=edge
Pragma: No-cache
Cache-Control: max-age=0, no-cache, no-store, must-revalidate
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Frame-Options: SAMEORIGIN
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
x-amz-rid: 9ZXDP49BEYAZ6K1V0BZ1
P3P: policyref="http://www.amazon.de/w3c/p3p.xml",CP="CAO DSP LAW CUR ADM IVAo IVDo CONo OTPo OUR DELi PUBi OTRi BUS PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC GOV OTC "
Date: Thu, 11 Oct 2018 16:02:22 GMT
Transfer-Encoding:  chunked
Connection: keep-alive
Connection: Transfer-Encoding
Set-Cookie: ap-fid=""; Domain=.amazon.de; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/ap/; Secure
Set-Cookie: ubid-acbde=259-8632327-0191216; Domain=.amazon.de; Expires=Wed, 06-Oct-2038 16:02:22 GMT; Path=/
Set-Cookie: session-token="verändert_UV3E9kl0N9khpXB+P29uHW06Wf6qH4O+GjkqDNr+9ZSD6stlHnYSI1TDMiio4QxzJcRXRCuICRpsJdfdfdfdfdfdfdfdfdafsaffd4hMEh5YsNJhIDvt9kDU9p2zBLmyUX7Q3uS97Vz3DaBr4lOAayllHOeK5kfw5HfKur83g4txn0c9pOZ2UR9e6/g/sGZpBUX3Y8bd8UorzihElePcRDibASrLQ2cUS8v6tEXlnwwT6Q=="; Version=1; Domain=.amazon.de; Max-Age=630720000; Expires=Wed, 06-Oct-2038 16:02:22 GMT; Path=/
0 x
Benutzeravatar

AlexaFan
Beiträge: 171
Registriert: Di 27. Mär 2018, 23:59
Vorhandene Echos: 44
Vorhandene Echo Dots: 12

Mo 15. Okt 2018, 20:59

Hast Du das hier alles ausprobiert: https://github.com/Apollon77/ioBroker.a ... leshooting
0 x
Benutzeravatar

adn77
Beiträge: 61
Registriert: Di 10. Okt 2017, 19:44

Di 16. Okt 2018, 17:08

michael.kaufmann hat geschrieben:
Mo 15. Okt 2018, 18:20
In der .alexa.login steht irgendwas von "Geben Sie die obigen Zeichen ein". Wenn ich die Cookies im Browser lösche und das NJS Plugin aktiviere, sodass Javascript ausgeschaltet ist, lande ich auf einer weisen Seite nach dem Anmelden.

Was mach ich da falsch. Ich habs auch schon auf einem anderen Rechner ausprobiert und mit einem anderen Browser, Cookies gelöscht, Javaskript deaktiviert. Trotzdem kommt im Browser keine Captcha Abfrage. Anscheinend nur in dem Skript. Auch einen anderen Browser String habe ich schon probiert. Geht auch nicht.
Hallo Michael,

die weiße Seite NACH dem Login ist vollkommen normal, da die Alexa App im Browser als Javascript realisiert ist. Wichtig wäre nur, dass du ein eventuelels Captcha löst.
Da du kein Captcha bekommst, kann es eigentlich nur an den Spracheinstellungen oder der Browserkennung liegen (ist prinzipiell schonmal gut).

Öffne mal die Netzwerkanalyse (F12 im Firefox -> Netzwerkanalyse TAB) und schau dir den "User-Agent" String in einer beliebigen Anfragekopfzeile an. Benutze mal diesen String als Browserkennung im Script. Die Accept-Language kannst du auch aus der Anfrage nehmen und unter LANGUAGE eintragen.

Alex
0 x
Benutzeravatar

michael.kaufmann
Beiträge: 2
Registriert: Mo 15. Okt 2018, 18:14

Di 16. Okt 2018, 17:25

Hallo AlexaFan,

ich bin nach der Anleitung vorgegangen. Mit dem Chrome Browser kommt auch die Captcha Abfrage. Allerdings kommt die jetzt jedesmal. Wie gehe ich vor:

Inkognito Fenster im Chrome öffnen: https://alexa.amazon.de aufrufen. Ich muss zweimal die Logindaten eingeben, dann erscheint auch das Captcha. Ich löse das Captcha --> weiße Seite.

Wenn ich jetzt das Inkognito Fenster wieder schließe, ein neues aufmache geht das gleiche Spiel von vorne los. Ich habs 5 mal probiert, jedesmal das Captcha gelöst, das Captcha kommt aber jetzt bei jedem Login wieder :-) So wie ich das verstehe, solls ja mal aufhören, damit sich das Skript einloggen kann oder?

Dann hab ich den Browser UserAgent angepasst, wie in der Anleitung steht, hat aber auch nix geholfen.

Was kann ich noch versuchen.

Gruß und Danke
Michael

Super, jetzt kommt zumindest schonmal eine .alexa.devicelist.json mit meinem Echo drin.

Browser USER-Agent alleine hat nicht geholfen. Es war anscheinend die Language.
Das stand im Firefox unter F12/Netzwerkanalyse folgendes drin: LANGUAGE="de,en-US;q=0.7,en;q=0.3"

Das habe ich im Skript angepasst. Aber weiter gehts jetzt leider noch nicht. Ich habe das Plugin Alexa2Lox auf dem Loxberry laufen. Das Auswahlfeld der Alexa bleibt allerdings leer. Es müsste doch als nächstes eine Datei angelegt werden, indem der Name der Alexa steht. Diese Datei wird aber nicht erstellt. Das Leerzeichen in den Namen der Alexa habe ich schon rausgemacht. Hilft aber leider nicht.

Hallo nochmal,

jetzt läufts. Ich habe nun im Pluginverzeichnis noch eine Datei mit dem Namen devices.conf erstellt. Dort habe ich den Namen meiner Alexa eingetragen. Die Datei wird komischerweise nicht erstellt. jq ist aber installiert in der neuersten Version.

Vielen Dank nochmal.
0 x
Antworten

Zurück zu „Alexa Allgemein“

  • Information