Amazon Echo Modul (nicht Alexa) - 37_amazonecho (deprecated)

Begonnen von Markus M., 03 Oktober 2017, 14:17:31

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

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)

Mickey Mouse

??? das verstehe ich nicht...

ich kann doch keinen Echo ohne den "dazu passenden" Cookie anlegen und ohne die device-ID weiß ich nicht welchen Cookie ich nehmen soll.

das ist also ein klassisches Henne/Ei Problem:
ohne device-ID kein richtiger Cookie (wenn ich das Problem auch noch gelöst bekomme)
ohne richtigen Cookie keine device-ID

die Methode funktioniert also nur, wenn man das Modul mit einem einzigen Echo erstmal "initialisiert". Ich muss also alle Echo/Dots im Haus bis auf einen lahm legen, diesen einen dann konfigurieren udn kann dann Schritt für Schritt die anderen dazu fügen, richtig?

mahowi

Zitat von: Mickey Mouse am 26 Oktober 2017, 17:27:36
b) Cookie...
ich weigere mich mit diesem Chrome Mist mein Macbook zu versauen (ich weiß keine Arme, keine Kekse), es muss doch aber irgendwie anders möglich sein?

gibt es ein Rezept, wie ich den Cookie String aus den Informationen zusammen bauen kann, die mir mein Mac/Safari mit Bordmitteln anzeigt:

Wenn es keinen Developer Mode (o.ä.) im Safari gibt, dann kannst Du Dir auch aus den Angaben in Deinem Screenshot den String zusammenbasteln. Der Cookie sieht z.B. so aus (siehe https://www.gehrig.info/alexa/Alexa.html:
x-amzn-dat-gui-client-v=1.24.986.0; aws-target-static-id=14712345678-839972; aws-session-id=168-0412369-4130549; aws-session-id-time=2106194071l; aws-x-main=PgpqvER9Wibauhf4zfSDriNBlBILfMnk; aws-at-main=Atza|IwEBIAFsntUWFc_PZvFde5drDzPNXXXXXXXXXHPqI53aQNl-Fu83eAMUsFJmMtamv_4mLKEh6N82lqq8OHA8SKgh44X2MZwTguXNcUvd0-RVQyayT2lQ86JjoXvJrlMlrZIs7kJLWBryCGJEXXXXXXXXXXFJQpHhnGeC72ljNT_nVObL_wZoYhMFHVMXGiYjFyrb-QcjYY-I3ar-Q-kLAmzZYQIKU-mZ8GChNefKuG_x4ZZ2A06XXXXXXXXXOhX9w94vgmn2y3Qr9Q0rEi8K--UoFuTQ54GArubNsofNLh4U2dov8D7Gs3GoW6Hp2zEwt7cyumpRR_vceAz3aUjskoNKXsgDfpPZrebl-0R4bC6BfIasyoDOX9XXXXXXXXjRihKSxf4gs79p1ExYBmaBOX6glBrsKRqOXfk6Vh87_96uQ; aws-userInfo=%7B%22arn%22%3A%22arn%3Aaws%3Aiam%3A%3A314911114493%3Aroot%22%2C%22alias%22%3A%22%22%2C%22username%22%3A%22MeinUser%2520Name%22%2C%22keybase%22%3A%22dhVv%2Fmb%2BJyCH%2BJA6zwfighlgs5jc0W0mVYXkLBkb77M%5Cu003d%22%2C%22issuer%22%3A%22https%3A%2F%2Fwww.amazon.com%2Fap%2Fsignin%22%7D; __utmv=191231197.PgpqvER9Wibauhf4zfSDXXXXXXXXk; s_dslv=1475471239073; regStatus=registered; aws-target-visitor-id=1475445653051-715340.26_4; aws-target-data=%7B%22support%22%3A%221%22%7D; s_pers=%20s_ev15%3D%255B%255B%2527Typed%252FBookmarked%2527%252C%25212375474893114%2527%255D%255D%7C1632141293114%3B%20s_fid%3D0523A63XXXXXXXXX3C9679E640DA3570%7C1538547024210%3B%20s_dl%3D1%7C1475481765932%3B%20gpv_page%3Dno%2520value%7C1475481765939%3B; session-id=151-3512347-8293901; session-id-time=2106212731l; s_fid=71689F1234D6D238-299FD69294EFC3C1; s_nr=1475492764173-Repeat; aws-ubid-main=151-3388123-1263140; aws-session-token="lprp9YroXXXXXXXXXz5EFfSaPt96R0oSBWL2dR/AGFdlmk4QwRcVPXXXXXXXrmZ5kfHBdNwvSWWMKTnYU0pB5CE2XXXXXXUk6SIuaQYti17ZQ8B3NGwyCKNs7Lil+kz9qonZS5/cwtmrWHCe7SGx/QmPXXXXXXX89WbiV2xwTRkhVw6hTjO+8WUOXXXXXXXXi8MaR196v+Ewflx7dd3ouTVtY+hbJE4XSs="; __utma=194891197.1975555581.1444474071.1475495555.1475555580.5; __utmz=194555597.1475555680.5.2.utmccn=(referral)|utmcsr=console.aws.amazon.com|utmcct=/cloudwatch/home|utmcmd=referral; ubid-main=152-8362434-2710144; session-token="Y2Eoqs81+wIbanI7mPonK9t7gFvH7ZdTG2OxCZB3orqTILNY5ev4cFBWiSPTl2u8nFNXNmwtFP6RxnPBTunkdbHfpos8WYYOX7gEF52wnn5J3SknsvO99+MAT5GeyMR4JRa+ZOX+DcnIt8xtgYY2sSaEZ3JspjrQF+M9PUkuT9D4aYbZGRNa1BkFvoOt8Kettr9xxS/ODPfXEaE6xJr7qyPv0IQ3K6e+FbfGk3AWypY="; x-main=4r7ZrJJV4BT1R2sWn2W4NpiXZm9RSJLD; at-main=Atza|IwEEEEE4EikDns-CTHnGRqXXXcnnaij75AfcF1-XOBvphYTp_ATJHu6f0vDgMI7B1ApWn51cP6bqvG-XXXXeTPD8t7jl5El_FdhlYn3mmtn476FfnI5E7anoZNSKLyE-jauNJssBeGUjsSd0z8746mujYcJbKQsMMVVUlxcu4jXXxXXYcC4GasQyvOIp92wY-TPKAOys8NV0-yXH4xTGBzgJ0zzJa5JvyRz2v0x3fijvyXXXXXXSDhZtaDOZ6GOQlYrsUmudsorYUcUT52x0EYavXXXXX92cmgkMUzuTxppV1SpLk2Wk63LQQkCCZLs6_HWlnX2Saf0zgc13BdUehhSBiYHzJJeg1Ys7g68GLG5IuSGvyGe8ebmcN9KUDdD2CwphaeW34iy6dVKGbUpJ3GKVlz; sess-at-main="eSHstcxm5Krki5T1EAcQyk9XXXXXXqMbqcJqDBaA="; csrf=-2012345694

Du müsstest also die ganzen Angaben durch ; getrennt zusammenkopieren.

Wenn Du den Cookie gesetzt hast, nimmt das Modul den ersten Echo, den es findet. Mit get devices kannst Du Dir dann alle vorhandenen Echos anzeigen lassen und die entsprechenden IDs verwenden.

Steht übrigens auch so im ersten Post.

Edit: Es sollte auch im Safari einen Developer Mode geben: https://developer.apple.com/library/content/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Mickey Mouse

mein Screenshot stammt aus dem Safari Developer Mode ;)

im ersten Post gibt es einen Link zur einer Seite die beschreibt wie man den Cookie mit Chrome ermittelt. Dort steht aber explizit, dass man als ERSTES den Echo auswählen soll, für den man den Cookie braucht.

also jetzt mal Butter bei die Fische:
gibt es bei mehreren Echo/Dot im Netz nun EINEN Cookie oder für jeden einen eigenen? Solche "nebensächlichen" Infos würden das viel einfacher machen...

ich werde mal versuchen das zusammen zu basteln, vielleicht baue ich mir auch eine VM und installiere da den Chrome, wenn das so kompliziert ist.

Markus M.

Zitat von: Mickey Mouse am 26 Oktober 2017, 17:59:36ich kann doch keinen Echo ohne den "dazu passenden" Cookie anlegen und ohne die device-ID weiß ich nicht welchen Cookie ich nehmen soll

Wie kommst du denn auf sowas?
Die Websession im Cookie interessiert es ebenso wie viele der Anfragen nicht im geringsten, welche Devices dahinter hängen.
Du brauchst den Cookie, der Rest ist hoffentlich selbsterklärend.

Control-Click auf die Tabelle aus deinem Screenshot, alles kopieren und einen String im Format name=value; name2=value2; ... draus machen.
Aktuell weder Smarthome noch FHEM vorhanden

Mickey Mouse

Zitat von: Markus M. am 26 Oktober 2017, 18:15:07
Wie kommst du denn auf sowas?
ganz einfach, das steht so in dem Link:
ZitatThen select the correct Alexa you want to manage on the top menu
ok, da steht "Alexa" trotzdem ist wohl "Echo/Dot" gemeint, weil an der angegeben Stelle eben aus den Echo/Dot ausgewählt wird.
und wenn man explizit auswählen muss welches Gerät ich "managen" möchte, dann muss ich doch davon ausgehen, dass es unterschiedliche Cookies für die verschiedenen Geräte gibt.

ZitatDu brauchst den Cookie, der Rest ist hoffentlich selbsterklärend.
also mit anderen Worten: es gibt nur EINEN Cookie?

mahowi

Yepp, weswegen sich auch mit einem Cookie alle Devices anzeigen lassen. Du kannst also nach get devices die DEF mit den richtigen IDs ergänzen, das Gerät einfach kopieren und die IDs für die restlichen Devices ändern.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Markus M.

Zitat von: Mickey Mouse am 26 Oktober 2017, 18:22:05
ganz einfach, das steht so in dem Link
also mit anderen Worten: es gibt nur EINEN Cookie?
Anleitung verbessert, ein Cookie.
Aktuell weder Smarthome noch FHEM vorhanden

Mickey Mouse

alles klar, danke!

trotzdem klappt es leider nicht. Ich habe mir ein Chrome temporär auf einer Windows Mühle installiert, aber ich bekomme nur einen "zu kurzen" Cookie, auch mit Header und was hier sonst noch geschrieben wurde, keine Änderung.
das Modul sagt "initialized" (wenn ich den " am Ende weg lasse, dann ändert sich das in "Cookie Error")
aber im Log steht nur sowas "2017.10.26 19:40:31 3: Getting devices URL blocking https://layla.amazon.de/api/devices-v2/device?cached=true&_=xxxxxxxxx"

rufe ich die URL auf, dann wird ein ein wirrer Text angezeigt, der mit den "capabilities" von meinem Fire-TV Stick beginnt (ich weiß gar nicht so genau, wo der gerade ist), aber die Echos und Dots tauchen auch irgendwie auf, auf einen richtigen Fehler deutet das meiner Meinung nach nicht hin.

ich habe jetzt eine Stunde lang versucht einen "besseren" Cookie zu bekommen, ich bekomme aber IMMER DENSELBEN und die Device Liste bleibt leer, egal was ich mache.
schade...

Steffen

Bei mir ging es nur mit dem Microsoft Edge browser!
Mfg Steffen

MadMax-FHEM

Hast du auch aus dem Request-Header kopiert!?

Hatte am Anfang immer den Response-Header erwischt...

P.S.: mit Firefox auf Linux

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)

adn77

Ich habe nochmal eine reine Shell Version gebaut, die keinen zusätzlichen JSON Parser benötigt.
Auf dem Rechner muss nur cURL, AWK und SED installiert sein. Download über: http://blog.loetzimmer.de/2017/10/amazon-alexa-hort-auf-die-shell-echo.html
oder direkt: https://loetzimmer.de/patches/alexa_remote_control_plain.sh

Das Cookie findet sich nach einem ersten Aufruf mit "-q" unter /tmp/.alexa.cookie

Alex

Mickey Mouse

Dumm-User Fehler  :-[

ich hatte noch nie Probleme mit dem "Shared Clip-Board" zwischen einer RDP Session und dem Mac.
hier wurde aber aus dem Ende einer Zeile:
at-acbde=Atza^|
at-acbde=Atza|
alles andere ist identisch und das fällt wirklich nicht auf...

also alles was ich geändert habe ist: statt den Cookie in der RDP Session in das Clipboard zu kopieren und dann in der "Mac Umgebung" im Safari in die FHEM UI zu kopieren, habe ich jetzt den Cookie direkt im Chrome innerhalb der RDP kopiert und alles funktioniert tadellos!

die Device List wird angezeigt, ich kann die Lautstärke vom ersten Dot "Test Kaninchen" ändern.

Alles perfekt!!!

pscl

Hello!

Danke für das tolle Modul! Funzt sehr gut :D
In welchen Grenzen kann ich denn den Intervall einstellen? Interval 0 sorgt leider dafür, dass sekündlich gepollt wird.
(Benötige bloß die Steuerung)

Markus M.

Zitat von: pscl am 27 Oktober 2017, 19:47:16
Hello!
Danke für das tolle Modul! Funzt sehr gut :D
In welchen Grenzen kann ich denn den Intervall einstellen? Interval 0 sorgt leider dafür, dass sekündlich gepollt wird.
(Benötige bloß die Steuerung)

Keine Grenzen.
604800 wäre eine Woche...
Aktuell weder Smarthome noch FHEM vorhanden