Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuern

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

terny
Beiträge: 76
Registriert: 23.10.2015, 09:08
Hat sich bedankt: 6 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von terny » 25.09.2017, 11:58

So, ich habe mich am Wochenende nochmals auf Analyse begeben und alle Daten abgeglichen.
Dabei ist mir aufgefallen, dass sich neben dem Cookie auch der CSRF Wert geändert hat und nun auch ein negatives Vorzeichen "-" hat.

Nachdem ich dies in allen drei Skripten aktualisiert habe, läuft alles wie gewohnt.
Mir war bisher nur die Aktualisierung des Cookies bekannt, weswegen ich dies nicht gleich als Fehlerquelle bemerkt habe.
Vielleicht hilft die Info ja Jemandem mit den gleichen Problemen.

Mal schauen, wie häufig hier nun eine Änderung der Cookies/CSRF Wertes notwendig sein wird.
Leider hängt es bei mir derzeit davon ab, ob mein Radiowecker am morgen funktioniert oder nicht....
Mein Wunsch, dass ein versierter User hier eine Lösung findet ohne die "Notwendigkeit der periodischen händischen Nacharbeit" wird damit weiter größer.

Da das Thema derzeit in dem Forum etwas eingeschlafen ist, versuche ich hier mal die Motivation etwas zu steigern.
Ich würde 50 Euro Aufwandsentschädigung bieten, wenn jemand eine "Automatisierte Lösung" zu dem Cookie/CSRF Thema bereit stellt.

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Dragonfly » 03.10.2017, 17:50

Leider ist dies - durch mangelnde unterstützung von Amazon - nicht (so einfach) möglich.

Ich hab mich damals schon informiert, ob man sich einloggen kann um die benötigten Daten abzugreifen.
Beim Login wird anscheinen vom Browser bis zur Bildschirmauflösung alles mögliche geprüft um sich einloggen zu können - so weit ich noch weiß....

Also wird das Projekt wohl sehr pflegeintensiv bleiben :-(

terny
Beiträge: 76
Registriert: 23.10.2015, 09:08
Hat sich bedankt: 6 Mal

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von terny » 05.10.2017, 21:11

Von Fonzo kam gerade ein Hinweis, dass es bei dem Thema vorwärts zu gehen scheint.

siehe :
https://www.alefo.de/viewtopic.php?f=14&t=3743

https://www.alefo.de/viewtopic.php?p=27423#p27423

Vielleicht können ja paar versierte Mitglieder mal einen Blick in die Diskussion werfen.
Ich bin leider viel zu sehr User als Entwickler, um da durchzusehen, geschweige denn mitzuhelfen.

Um Zweifel zu beseitigen, möchte ich nochmals bestätigen, dass die 50 Euro Spende für eine Homematic+Echo Lösung des Problems ernst gemeint waren.

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 06.10.2017, 13:26

Klingt sehr interessant. Allerdings auch kompliziert. Radza meint aber, dass jeder User selbst den von ihm aufgezeigten Weg mit burpsuite gehen müsste, um an den Befehl zu gelangen, mit welchem man einen neuen Cookie generieren lässt. Das klingt aufwendig. Als eingefleischter WIndows-User, der gerade nur so mit den rudimentärsten Linux-Elementen klarkommt, ist das nicht meine Welt. Auch bleibt unklar, wie man den neuen Cookie dann ausliest, in einer Datei schreibt und die dann in unserem Script verwendet. Letzteres hat ja schon mit einem Cookie, der in eine text-Datei fest eingetragen war, nicht stabil funktioniert.

Also ich verfolge es weiter und wenn es am Ende eine funktionsfähige Lösung geben solltem, für die Du 50,- Euro bezahlen willst, beteilige ich mich auch daran. Die Frage für mich ist indes, ob es weiterhin der richtige Ansatz ist, den Befehl über einen der eigenen Echos zu triggern (wie wir bislang immer versuchen), oder ob man quasi ein "virtuelles Alexa-Device" erstellen kann, über das man dann - dank der neuen Multiroomfunktion - auf allen Echos Musik starten kann.

Es ist jedenfalls schon ärgerlich, dass Amazon keine vorgefertigte Lösung anbietet, um an Alexa per Script oder Command Line Befehle abzusetzen. Ist das nicht Diskriminierung von Taub-Stummen? Und wozu bei der Anmeldung dieser dämliche cookie benötigt wird, der sich dann auch noch alle 3 Wochen ändert, leuchtet mir ebenfalls nicht ein. Man sollte meine, dass eine Authentifizierung mittels e-Mail-Adresse und Passwort (oder notfalls csrf und was da sonst noch angeführt wird) ausreichen sollte. Amazon bemüht sich um eine kundenfreundliche INfrastruktur und den Ausbau des Alexa-Systems mit möglichst vielen Funktionen. Aber an dieser Stelle hier klemmt es ziemlich.

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von Dragonfly » 06.10.2017, 18:31

Nun, auch wenn der "neue" Weg funktionieren würde, ist die Lösung nur mittelfristig. Dann stellen die eine Kleinigkeit um und das war´s wieder.
Ohne offizielle Unterstützung einer solchen Steuerung wird das nie was Ordentliches... :cry:

Amazon ist ja sehr bemüht, ihre Geräte alles andere steuern zu lassen und möchte somit vielleicht am oberen Ende der Nahrungskette stehen.

Die Telefon-Funktion von Alexa reizt mich schon und ich würde noch ein/zwei Geräte kaufen, aber mangels Unterstützung einer Command Line werde ich das nicht machen.

lg

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 12.10.2017, 08:05

Hat das hier schon jemand probiert?

https://www.alefo.de/alexa-allgemein-f1 ... tml#p27805

Es klingt eigentlich so, als sei mit diesem script unser Problem gelöst. Indes finde ich keine gute Beschreibung zu Einrichtung und Nutzung. Vor allem weiß ich nicht, ob man "jq" auch auf der CCU2 laufen lassen kann. Der Autor meint aber, man könne das Script auch umschreiben und ohne jq nutzen, wenn man die Namen der eigenen Echo-Geräte fest einträgt.

The Wild Frog
Beiträge: 15
Registriert: 24.01.2013, 13:47

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von The Wild Frog » 14.10.2017, 15:40

Hallo zusammen,

nachdem ich nun das letzte Wochenende, die ganze Woche und den heutigen Tag mit rumprobieren verpracht habe, gebe ich auf. Ich bin eben doch nur User.
Kann mir jemand detailiert erklären, was ich wie schreiben muss, damit es bei mir auch funktioniert?

Was ich bisher getan habe:
1. meine Daten mit einem Editor in die Datei alexa.sh geschrieben und alle ^ entfernt. (Frage müssen auch die \ zwischen den ^ entfernt werden?
2. die alexa.sh in das Verzeichnis /usr/local/addons/alexa/alexa.sh kopiert
3. auf der CCU2 ein Programm geschrieben die folgendes Script auslöst:

dom.GetObject("CUxD.CUX9103001:1.CMD_EXEC").State("/usr/local/addons/alexa/alexa.sh play");

4. ??? nichts passiert, wo liegt der Fehler?

Ich wäre für verständliche Hilfe dankbar...

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 14.10.2017, 16:15

Das Entfernen der ^-Zeichen sollte reichen.

Zu Deinem Problem fiele mir nur ein:
1. Nimm mal statt "play" einen bestimmten Radiosender, also z.B. "tunein s223993"

2. Mach mal aus State("/user/...) ein State("sh /user/...")

3. Kontrollier mal, ob CUxD bei Dir richtig eingerichtet ist. Normalerweise ist die Gerätenummer bei CUxD ja auch die CUX2801001 und nicht die CUX9103001.

4. Prüfe nochmals CSRF-Nummer. Terny hat zuletzt mitgeteilt, dass er neuerdings ein Minus-Zeichen davor setzen müsse, damit es bei ihm geht.

Ich selbst habe die vorliegende Methode seit einer Weile nicht mehr genutzt. Ich versuche mich aktuell eher an einer Lösung, die hoffentlich ohne Cookie auskommt oder dieses automatisch erzeugt. Aber da bin ich noch keinen Schritt weiter. Mal sehen, ob einer der Script-Experten vielleicht mit der in meinem letzten Posting verlinkten Anleitung etwas anfangen kann ...

The Wild Frog
Beiträge: 15
Registriert: 24.01.2013, 13:47

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von The Wild Frog » 14.10.2017, 16:33

Ich habe eben zufällig den Fehler gefunden:

dom.GetObject("CUxD.CUX9103001:1.CMD_EXEC").State("/usr/local/addons/alexa/alexa.sh play"); ------ ist falsch
dom.GetObject("CUxD.CUX9103001:1.CMD_EXEC").State('/usr/local/addons/alexa/alexa.sh play'); ----- ist richtig, es dürfen keine Anführungszeichen sein " sondern nur ein Strichlein '

Manchmal kann es so einfach sein.

fantasticn
Beiträge: 102
Registriert: 15.03.2016, 14:34

Re: Brauche Hilfe für CURL um Amazon Echo/Alexa fernzusteuer

Beitrag von fantasticn » 14.10.2017, 17:05

Interessant. Bei mir sind es Anführungszeichen - und es läuft bzw. lief immer.

However, Hauptsache für Dich ist damit das Problem gelöst. Dann viel Spaß damit. Du wirst aber bald schon merken, dass das ständige erneuern des Cookie nervt. Deshalb hoffen wir hier alle auf eine Lösung, die das entbehrlich macht. Im oben verlinkten Blog ist dazu bereits ein anderes Script dargestellt, das angeblich den Cookie automatisch generiert und einsetzt. Allerdings muss man wohl ein wenig mehr Ahnung mit dem Scripting haben als ich, um es zum Laufen zu bringen bzw. für die CCU2 anzupassen.

Antworten

Zurück zu „CUxD“