NEWS
Response von Text2Command von Alexa ausgeben lassen
-
Hallo
Da man ja nun mit dem Alexa2-Adapter Text über Alexa ausgeben lassen kann, möchte ich den SayIt Adapter, der über Akivboxen am Raspi Text ausgibt durch Alexa ersetzen und die Aktivboxen entsorgen.
Ich habe nun versucht die Ausgabe der Response vom Text2Command Adapter auf den Alexa Speak Datenpunkt umzuleiten. Aber das funktioniert (aus mir nicht verständlichen Gründen nicht) nur teilweise:
Das heisst: Wenn ich einen Test-Satz im Text2Command Adapter eingebe, dann antwortet Alexa ganz brav.
Wenn ich allerdings über Telegram einen Text an den Adapter schicke, dann bekomme ich zwar im Telegram auch die Antwort (z.B. "Die Temp ist 22 Grad") zurückgeschrieben, aber Alexa beibt stumm.
Warum?
Ich habe das dann versucht über diverse Scripts zu lösen; unter anderem mit Diesem (das ich hier irgendwo gefunden habe)
var idTelegram = "telegram.0.communicate.request"; var idText2CommandResp = "text2command.0.response"; var idAlexaSpeak = "alexa2.0.Echo-Devices.G000MWXXXXXXXXP.Commands.speak"; on({id: idTelegram, change: "any"}, fAusgabe); function fAusgabe(){ var Ausgabe = getState(idTelegram).val; var Keyword = (Ausgabe.slice(1, 5)); log ("Ausgabe:" + Ausgabe); log ("Keyword:" + Keyword); if (Keyword === "Ralf") { log("Telegramm [Ralf] empfangen"); setState("alexa2.0.Echo-Devices.G000MWXXXXXXXXP.Commands.speak"/*speak*/, Ausgabe); } }
Allerdings wird hier dann nicht die Antwort ausgegeben sondern die Frage, wie man am Log sieht
javascript.0 2019-02-03 14:55:17.005 info script.js.common.Statusansagen: Keyword:Ralf javascript.0 2019-02-03 14:55:17.004 info script.js.common.Statusansagen: Ausgabe:[Ralf]Feuchte Bad
Wie hole ich im Script die Antwort ab?
Ich hab dann die Ausgabe im Telegramm Adapter wieder auf Sayit umgebogen und es dann so probiert:
on("sayit.0.tts.text", "alexa2.0.Echo-Devices.G000MWXXXXXXXXP.Commands.speak");
Effekt wie oben: Funktioniert wenn man im Adapter Fragen eingibt, aber nicht wenn man die Frage über Telegram an den Text2Command schickt.
Letzter Versuch war dann
on("text2command.0.response", "alexa2.0.Echo-Devices.G000XXXXXXXXP.Commands.speak");
Gleicher Effekt.
Ratlos.
Habt Ihr eine Idee?
Kann man eigentlich die Frage an Alexa irgendwie dem Text2Command weiterleiten? Dann könnte man sich das IOBroker Custom Skill sparen uns müsste nicht "Frage IObroker ob.." sagen.
Gruss Ralf