[LÖSUNG] Endlich mit Musik geweckt werden

Benutzeravatar

Themenstarter
radza
Beiträge: 43
Registriert: Fr 16. Dez 2016, 02:42
Vorhandene Echos: 3
Vorhandene Echo Dots: 2
Vorhandene Echo Shows: 1

Do 5. Okt 2017, 09:22

Hallo Alefo Community,

Da es vielen ein Ärgernis ist, dass sie von ihrer Alexa nur mit vordefinierten, nervigen Pieptönen geweckt werden können, möchte ich euch heute einen Weg zeigen, wie ihr es mit ein wenig Bastelei schaffen könnt zukünftig mit eurer lieblings Playlist geweckt zu werden. Dies ist möglich über Amazon Music und TuneIn, über Spotify leider nicht.

Es gibt ja bereits mehrere Ansätze und Bastellösungen dafür. Z.b. das Handy mit einem Sprachbefehl programmieren, den Alexa dann hört. Dann wacht man aber von dem Sprachbefehl auf und nicht von der Musik ;-) Nervig...

Diese Anleitung kommt einer "echten" Fernsteuerung von Alexa schon sehr nah, ist aber nur etwas für Leute, denen Bastelei Spaß bringt.
Ich verwende diese Art des Weckens bereits mit Erfolg seit einigen Wochen und kann euch versichern, dass sich der Aufwand lohnt.

Was ihr braucht:
1. Einen Amazon Echo, wer hätte das gedacht? ;)
2. Google Chrome auf einem PC
3. Ein Android Smartphone
4. Die App Tasker
5. Die App Termux

für iPhone Nutzer:
► Text zeigen
Was ihr tun müsst:
1. Geht an eurem PC über Google Chrome auf https://alexa.amazon.com und loggt euch ein
2. Klickt auf "Musik, Videos und Bücher"
3. Klickt Amazon Music und auf Playlisten (alternativ ein Tunein Radiosender, allerdings werdet ihr dann mit hoher Wahrscheinlichkeit mit Werbung statt mit Musik geweckt)
4. Sucht euch eine Playlist raus und öffnet sie. Die Wiedergabe startet automatisch. Diese mit einem Klick auf den Pause Button pausieren.
5. Falls noch nicht automatisch aktiviert: Aktiviert die Shuffle Funktion
6. Öffnet die Developer Tools mit der Tastenkombination Strg+Shift+J
7. Klickt auf den Reiter Network/Netzwerk und löscht mit einem Klick auf "Clear" ( Der Kreis mit dem diagonalen Querbalken ) sämtlichen Content
8. Klickt nun auf der Alexawebseite auf den Playbutton
9. Es erscheint in den Developer Tools ein URL Aufruf, der mit "command" beginnt (siehe Screenshot). Diesen müsst ihr rechtsklicken und als Curl Command (bash) kopieren.
anleitung.jpg
10. immer noch am PC: Öffnet das Notepad (Win+R -> notepad -> enter) Oder einfach über das Startmenü
11. In diese Datei kommt folgender Inhalt:
► Text zeigen
11. Die Datei als "wecker.sh" abspeichern
12. Installiert die App Tasker und die App Termux aus dem Playstore
13. Öffnet Termux und gebt folgende Befehle ein (nach jeder Zeile mit <ENTER> quittieren)
► Text zeigen
Das Ablegen der "wecker.sh" Datei funktioniert am besten durch hochladen jener, z.b. bei Dropbox, GoogleDrive, eurem persönlichen Webspace oder einem anderen Cloudanbieter. So könnt ihr euer Skript mit dem Befehl:
► Text zeigen
herunterladen

Beim Befehl pwd wird euch der gesamte Pfad angezeigt an dem ihr euch befindet. Dieser MUSS folgendermaßen lauten:
► Text zeigen

14. App Tasker öffnen und mit einem Klick auf das "+" ein neues Zeitprofil anlegen (Zeit/Time auswählen), alternativ könnt ihr auch noch einen zweiten Auslöser in das Profil mit einprogrammieren, der z.b. nur von Mo-Fr ausgelöst wird, am Wochenende aber nicht.
15. Weckzeit definieren indem ihr bei "From/Von" Eine Uhrzeit einstellt und bei "To/Bis" die gleiche Uhrzeit +1 Minute angebt.
16. Einen neuen Task erstellen und ihn Wecker nennen
17. Wieder auf das "+" klicken und eine Action erstellen. Bei Kategorie "Plugin -> Termux:Task" auswählen
18. Bei Configuration auf das Bleistift Symbol klicken und danach in das oberste Textfeld, indem der Cursor bereits blinkt wecker.sh eintippen. Wichtig: Auf korrekte Groß und Kleinschreibung achten. Genau so angeben wie ihr die Datei benannt habt. Anmerkung: Sollte beim tippen von wecker.sh keine Autovervollständigung des Skriptnamens "aufpoppen", habt ihr das Skript nicht am richtigen Ort abgelegt. In dem Fall müsst ihr die letzten Schritte noch einmal wiederholen und auf die korrekte Schreibweise achten.
19. Mit einem Klick auf die Diskette oben rechts könnt ihr den Task speichern.
20. Zurück klicken bis ihr wieder in der Profilansicht seid. Home-Button drücken. Tasker läuft nun allzeit im Hintergrund und löst die definierten Aktionen aus, sobald die angegebene Zeit am angegeben Tag erreicht ist.

Tasker "emuliert" somit über das Bash Skript mit dem CURL-Befehl einen Klick im Browser auf der Alexa Homepage. Für euren Amazon Echo ist es genau so als hättet ihr selbst um X-Uhr auf Play geklickt.

Ich habe in Termux und Tasker z.B. noch zusätzliche Skripte geschrieben, die im selben Task ausgeführt werden, in dem auch die Musikwiedergabe gestartet wird. z.B. geht mein Licht im Schlafzimmer automatisch an (TPLink HS110 WLAN Steckdosen) und die Überwachungskamera im Hausflur wird ausgeschaltet. So kann man sich seine ganz persönliche Aufwachroutine erstellen. Ich wette es wäre sogar möglich seinen Netzwerkintegrierten Kaffeeautomaten damit zu steuern, aber das ist ein Thema für einen anderen Thread ;-)

Würde mich über Feedback freuen ob es bei euch geklappt hat. Für Fragen bin ich natürlich auch da.

Inspiriert ist diese Anleitung teils durch einen anderen Thread in diesem Forum, wo ein User den Weg mit TuneIn Fernsteuerung vorgestellt hat. Danke an dieser Stelle an den User thorsten.gehrig


Wünsche viel Spaß beim Basteln und natürlich viel Erfolg. Wenn alle Schritte präzise befolgt werden wacht ihr zukünftig mit der Musikplayliste eurer Wahl auf.


Edit: Ich könnte mir vorstellen, dass die Session ID im Curl Command irgendwann einmal ablaufen könnte. Bislang ist sie seit 2 Wochen gültig. Sollte die Musik irgendwann nicht mehr starten, müsstet ihr den Schritt in google Chrome noch einmal wiederholen und den aktualisierten Curl Befehl mit der neuen Session ID im Skript updaten.
Zuletzt geändert von radza am Do 5. Okt 2017, 12:33, insgesamt 11-mal geändert.
1 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Do 5. Okt 2017, 10:15

radza hat geschrieben:
Do 5. Okt 2017, 09:22
Edit: Ich könnte mir vorstellen, dass die Session ID im Curl Command irgendwann einmal ablaufen könnte. Bislang ist sie seit 3 Wochen gültig. Sollte die Musik irgendwann nicht mehr starten, müsstet ihr den Schritt in google Chrome noch einmal wiederholen und den aktualisierten Curl Befehl mit der neuen Session ID im Skript updaten.
Die Cookies laufen definitiv aus, das ich auch schon unter Alexa automatisiert "Fernsteuern" diskutiert worden. Falls Du einen Ansatz findest wie man
  • einen Weg findest die API zu nutzten ohne umständlich über die Develepor Konsole zu gehen
  • oder ein Weg findest die Cookies und Daten automatisch auszulesen
sind Dir alle die das jetzt schon mit Curl nutzten und ständig die Cookies erneuern müssen dankbar. Amazon selber scheint ja wenig Interesse daran zu haben das man ein Echo auch extern steuern kann. Ansonsten würden sie das ja es einem einfacher ermöglichen über Oauth oder zumindest sich nach Anmeldung mit seinen eigenen Account Daten den Echo auf einfache Weise über die API steuern zu können.
Zuletzt geändert von Fonzo am Do 5. Okt 2017, 10:19, insgesamt 1-mal geändert.
0 x
Benutzeravatar

Themenstarter
radza
Beiträge: 43
Registriert: Fr 16. Dez 2016, 02:42
Vorhandene Echos: 3
Vorhandene Echo Dots: 2
Vorhandene Echo Shows: 1

Do 5. Okt 2017, 10:43

Fonzo hat geschrieben:
Do 5. Okt 2017, 10:15
radza hat geschrieben:
Do 5. Okt 2017, 09:22
Edit: Ich könnte mir vorstellen, dass die Session ID im Curl Command irgendwann einmal ablaufen könnte. Bislang ist sie seit 3 Wochen gültig. Sollte die Musik irgendwann nicht mehr starten, müsstet ihr den Schritt in google Chrome noch einmal wiederholen und den aktualisierten Curl Befehl mit der neuen Session ID im Skript updaten.
Die Cookies laufen definitiv aus, das ich auch schon unter Alexa automatisiert "Fernsteuern" diskutiert worden. Falls Du einen Ansatz findest wie man
  • einen Weg findest die API zu nutzten ohne umständlich über die Develepor Konsole zu gehen
  • oder ein Weg findest die Cookies und Daten automatisch auszulesen
sind Dir alle die das jetzt schon mit Curl nutzten und ständig die Cookies erneuern müssen dankbar. Amazon selber scheint ja wenig Interesse daran zu haben das man ein Echo auch extern steuern kann. Ansonsten würden sie das ja es einem einfacher ermöglichen über Oauth oder zumindest sich nach Anmeldung mit seinen eigenen Account Daten den Echo auf einfache Weise über die API steuern zu können.
Hast du dich bereits mit dem Thema beschäftigt? Hast du einen Ansatz? Ich könnte mir vorstellen, dass es möglich wäre eine Anmeldung automatisiert zu simulieren und somit vor jedem Command eine neue Session zu starten. Curl ist ein mächtiges Werkzeug. Ich glaub ich habe da eine Idee. Ich werde mir den Anmeldeprozess einmal mit Burpsuite anschauen. Vielleicht finde ich darüber eine Lösung.

Edit: das ging schnell. Ich glaube ich habe eine Lösung gefunden. Ich habe einen neuen Thread zu erstellt. Bitte schau dir das einmal an und geb deine Meinung dazu ab. viewtopic.php?f=14&t=3743
Zuletzt geändert von radza am Do 5. Okt 2017, 11:19, insgesamt 1-mal geändert.
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Do 5. Okt 2017, 11:28

radza hat geschrieben:
Do 5. Okt 2017, 10:43
Hast du dich bereits mit dem Thema beschäftigt?
Ja habe ich, wobei ich persönlich die Meinung vertrete, dass das alles simpel machbar wäre, wenn denn von Amazon der Wille da wäre, ein Echo mit Authentifizierung über die eigenen Nutzer Daten steuern zu können. Die Lösung mit Curl lässt sich ja grundsätzlich in allen möglichen Sprachen umsetzten, ich selber nutzte PHP. Das sinnvollste wäre wirklich Amazon würde eine OAuth Authenifizierung zulassen, mal sehen vielleicht haben die ja doch eines Tages ein Einsehen. Das Problem was ich sehe ist, da ja offensichtlich kein Interesse von Amazon daran besteht einen Echo extern steuern zu können, ist alles was man macht auch nur von begrenzter Dauer. Angenommen man bastelt einen vollautomatischen Anmelde Prozess, bzw. stellt diesen nach und hat dann das Problem mit den Cookies nicht mehr, dann ist es aber immer noch so wenn Amazon das nicht will, drehen die an einer Schraube und dann kann man wieder von vorne anfangen zu Basteln. Auf so eine Sisyphusarbeit habe ich ehrlich keine Lust. Daher würde ich ja eine offizielle Lösung von Amazon zur Nutzung der API bevorzugen.
radza hat geschrieben:
Do 5. Okt 2017, 10:43
Hast du einen Ansatz? Ich könnte mir vorstellen, dass es möglich wäre eine Anmeldung automatisiert zu simulieren und somit vor jedem Command eine neue Session zu starten. Curl ist ein mächtiges Werkzeug. Ich glaub ich habe da eine Idee. Ich werde mir den Anmeldeprozess einmal mit Burpsuite anschauen. Vielleicht finde ich darüber eine Lösung.
Ich nutzte Amazon Echo Remote Control da werden die Daten aus der Developer Console eingetragen und dann funktioniert das.
Sieht so aus
echowebfront.png
das Problem ist wie gesagt das sich der Cookie immer mal wieder ändert. So genau habe ich mich Curl und den Möglichkeiten eine komplette Anmeldung zu simulieren aber nicht beschäftigt. Das Problem ist, dass Du dann erst mal die gesamte Kommunikation entschlüsseln musst damit Du das dann auch 1:1 nachbauen kannst. Wenn Du da eine Idee hast, sind Dir glaube ich unzählige Leute dankbar, kannst sogar ein kleines Trinkgeld erhalten, wenn terny zu seinen Wort steht. Falls Du wie gesagt da einen Ansatz hast würde ich mir das vielleicht auch noch mal näher anschauen, bisher hatte ich dazu aber einfach keine Zeit und Lust, vielleicht kommt man ja gemeinsam zu einer Idee und Lösung.
0 x
Benutzeravatar

Themenstarter
radza
Beiträge: 43
Registriert: Fr 16. Dez 2016, 02:42
Vorhandene Echos: 3
Vorhandene Echo Dots: 2
Vorhandene Echo Shows: 1

Do 5. Okt 2017, 11:31

Fonzo hat geschrieben:
Do 5. Okt 2017, 11:28

das Problem ist wie gesagt das sich der Cookie immer mal wieder ändert. So genau habe ich mich Curl und den Möglichkeiten eine komplette Anmeldung zu simulieren aber nicht beschäftigt. Das Problem ist, dass Du dann erst mal die gesamte Kommunikation entschlüsseln musst damit Du das dann auch 1:1 nachbauen kannst. Wenn Du da eine Idee hast, sind Dir glaube ich unzählige Leute dankbar, kannst sogar ein kleines Trinkgeld erhalten, wenn terny zu seinen Wort steht. Falls Du wie gesagt da einen Ansatz hast würde ich mir das vielleicht auch noch mal näher anschauen, bisher hatte ich dazu aber einfach keine Zeit und Lust, vielleicht kommt man ja gemeinsam zu einer Idee und Lösung.
Ich habe dir eine PN geschrieben und einen neuen Thread erstellt, weil ich vermute das Problem tatsächlich gelöst zu haben. Das Brechen der https Verbindung war kein Problem. Habe die gesamte Kommunikation unverschlüsselt mitschneiden können.

Schau mal hier. Da habe ich den Weg beschrieben: viewtopic.php?f=14&t=3743
0 x
Benutzeravatar

Fonzo
Beiträge: 1690
Registriert: Fr 24. Feb 2017, 00:06

Do 5. Okt 2017, 11:42

radza hat geschrieben:
Do 5. Okt 2017, 11:31
weil ich vermute das Problem tatsächlich gelöst zu haben.
Wenn das der Fall sein sollte hast Du von mir größte Dankbarkeit verdient und von terny 50 Euro ;)
0 x
Benutzeravatar

Themenstarter
radza
Beiträge: 43
Registriert: Fr 16. Dez 2016, 02:42
Vorhandene Echos: 3
Vorhandene Echo Dots: 2
Vorhandene Echo Shows: 1

Do 5. Okt 2017, 11:44

Fonzo hat geschrieben:
Do 5. Okt 2017, 11:42
radza hat geschrieben:
Do 5. Okt 2017, 11:31
weil ich vermute das Problem tatsächlich gelöst zu haben.
Wenn das der Fall sein sollte hast Du von mir größte Dankbarkeit verdient und von terny 50 Euro ;)
Haha ;-) kannst terny in dem Forum ja mal auf meinen Thread hinweisen. Hab da keinen Account. Jetzt heißt es, dass sich alle Interessierten zusammen tun und meine vermeintliche Lösung einmal gemeinsam diskutieren und durchgehen.
Zuletzt geändert von radza am Do 5. Okt 2017, 12:08, insgesamt 1-mal geändert.
0 x
Benutzeravatar

cyberandi
Beiträge: 77
Registriert: So 8. Okt 2017, 23:38
Wohnort: München
Vorhandene Echo Dots: 4
Kontaktdaten:

Do 12. Okt 2017, 23:54

Man kann auch ohne komplizierte Programmierung beim Wecken Aktionen ausführen lassen, wie zum Beispiel Rollo auf, Licht an oder Musik an. Dazu gibt es unter dem Dienst IFTTT die Möglichkeit verschiedene Regeln mit gleichem Auslöser zu erstellen. Bei mir habe ich drei Regeln welche beim Auslöser Alexa: Alarm beenden starten. Diese sind: Rollo auf, Licht an und Musik aus dem Squeezbox-Player. Dies läuft bei mir schon seit Monaten ohne Probleme mit Alexa. Das tollte ist, ich kann per Sprachbefehle am Tag vorher einen Alarm stellen. Ertönt dieser, sage ich einfach Alexa, stopp. So wird sofort das Licht eingeschaltet, die Jalousien hochgefahren und aus der Squeezbox ertönt meine gewünschte Musik. Ist bei mir über Maker-Channel und URL-Befehl so wie mit einem Homeautomation-System welches über HTTP-Request gesteuert wird gelöst. Auf dem Homeautomation-System habe ich mir nur die HTTP-Befehle gesucht, aber keine expliziete Programmierung benötigt. Also DAU geeignet. :grinning:

Also einfach mal mit IFTTT testen und rumspielen.
Zuletzt geändert von cyberandi am Fr 13. Okt 2017, 00:11, insgesamt 4-mal geändert.
0 x
Benutzeravatar

Themenstarter
radza
Beiträge: 43
Registriert: Fr 16. Dez 2016, 02:42
Vorhandene Echos: 3
Vorhandene Echo Dots: 2
Vorhandene Echo Shows: 1

Di 22. Sep 2020, 15:55

Ja der Thread ist aus einer Zeit als das alles noch nicht so einfach möglich war :) Kann geschlossen werden.
0 x
Benutzeravatar

bambaataa
Beiträge: 53
Registriert: Mi 27. Nov 2019, 06:36
Wohnort: Rot am See
Vorhandene Echos: 3
Vorhandene Echo Dots: 3
Kontaktdaten:

Mi 23. Sep 2020, 05:33

IFTTT wird wohl bald nur noch mit 3 Applets kostenlos sein.
0 x
Gesperrt

Zurück zu „Timer und Wecker“

  • Information