Amazon Echo Remote Control

Ich meine das Cover und den Text. Was in der Info Variable angezeigt wird.

Danke Heiko

Hast du dir schon EchoRemote_GetPlayerInformation() angesehen? Da sollte alles drin sein.

OK, den Firefox habe ich mal … :rolleyes:

Oder hast du das Speichern von Cookies ausgeschaltet?

Ich vermute auch hier den Fehler 40. Wo schalte ich das ein? Der Rechner auf dem ich mir den Cookie hole wird ja dann und wann (meist nachts) auch mal ausgeschaltet. Im Moment bin ich mit der Abmeldung wieder (immer noch) offline.

Manchmal glaubt man ja, man ist zu doof :smiley:

Grüße, Uwe

Nein, aber konnte sie auch nicht in der Doku finden, da gibt es nur EchoRemote_GetQueryInformation(). Aber im Quellcode habe ich sie jetzt gefunden. Probiere ich gleich mal aus, Danke!

Ciao Heiko

Kann nicht sein. Der Fehlercode ist unbekannt :slight_smile:

Mit Ausschalten hat das eigentlich nichts zu tun. Eher mit Browser schließen. Aber das kannst du ja leicht herausfinden indem du den Anmeldestatus im IO prüfst.

Tatsächlich, fehlte noch.

Ich habe jetzt noch mal den Haken bei „angemeldet bleiben“ deutlich gesetzt. Dann kann ich die App und den Browser schliessen und bleibe remote angemeldet.
Verwunderlich finde ich immer noch: ich kann bei beiden Zugängen (mit unterschiedlichen Benutzerdaten) den gleichen Cookie verwenden … und ich kann (egal in welchem Browser) nur einmal angemeldet sein. Wechsle ich die Anmeldung im Firefox ‚switcht‘ mir auch die Anmeldung im Chrome auf den anderen User. Bei der mobilen App ging das bisher auch nur auf 2 Geräten (Phone und Tablet), das werde ich aber auch noch mal sicher prüfen.

Grüße und danke für das „klappern“ an den Scheuklappen, Uwe

Hallo,ich habe seit Tagen ein Problem mich anzumelden,es kommt immer eine Fehlermeldung
ich verwende keine Zwei-Schritt-Verifizierung.
Hat noch wer Probleme damit??

MFG
Robert

Hallo,

ich bastel immer noch daran rum, das irgendwie mit der automatischen Anmeldung nach zwei Wochen in Verbindung mit der 2FA hinzubekommen.

Zuletzt habe ich versucht, in einem Browser sowohl das Passwort zu speichern als auch die Abfrage der 2FA nicht mehr durchzuführen. Leider wird die das Cookie nach zwei Wochen trotzdem ungültig und ich muss mich auch im Browser doch wieder mit Passwort und 2FA anmelden.

Nächste Idee:
In der Alexa-App (iOS) musste ich mich noch nie neu anmelden. Da die App aber prinzipiell auch nur auf der Alexa Webseite basiert, könnte es sein, dass das Cookie der App ggf. in Verbindung mit dem User-Agent zum Erfolgt führt.

Die Frage ist nur: wie kommt man am geschicktesten an das Cookie? Leider kann man ja (zumindest ohne Jailbreak) nicht so ohne Weiteres Daten der App abgreifen und ein Mittracen ist dank TLS auch nicht wirklich erfolgversprechend. Hat diesbezüglich vielleicht jemand eine Idee?

@bumaas: Das Setzen der Instanz auf fehlerhaft funktioniert jetzt übrigens. Ich muss mir nur noch was einfallen lassen, wie ich diese nervige Eigenart des Eventhandlers umgehe, der immer wieder ein Script triggert, auch wenn sich der Status einer Instanz nicht ändert. Ansonsten wird man im Minutentakt zugespamt, wenn die Instanz einen Fehler hat. Aber das Problem habe ich bei anderen Instanzen auch.

Gruß
Slummi

habe auch das Problem, dass cih beim Anmelden die Fehlermeldung:
„Bei der Anmeldung ist ein Fehler aufgetreten.“
bekomme…
nutze auch keine 2FA…

Vielleicht wäre der CharlesProxy for IOS etwas, dort kann man mittracen was zwischen App und Amazon passiert…

Interessanter Hinweis. Werde ich mir mal ansehen.

Burkhard

Hallo zusammen und Fonzo, vielen dank für das Modul…

komme ich irgend wie an die laufenden Timer ran? Am liebsten natürlich als Restlaufzeit aber auch die Ablaufzeit würde ausreichen.

Die Geschichte mit dem Notwendigen Cookie zur Anmeldung kann ich der Vollständigkeit halber auch bestätigen. 2FA ist bei mir nicht aktiv und trotzdem musste ich heute bei der Erstinstallation des Moduls den Cookie eingeben.

gruß
goran

Hallo,

Ich habe seit dem letzten Update auch das Problem das ein Cockie verlangt wird. Wie heißt der Cockie den du verwendest?

Grüße Michael

Den genauen Weg, wie du den Cookie findest, findest du auf git in der Doku ;).

Wäre es nicht möglich im Modul selber zusätzlich ein php Modul mit einzubinden um über die normale Anmeldung auf der Amazon Alexa Homepage an das Cookie zu kommen bevor dann die Kommunikation stattfindet? Oder denke ich da jetzt falsch?
how to get the cookies from a php curl into a variable - Stack Overflow

Irgendwie ist es schon umständlich alle 14 Tage erneut das Cookie hinterlegen zu müssen. Zwischenzeitlich habe ich auch mal meine Geräte dann in der Amazon Alexa Homepage gar nicht mehr gehabt :frowning: (Kam mir so vor als ob die dann Amazon automatisch raus genommen hatte da ich mehrfach mit den falschen Cookies kam). Dann musste ich die Geräte zurücksetzen und neu verbinden.

Edit: Habe mich jetzt selber ein wenig gespielt. Allerdings ist es doch nicht so einfach. Im Prinzip müsste man auf der Login Seite drüber kommen per php um per User+Passwort eine Anmeldung zu schaffen und dann weiter abgreifen. Mit der URL aus dem Script wird zumindestens schon mal die E-Mail Adresse vorbelegt (das habe ich geschafft)

Hier mal mein Bastel Script (natürlich User+Passwort ersetzen). Zumindestens ganz interessant was man da so raus bekommt und auch im Firefox mit Strg+Shift+C und in der Netzwerkanalyse wenn man eine Anmeldung macht auf https://alexa.amazon.de und das dann als HAR speichert und zB: bei Notepad++ wieder einfügt um das Ergebnis zu sehen was so gemacht wird.

<?

//$url = "https://alexa.amazon.de/api/tunein";
$url = "https://www.amazon.de/ap/signin?openid.return_to=https%3A%2F%2Falexa.amazon.de&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=amzn_dp_project_dee_de&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&email=thiemo@thiemog.eu";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "thiemo@thiemog.eu:meinPasswort");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADER, 1);
$verbose = fopen('php://temp', 'w+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
// get cookie
// multi-cookie variant contributed by @Combuster in comments
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $result, $matches);
$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
var_dump($cookies);
curl_close($ch);

if ($result === FALSE) {
    printf("cUrl error (#%d): %s<br>
", curl_errno($handle),
           htmlspecialchars(curl_error($handle)));
}

rewind($verbose);
$verboseLog = stream_get_contents($verbose);

echo "Verbose information:
<pre>", htmlspecialchars($verboseLog), "</pre>
";

printf("Result is: 
");
print_r($result);
printf("Info is: 
");
print_r($info);
printf("Cookies is: 
");
print_r($cookies);
?>

Hallo seit heute rennt meine Instanz „Amazon Echo Remote IO“beim Anmelden in einen Fehler,
Event control meldet mir aber eine erfolgreiche Verbindung. Muss ich etwa meinen cookie neu laden? Kennt jemand den aktuellen Fehler?

Update: ja es war der fehlende neue Cookie‼️

Ich habe mir die Anmeldeprozedur noch einmal intensiver angesehen. Scheinbar hat Amazon vor einigen Wochen das Verfahren marginal geändert, so dass bereits der erste Schritt beim Anmelden mit user/password fehlschlug.

Ich habe nun einen neuen Stand vorbereitet (0.9 Build 13):

neu:

[ul]
[li]Property ‚active‘[/li][/ul]
korrigiert:

[ul]
[li]der erste Cookie beim LogIn mit user/password wird nun korrekt geholt[/li][li]Anpassungen zur leichteren Wartbarkeit[/li][li]Fehlerbehandlung korrigiert[/li][li]Dokumentation um GetPlayerInformation erweitert[/li][/ul]

Zumindest bei mir läuft nun die automatische Anmeldung mit user/passwort wieder. Falls es nicht auf Anhieb funktioniert, versucht mal, die Instanz auf inaktiv zu setzen und 1-2 Tage zu warten und versucht es dann noch einmal.

Gruß

Burkhard

Hört sich sehr gut an - vielen Dank für deine Mühe.
Ab wann wird die Änderung im Git-Repository zur Verfügung stehen?

Gruß,
Markus

Ist online.

Vielen Dank!

Scheint wieder zu funktionieren.