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

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

Moderator: Co-Administratoren

svemo
Beiträge: 55
Registriert: 12.02.2015, 14:59

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

Beitrag von svemo » 03.01.2019, 08:55

Xel66 hat geschrieben:
12.11.2018, 19:28
Ich tippe, dass da was gedreht wurde. Wie schon in der von Dir geposteten Fehlermeldung wirst Du ein Captcha zu lösen bekommen haben. Folglich kommst Du nicht rein und es wird kein Cookie gesetzt. Bleibt nur der manuelle Weg.

Gruß Xel66
Bekomme auch dei Tolle meldung:
cookie does not exist. logging in ...
ERROR: Amazon Login was unsuccessful. Possibly you get a captcha login screen.
Try logging in to https://alexa.amazon.de with your browser. In your browser
make sure to have all Amazon related cookies deleted and Javascript disabled!

Wenn ich über Firefox (java Deaktiviert) versuche mich einzuloggen kommt nur eine weiße Seite...

Edit!!!!

So habe PiVccu damit bekomme ich leider kein Cookie zugesendet wegen dem Fehler.
im normalen Container auf der 2 IP geht das Script super und ich habe auch den Cookie usw.

Wie kann ich das jetzt hinbekommen das die Sprachausgabe über CCU2 (PiVccu) funktioniert da Script und Cookie ja auf einer anderen IP laufen.

oder kann ich die Daten Cookie usw einfach dann in ein Verzeichniss im PiVccu hinterlegen?

danke

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

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

Beitrag von Xel66 » 04.01.2019, 10:17

svemo hat geschrieben:
03.01.2019, 08:55
...oder kann ich die Daten Cookie usw einfach dann in ein Verzeichniss im PiVccu hinterlegen?
Nicht "irgendein Verzeichnis" sondern das, in dem es durch das Script erwartet wird. Im Normalfall ist das eben /tmp. Da auf einer CCU/RM dieses Verzeichnis auf der RAM-Disk liegt, ist es beim Reboot natürlich leer. Darum auch mein Workaround, diese Dateien permanent zu sichern. Zur Not kann man dann auch den Inhalt der Cookie-Datei bei Bedarf austauschen. Derzeit funktioniert es bei mir nach/wieder.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

hobbycamper
Beiträge: 153
Registriert: 03.01.2018, 21:49
Hat sich bedankt: 3 Mal
Danksagung erhalten: 3 Mal

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

Beitrag von hobbycamper » 17.01.2019, 10:56

Vielleicht hilft das ja einigen weiter:

Ich hatte gestern Abend nach einem Stromausfall wieder die Probleme, dass das skript die cookies nicht erneuern konnte. Die Dateien im Temp-Ordner auch gelöscht, es wurde nichtmal die device.list erneuert. Nach vielem Probieren (Cookies im Browser löschen, Java ausschalten) hatte ich das skript mit dem Parameter "-l" aufgerufen, damit es sich erstmal ausloggt. Danach wieder mit "-a" aufgerufen und siehe da, device und cookies wurden ordnungsgemäß geladen......
Jetzt werde ich erstmal noch "Xel66"s Vorschlag, die beiden Dateien täglich weg zu kopieren, verfolgen.
Sowieso DANKE für Dein Homatic-Skript für die Alexa-Ansage!!

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

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

Beitrag von Bratmaxe » 22.01.2019, 15:03

Xel66 hat geschrieben:
12.11.2018, 19:28
Ich tippe, dass da was gedreht wurde. Wie schon in der von Dir geposteten Fehlermeldung wirst Du ein Captcha zu lösen bekommen haben. Folglich kommst Du nicht rein und es wird kein Cookie gesetzt. Bleibt nur der manuelle Weg.

Wie funktioniert denn der manuelle Weg?

Meinst du damit das hier:
Xel66 hat geschrieben:
24.10.2018, 23:31
Vielleicht muss das Cookie mal erneuert werden. Ich würde die entsprechenden Dateien aus /tmp verschieben (ggf. angelegtes Unterverzeichnis) und dann das Script mit -a aufrufen.
Kommt dann nicht wieder die Captcha abfrage?
Gruß Carsten

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

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

Beitrag von Bratmaxe » 23.01.2019, 09:24

@Xel66: Aktuell bekomme ich beim Skript ausführen über CuxD folgende Fehlermeldung:

Code: Alles auswählen

/usr/local/addons/echo/alexa_remote_control_plain.sh: line 15: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 18: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 21: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 24: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 27: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 30: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 37: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 40: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 48: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 50: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 69: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 71: {
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh [-d <device>|ALL] -e <pause|play|next|prev|fwd|rwd|shuffle|vol:<0-100>> |
          -b [list|<"AA:BB:CC:DD:EE:FF">] | -q | -r <"station name"|stationid> |
          -s <trackID|'Artist' 'Album'> | -t <ASIN> | -u <seedID> | -v <queueID> | -w <playlistId> |
          -a | -m <multiroom_device> [device_1 .. device_X] | -lastalexa | -l | -h
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 76: echo
: not found
   -e : run command, additional SEQUENCECMDs:
        weather,traffic,flashbriefing,goodmorning,singasong,tellstory,speak:'<text>'
   -q : query queue
   -b : connect/disconnect/list bluetooth device
   -r : play tunein radio
   -s : play library track/library album
   -t : play Prime playlist
   -u : play Prime station
   -v : play Prime historical queue
   -w : play library playlist
   -a : list available devices
   -m : delete multiroom and/or create new multiroom containing devices
   -lastalexa : print serial number that received the last voice command
   -l : logoff
   -h : help
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 92: }
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 93: 
: not found
/usr/local/addons/echo/alexa_remote_control_plain.sh: line 95: syntax error: unexpected word (expecting "in")

Hast du eine Idee warum das so ist? Ich habe das Skript nur kopiert und Email und Passwort ersetzt (mehrfach geprüft, habe nicht zusätzlich gelöscht).

Ps: Im Skript selber kann man den TMP-Pfad (Zeile 44) anpassen, wenn man hier in deinem Fall "/media/usb0/backup/echo/" eingibt, könntest du dir das Skript doch sparen, was die .Alexa* Dateien sichert/lädt, dann werden diese direkt au dem USB Stick abgelegt und sind auch nach einem boot weiterhin direkt verfügbar. Oder habe ich einen Haken übersehen? :wink:
Zuletzt geändert von alchy am 23.01.2019, 09:38, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Gruß Carsten

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

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

Beitrag von Xel66 » 23.01.2019, 09:49

Da das Originalscript nicht von mir stammt, sondern ich es von der Seite auch 1:1 übernommen habe, kann und will ich es nicht supporten. Dazu sind meine Shellscript-Kenntnisse nicht gut genug. Diese 1:1-Übernahme betrifft auch den Cookie-Pfad. Darum den Workaround mit dem Kopieren. Mein Beitrag für diese Funktion war lediglich das Ersetzen der Punkte der Zahlenangaben durch Kommata und der Aufruf des Scripts per CUxD. Das Script läuft bei mir ordnungsgemäß ab (der Shellscript-Aufruf mit -a liefert auch die Geräteliste), aber aktuell kommt keine Ansage mehr (Cookie ist vorhanden und aktuell). Auf der Quellseite des Scripts wurden schon ähnliche Anfragen gepostet. Ich gehe davon aus, das Amazon da was gedreht hat.

Bezüglich des manuellen Weges zum Setzen des Cookies. Ich logge mich dazu mit abgeschaltetem Java-Script bei alexa.amazon ein und kopiere dann den Inhalt des dabei erstellten Cookies in die entsprechende Datei des /tmp-Verzeichnisses. Für die Extraktion nutze ich das cookie.txt-Addon von Lennon Hill für Firefox.

Gruß Xel66
Zuletzt geändert von Xel66 am 23.01.2019, 09:55, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

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

Beitrag von Bratmaxe » 23.01.2019, 09:53

Danke dir.

Dann werde ich mal weiter suchen..
Hatte das Skript vor ein paar Monaten schon mal auf einem Pi laufen, wollte es jetzt aber auf die CCU verschieben.

ps gestern wurde eine neue Veersion vom Skript veröffentlicht
Gruß Carsten

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

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

Beitrag von Xel66 » 23.01.2019, 10:10

Bratmaxe hat geschrieben:
23.01.2019, 09:53
ps gestern wurde eine neue Veersion vom Skript veröffentlicht
Danke für die Info. Bei der Recherche der Zeilennummern für Deine ausgeworfenen Scriptfehler bin ich auch schon auf Unterschiede gestoßen und hatte mich gewundert. Dann muss ich mein Script auch mal austauschen. Vielleicht geht es ja wieder. Ist aber unschön, dass das ein Pflegefall zu sein scheint (regelmäßige Erneuerung des Cookies und jetzt des Scripts). Ich habe eigentlich keine Lust, mich ständig um solche Sachen kümmern zu müssen. Dass ich es mache, ist wieder eine andere Sache. Solche Schachen muss ich wollen. :-)

Das muss einfach funktionieren (ist mein Verständnis von Hausautomation). Vielleicht kann sich ja Amazon dazu durchringen, das irgendwann mal offiziell zu unterstützen und stellt dann eine Schnittstelle zur Verfügung. Ich mag an der Lösung eigentlich nur, dass die Stimme für sonstige Ansagen und die der Hausautomation gleich ist. Vorher war ich mit meiner wartungsfreien Version des home24-Mediaplayers eigentlich zufrieden. Das hat einfach funktioniert - dauerhaft und ohne Pflegeaufwand und vor allem lokal(!). Der Nachteil war eben die etwas dünne Stimme des Tablets.

Gruß Xel66

EDIT: Auch mit dem neuen Script bleibt mein Echo stumm.
EDIT2: eigentlich sieht es gut aus (denke ich)

Code: Alles auswählen

# sh alexa_remote_control_plain.sh -d Wohnzimmer -e speak:'Guten_Appetit!'
sending cmd:speak:Guten_Appetit! to dev:Wohnzimmer type:STRENGGEHEIM serial:NOCHGEHIMER customerid:WILLKEINERWISSEN
Sequence command: Alexa.Speak
HTTP/1.1 0 x-amzn-RequestId: die-geht-auch-niemanden-was_an
Access-Control-Allow-Origin: https://alexa.amazon.de
Content-Encoding: deflate
Vary: Origin
Access-Control-Expose-Headers: x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location
Access-Control-Allow-Credentials: true
Date: Wed, 23 Jan 2019 09:30:15 GMT
Connection: close
... bleibt aber trotzdem stumm.
Zuletzt geändert von Xel66 am 23.01.2019, 10:35, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

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

Beitrag von Bratmaxe » 23.01.2019, 10:32

Xel66 hat geschrieben:
23.01.2019, 10:10
Ich habe eigentlich keine Lust, mich ständig um solche Sachen kümmern zu müssen. Das muss einfach funktionieren (ist mein Verständnis von Hausautomation).
Da bin ich 200% deiner Meinung.. Einmal Arbeit rein stecken, dann Ruhe haben.. :wink:

Daher bin ich auch noch nicht sicher, ob ich das auf dauer nutzen möchte.
Aber mein MP3-Gong ist da leider zu unflexibel und braucht auch viel Batterie.

Bei Alexa hingegen habe ich das Problem, das diese per Klinke an meine Anlage angeschlossen ist (viel besserer Sound), aber wenn ich die Anlage auf TV oder Nvidia Shield umschalte, höre ich Alexa nicht mehr.. Da suche ich auch noch die optimale Lösung.. (hier wäre es schön, wenn man die Alexa Ausgabe einfach überlagern könnte!
Gruß Carsten

Benutzeravatar
blackhole
Beiträge: 3718
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 184 Mal
Danksagung erhalten: 586 Mal

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

Beitrag von blackhole » 25.01.2019, 08:16

Für die CCU3 gibt es mittlerweile auch ein Paket mit leicht angepasstem Skript und jq, so dass auch Alexa Routinen (automation) und weitere Dinge einfach aufrufbar sind, welche ohne jq eben nicht funktionieren.

Mehr hierzu und einfache Beispiel-Skripte findet man hier.

Antworten

Zurück zu „CUxD“