FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: kawa0815 am 11 Juni 2017, 02:14:15

Titel: Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: kawa0815 am 11 Juni 2017, 02:14:15
Amazon hat ja darüber informiert, dass man mit dem Echo demnächst eine Notifikation realisieren will.

Allerdings will man keine direkte Sprachausgabe realisieren sondern man will den Echo die Meldung signalisieren lassen und erst wenn der User nachfragt, die eigentliche Meldung ablaufen lassen.

Schon lange suche ich nach einer Möglichkeit Alarmmeldungen aus fhem auf dem Echo ausgeben zu können. Dabei bin ich auf die Seite von Thorsten Gehrig gestoßen.

https://www.gehrig.info/alexa/Alexa.html (https://www.gehrig.info/alexa/Alexa.html)

Er zeigt da die Möglichkeit mittels Script TuneIn- Radiostationen über den Echo abzuspielen.

Auch ist es möglich eigene hochgeladene mp3- Files mittels Script abzuspielen.

Man legt also einen Trigger für den Alarm in fhem an, der nach Auslösung die Alarmmeldung in einen Dummy schreibt und anschließend das Script aktiviert. Dieses spielt das MP3- File auf dem Echo ab.
Wenn man den Alarm hört, sagt man ,,Alexa, frage fhem was ist los" und Alexa gibt als Antwort den Inhalt des mittels Trigger gesetzten Dummy aus.

Bei mir löst der Trigger aus, wenn ein Fenster länger als 15 Minuten geöffnet ist.
Mein Echo spielt eine Alarm Meldung ab.
Ich sage ,,Alexa, frage fhem was ist los"
Alexa antwortet dann ,,Deine Frau hat schon wieder das Schlafzimmerfenster offen gelassen".

Hier ist mal mein, nach der Anleitung von Thorsten Gehrig geschriebenes Script.
Wichtig ist, dass man erst das File auf Amazon mittels AmazonMusic hochläd, dann in der Alexa-App nicht TuneIn, sondern das hochgeladene File auswählt und die Daten aus ,,queue-and-play,, verwendet.

alarm-fhem.sh


#!/bin/bash
DEVICENUMBER='G0815ABCDECX'
DEVICETYPE='ABCDE123456789'
CUSTOMERID='123456789ABCDE'
COOKIE='Cookie: x-amzn-dat-gui-client-v=1.24.2112.0; csrf=556644889; session-id=254-4558813-12345687; session-id-time=20821234567; ubid-acbde=251-7774461-78654321; session-token="uQxxrqPlPSYg2FAGG/n5/6ErA8j8AKA20MeuGM4Bogvd7aqtn1U7u97sIIOg9/MIk1LUGrdHCUQHPxdinb14Zj8/+wujCNnzlgUZApGqfJYdU/MFESgmHG4eThTEJJ6JV11ZzX7/ozHzFc7OpnVyHeen7KWf7bXVyYS5RGmGcEnR3SeaZ38SSAbWdmJApnCwpEKVk5X3dX9YApsqwHBES0/bjRpFDkf+i7xhU3+coc8YR1Y="; x-acbde="j38M@P4?wVqF7RaHHJc7GUxTnb4MR?xH"; at-acbde=Atza|IwEBIPguWvlggG0OFjYaX2fxH9Z5HE3P63BInqJ2FA8xfG1HY1-PbKi5l1b_zfMmcJzNY37fRRVb7Wcyt2EGL34H_WaDk5XIUpMQA1sL2j7Yx8h-A8ukeO1fRTYYfynEADQZSBUHWbM_gZekuK9vFRTr-38M@P4?wVqF7RaHHJc7GUxTnb4MR?xH-Ip3gf_5Mfrkrx9_NBOrXZu6lDqy7aQ-719bXPUojTf3pmyPBcW1mTLDMFMdXwrLVgapsmx4PUnuy03QKShbAafNFwM-i98JINhAfHl7YqlfXvFzXidr5-bdsj-5r-HXsTADexf1Il2GhTcPs3Jz-A20MeuGM4Bogvd7aqtn1U7u97sIIOg9-qfTgfKxL8LHR6Q3y-XCr9a8VajfirMh8wBsqI-BFhz9A2wQARkQYFJTN0FBFwMfoS6H8eClp6ZBqhTxnVBVUWXug_yxyuet90G-YxQ2fKA5ZTmJoyrMMgCdpCSKQ1qRe5O3iFAC7MsRZaxA; sess-at-acbde="P8NTp+o/mKu4K5Y9FP/M11234567/t+b0pTNQm1Ws0M="'
CSRF='csrf: 556644889' 

TRACKCMD='{"playlistId":"IMPORTED-V0-OBJECTID","playlistTitle":"Importiert","initialTrackIndex":1,"trackId":"4f48d3b4-3e66-474a-a242-452113b0c63e","playQueuePrime":false}'

#echo "${TRACKCMD}"
URL='https://layla.amazon.de/api/cloudplayer/queue-and-play?deviceSerialNumber='$DEVICENUMBER'&deviceType='$DEVICETYPE'&contentType=station&callSign=&mediaOwnerCustomerId='$CUSTOMERID
curl $URL \
-H "$CSRF" \
-H "$COOKIE" \
--data "${TRACKCMD}" \
--compressed

Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: amenomade am 12 Juni 2017, 12:08:29
ZitatAllerdings will man keine direkte Sprachausgabe realisieren sondern man will den Echo die Meldung signalisieren lassen und erst wenn der User nachfragt, die eigentliche Meldung ablaufen lassen.
Wie funktioniert das genau? Alexa blinkt irgendwie, und man muss sagen "Alexa, sag was?"
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: kawa0815 am 14 Juni 2017, 17:18:51
Wie das dann bei Amazon funktioniert kann ich nicht genau sagen.

Bei mir funktioniert das so:

Ein Fenster im Haus wird geöffnet,
Fhem startet darauf hin ein Script und dieses bewirkt, dass Alexa auf dem Echo eine MP3- Datei abspielt.
Die kann man selber gestalten und es sind auch verschiedene Dateien möglich.

Meine MP3- Datei ist "Achtung, im Haus ist ein Alarm aufgetreten.

Ich frage darauf hin Alexa " Was ist los?" und Alexa gibt dann den eigentlichen Alarm als Text aus.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 20 Juli 2017, 12:27:13
Hallo,

klingt recht interessant! Das möchte ich auch ausprobieren!

Wo muss denn die alarm-fhem.sh liegen?

Und wie starte ich dieses Script?

LG
Marlen
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 20 Juli 2017, 23:25:27
Guten Abend,

bei mir schaut das so aus:

TRACKCMD='{""playlistId^\^":^\^"IMPORTED-V0-OBJECTID^\^",^\^"playlistTitle^\^":^\^"Importiert^\^",^\^"initialTrackIndex^\^":1,^\^"trackId^\^":^\^"e7a26d92-96d9-4bbb-9db1-1dc2afa68c57^\^",^\^"isoTimestamp^\^":^\^"2017-07-20T20:49:26.601Z^\^",^\^"playQueuePrime^\^":false}'

Müssen die ^ ersetzt werden?
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Prof. Dr. Peter Henning am 22 Juli 2017, 10:34:16
Die meisten meiner Sprachmeldungen sind vorgefertigt als MP3 - etwa "Die Hauseingangstür ist offen". Zur Sprachsynthese habe ich schon seit Jahren TTS Ivona mit der Stimme von Marlene verwendet. Ivona wurde von Amazon aufgekauft, kann jetzt als Amazon Polly für denselben Zweck genutzt werden. Für die wesentlichen Events braucht es also keine erneute TTS-Synthese (außerdem muss Amazon nicht wissen, welche Events hier ablaufen...), sondern es wird einfach die MP3-Datei abgespielt. Und zwar
- auf Tablets
- auf meinen Echos, die per BT an ein Tablet gekoppelt sind

Also ist das zunächst einmal nichts Neues - ob die Datei nun auf dem Tablet liegt, oder erst von Amazon geschickt werden muss, ist von Ergebnis her weitgehend gleich. Allerdings treten natürlich bei der Amazon Cloud-Lösung auch Latenzproblem auf.

LG

pah
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: kawa0815 am 22 Juli 2017, 18:08:20
Zitat von: Marlen am 20 Juli 2017, 23:25:27
Guten Abend,

bei mir schaut das so aus:

TRACKCMD='{""playlistId^\^":^\^"IMPORTED-V0-OBJECTID^\^",^\^"playlistTitle^\^":^\^"Importiert^\^",^\^"initialTrackIndex^\^":1,^\^"trackId^\^":^\^"e7a26d92-96d9-4bbb-9db1-1dc2afa68c57^\^",^\^"isoTimestamp^\^":^\^"2017-07-20T20:49:26.601Z^\^",^\^"playQueuePrime^\^":false}'

Müssen die ^ ersetzt werden?

Ich habe die Daten aus dem Editor von Chrome kopiert, da sind die  ^  nicht drin.
Du musst sowiso aufpassen, dass dein Texteditor mit den Sriptsprachen umgehen kann und die Zeilenumbrüche nicht verfälscht.

Die alarm-fhem.sh kannst du überall hinlegen, sie muss ausführbar gemacht werden und dann aus fhem gestartet.

Mit  {system ("/opt/fhem/fhem-alarm.sh &")} kannst du dann die Datei starten.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Amenophis86 am 23 Juli 2017, 19:12:51
Zitat von: Prof. Dr. Peter Henning am 22 Juli 2017, 10:34:16
Die meisten meiner Sprachmeldungen sind vorgefertigt als MP3 - etwa "Die Hauseingangstür ist offen". Zur Sprachsynthese habe ich schon seit Jahren TTS Ivona mit der Stimme von Marlene verwendet. Ivona wurde von Amazon aufgekauft, kann jetzt als Amazon Polly für denselben Zweck genutzt werden. Für die wesentlichen Events braucht es also keine erneute TTS-Synthese (außerdem muss Amazon nicht wissen, welche Events hier ablaufen...), sondern es wird einfach die MP3-Datei abgespielt. Und zwar
- auf Tablets
- auf meinen Echos, die per BT an ein Tablet gekoppelt sind

Also ist das zunächst einmal nichts Neues - ob die Datei nun auf dem Tablet liegt, oder erst von Amazon geschickt werden muss, ist von Ergebnis her weitgehend gleich. Allerdings treten natürlich bei der Amazon Cloud-Lösung auch Latenzproblem auf.

LG

pah

"Probelem" ist hierbei, dass man ein zweites Gerät haben muss, welches über Bluetooth den Dot bedient. Und, dass es wiederum nicht klappt, wenn man zB mit dem Dot über die Hifi Anlage Musik hört. Daher ist die Lösung direkt über den Dot es zu starten und abzuspielen für mich angenehmer. Werde es die Tage mal testen.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 30 Juli 2017, 20:22:22
Beim mir steht dann in der LogFile
sh: 1: /opt/fhem/alexa-washer.sh: Permission denied

wie kann das sein? Besitzer von der alexa-washer.sh ist fhem!

LG
  Marlen
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: amenomade am 30 Juli 2017, 20:47:39
Auch aufführbar (x) ?
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 31 Juli 2017, 08:38:29
Zitat von: amenomade am 30 Juli 2017, 20:47:39
Auch aufführbar (x) ?

Was  meinst du damit?
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Hollo am 31 Juli 2017, 09:02:50
Er meinte ausführbar  ;D
chmod +x /pfad/zu/mein_Skript
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 31 Juli 2017, 09:10:36
Hmmm.....
jetzt hab ich das im Log
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   202    0     0  100   202      0    729 --:--:-- --:--:-- --:--:--   729


Scheinbar is ja was passiert, aber es kam zu keiner Sprachausgabe!  ::)
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 03 August 2017, 12:49:19
Zitat von: Marlen am 31 Juli 2017, 09:10:36
Hmmm.....
jetzt hab ich das im Log
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   202    0     0  100   202      0    729 --:--:-- --:--:-- --:--:--   729


Scheinbar is ja was passiert, aber es kam zu keiner Sprachausgabe!  ::)

Hat keiner eine Idee...waum es nicht auf der Alexa ausgegeben wird??

LG
  Marlen
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Amenophis86 am 03 August 2017, 15:01:24
Poste mal bitte deine gesamten Script, aber anonymisier die Daten vorher durch einfach XX. Sonst nichts verändern. Ich habe es auch mal nachgebaut und bei mir ging es. Habe es aber bisher nur einmal getestet.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 03 August 2017, 20:43:17
Hier mal mein Script:

#!/bin/bash
DEVICENUMBER='XXXXXXXX04TT'
DEVICETYPE='XXXXXXXXXX6AW2'
CUSTOMERID='XXXXXXXXXXLDIH'
COOKIE='Cookie: x-amzn-dat-gui-client-v=1.24.2294.0; x-wl-uid=1XmcRL6Y8l412Pj8tqFI9fRJCc1Ru/3k4pyxxG14CdwLboKDoirxX9aITS/erGzFSwJ0HWxizWnmZNSdOIcGV5vIRfK62a+CcxCHrqYaig6YfH83yVfYBdOkvQmiMevZXPGvuYPvgNXc=; at-acbde=Atza^|IwEBIGdYb676tq95RWoHhyuqyaZlnV6FYNFrfTuOAP8THDj5sFJavCF-CqHM63-o0ZeF9SuDuYNpE0Qq0DWiAWW6VheGqT-tyCqVsJpWFsfab27GfyNRByJHhllKW-cjGgGNJLP6Drn1wC6rjN3zXqv0Fn0r3_KDTLCK6LH8g5xR4IVgfdTcPOkBtq9s--L_eXlwd5m-i709PeDfReehtlNNfRzk31kMOIJzxvxHq73ynh1cyeUXkH9CnJFWFkngCLOvYFpDGOE9nMSzRF9O0NR4gZ4DBc5RKBPBp-IlfZ7VPr3JvPQAJrkZ9MKjDFa-gnjfbRy9ESCCnVs8dziedovgP7sGg1zbUWv3X3MBVGY7PTLLootNuUHyb0IvWUwZsJYdvLjUtMkX3v-bCCLaV0H_bYn7; sess-at-acbde="pikL1WSPgsdvEWoer4xDMT+GPE8Tl6khbUEIl4xkjCI="; s_cc=true; s_nr=1500583572907-New; s_vnum=1932583572907^%^26vn^%^3D1; s_invisit=true; s_dslv=1500583572907; s_dslv_s=First^%^20Visit; s_c27=201377290; s_sq=^%^5B^%^5BB^%^5D^%^5D; s_ppv=39; x-acbde="P1vYnz7dRZUkTXAW?dSjGYtwlLC2LOw?"; session-token=ngtyC2AvW'
CSRF='csrf: 43XXXXX09'

TRACKCMD='{"playlistId":"IMPORTED-V0-OBJECTID","playlistTitle":"Importiert","initialTrackIndex":1,"trackId":"e7a26d92-96d9-4bbb-9db1-1dc2afa68c57","isoTimestamp":"2017-07-20T20:49:26.601Z","playQueuePrime":false}'

#echo "${TRACKCMD}"
URL='https://layla.amazon.de/api/cloudplayer/queue-and-play?deviceSerialNumber='$DEVICENUMBER'&deviceType='$DEVICETYPE'&contentType=station&callSign=&mediaOwnerCustomerId='$CUSTOMERID
curl $URL \
-H "$CSRF" \
-H "$COOKIE" \
--data "${TRACKCMD}" \
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 03 August 2017, 21:36:51
Hab im Log was übersehen!

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   276  100    16  100   260     51    841 --:--:-- --:--:-- --:--:--   844
{"Message":null}


Das habe ich beim letzten mal übersehen!

{"Message":null}

LG
Marlen
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Amenophis86 am 03 August 2017, 22:38:47
Nachdem ich heute auch mal damit gespielt habe kann ich dir vermutlich sagen woran es liegt.

Dir Session Werte in der Cookie Variablen werden bei jedem neuen Login auf der Alexa Homepage verändert. Damit kann das Script bzw die Werte alt sein und deswegen nicht funktionieren. Allerdings wirft es kein Fehler aus, weil das von der Homepage wohl nicht vorgesehen ist.

Da die Werte dynamisch und nicht fest sind, habe ich das Ganze wieder gelöscht. Habe keine Lust regelmäßig die Daten auszulesen und anzupassen.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: Marlen am 03 August 2017, 22:54:37
Also ändern sich die Variablen quasi jedes mal wenn ich das Script starte??
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: kawa0815 am 13 August 2017, 12:03:08
Zitat von: Marlen am 03 August 2017, 22:54:37
Also ändern sich die Variablen quasi jedes mal wenn ich das Script starte??

Nein, der Cookie ist normalerweise mehrere Wochen gültig. Möglicherweise aber auch nur bis zu einem der Firmwareupdates.

Man kann den Cookie im Script in eine Textdatei auslagern und muss dann nur diese cookie.txt bei abgelaufenen cookie verändern.

Also in etwa so: COOKIE="`cat ./cookie.txt`"
Die restlichen Werte bleiben ja immer gleich.
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: MadMax-FHEM am 21 Oktober 2017, 22:37:57
Evtl. ist das interessant um das mit dem Cookie zu verbessern:

https://forum.fhem.de/index.php/topic,77458.msg701745.html#msg701745

Gruß, Joachim
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: petjek am 10 Mai 2019, 12:44:32
Zitat von: kawa0815 am 11 Juni 2017, 02:14:15
Wichtig ist, dass man erst das File auf Amazon mittels AmazonMusic hochläd, dann in der Alexa-App nicht TuneIn, sondern das hochgeladene File auswählt und die Daten aus ,,queue-and-play,, verwendet.
Wie lädt man denn eigene mp3-Dateien in Amazon Music hoch?
Titel: Antw:Alarm Notifikation aus fhem auf dem Echo.
Beitrag von: TomLee am 10 Mai 2019, 14:56:24
Hallo,

ohne Abo meines Wissens gar nicht mehr (Service wurde von Amazon beendet), mit Abo mit Amazon Music für PC oder Mac.

Gruß

Thomas