« am: 13 Juli 2019, 16:36:16 »
Hallo zusammen,
nachdem ich nun das echodevice seit einigen Wochen erfolgreich bei mir im Einsatz habe und ich damit meinen Echo Dot als Lautsprecher für FHEM nutze, möchte ich nun Spracheingaben über den Echo Dot in FHEM verarbeiten.
Ich habe also ein notify, welches auf das Reading "voice" des echodevice Alias Echo Dot reagiert. Soweit kein Problem.
Nun habe ich festgestellt, dass das Reading manchmal das Wake Word "Alexa" mit anzeigt und manchmal nicht.
Testweise habe ich mir das Event geloggt, jedes Mal, wenn sich das Reading ändert. Das steht dann im FHEM Log:
2019.07.13 14:14:07 3: ECHO_G090L9097123123123 --- voice: alexa wie warm ist es
2019.07.13 14:19:07 3: ECHO_G090L9097123123123 --- voice: wie warm ist es
2019.07.13 14:21:07 3: ECHO_G090L9097123123123 --- voice: alexa wie warm ist es
2019.07.13 14:24:07 3: ECHO_G090L9097123123123 --- voice: wie warm ist das wohnzimmer
2019.07.13 14:34:08 3: ECHO_G090L9097123123123 --- voice: wie warm ist das wohnzimmer
2019.07.13 14:36:08 3: ECHO_G090L9097123123123 --- voice: wie warm ist es im wohnzimmer
2019.07.13 14:37:08 3: ECHO_G090L9097123123123 --- voice: alexa wie warm ist das wohnzimmer
2019.07.13 14:38:08 3: ECHO_G090L9097123123123 --- voice: alexa wie warm ist es im wohnzimmer
2019.07.13 14:43:08 3: ECHO_G090L9097123123123 --- voice: hop hop
2019.07.13 14:44:08 3: ECHO_G090L9097123123123 --- voice: schalte wohnzimmer aus
2019.07.13 14:45:09 3: ECHO_G090L9097123123123 --- voice: wie warm ist es im wohnzimmer
2019.07.13 14:46:09 3: ECHO_G090L9097123123123 --- voice: wie warm ist es im wohnzimmer
Um nun in dem notify auf meine Frage / Befehle an den Echo Dot zu reagieren müsste ich beide Variante des Voice-Reading abfragen:
if ($EVENT eq "voice: alexa wie warm ist das wohnzimmer"){ # tue etwas in FHEM und gebe das Ergebnis über den Echo Dot aus }
if ($EVENT eq "voice: wie warm ist das wohnzimmer"){ # tue etwas in FHEM und gebe das Ergebnis über den Echo Dot aus }
Bei 2, 4 oder 10 IF-Bedingungen mag das noch handhabbar sein. Da ich aber mein Telegram-Notify mit 50 IF-Bedingungen nun sprachlich abbilden möchte, müsste ich 100 IF-Bedingungen in dem notify verfassen. Das Ganze wird dann wenig übersichtlich.
Daher meine Fragen:
1. Gibt es anstatt dem "eq" (für eine exakte Überprüfung der Bedingung) auch ein "contains" um Fragmente innerhalb des Events zu prüfen?
if ($EVENT contains "wie warm ist das wohnzimmer"){ # tue etwas in FHEM und gebe das Ergebnis über den Echo Dot aus }
Damit wäre mir egal, was vor und / oder nach meinem Befehl noch kommt, solange diese Teil enthalten ist, greift die IF-Bedingungen.
2. Wie habt ihr das geregelt um Fragen / Befehle an Alexa über FHEM "beantworten" / ausführen zu lassen?
Wie immer besten Dank.
« Letzte Änderung: 13 Juli 2019, 16:43:26 von Felix_86 »

Gespeichert
MfG,
Felix
RPi3 B, FHEM 5.9, ca 260 Device
CUL, IT, TCM97001, HUEBridge, HUEDevice, mailcheck, readingsGroup, alexa, SYSMON, TelegramBot, Weather (OWM), FRITZBOX, PRESENCE, DWD, UWZ, at, notify, FileLog, DOIF, HTTPMOD, SVG, TRAFFIC, dummy, weblink, echodevice, CUL_TX, EspLedController