Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)
André,
eine Frage noch, ist es möglich eine Scene oder Befehl mit Statusansage zu kombinieren?
z.B aktiviere Szene Nacht und als Antwort "Szene aktiviert, die Eingangstür ist nicht verschlossen".
Ist es generell möglich?
Grundsätzlich sollte das möglich sein. Derzeit wartet der Skill nur auf eine Antwort von EDOMI wenn eine Statusanfrage gemacht wurde. In allen anderen Fällen wird ein "Okay" bzw. wenn $debug=true ist auch ein längerer aber statischer Text als Antwort gegeben. Man könnte sich aber vorstellen, dass grundsätzlich auf eine Antwort von EDOMI gewartet wird. Wenn diese dann leer ist, dann wird die Standardantwort vom Skill (alexa.php) gegeben. Könnte bedeuten, dass die Antwort dann etwas länger braucht als das "Okay" zur Zeit. Aber auch nicht länger als die Statusantworten, die es schon gibt.
das könnte man konfigurierbar machen, so dass man es individuell für jeden Command Validator einstellen kann. werde es mal prüfen und dann ins nächste Update mit reinbringen.
Das wäre wirklich gut- gerade z.B. bei der Ansage von Messwerten würde ich alexa gern die Aussprache vorgeben.
Danke und Grüße,
Gunnar
ersetze mal in der alexa.php in der Funktion buildResponse das Setzen der Variable $response = ' .... mit
PHP-Code:
$response = ' { ... }';
Und dann mal versuchen, ob du SSML senden kannst. Du musst es dann so aufbauen:
HTML-Code:
<speak>This output speech uses SSML.</speak>
Hallo Andrè,
klappt leider so noch nicht. "Bei der Kommunikation mit dem angeforderten Skill ist ein Problem aufgetreten."
Ich schick Dir die /usr/local/edomi/www/data/log/alexa.log mal per PN. Ich meine, man sieht darin, dass offenbar die Erkennung des Tags "<speak> nicht greift- als Typ wird nicht SSML, sondern Plaintext angegeben...
Code:
Status received from EDOMI: {"group":"allgemeiner status","name":"wlanpasswort","location":"","status":"1111","response":" <speak>WLan-Passwort 1111.<\/speak>"}
"type": "PlainText", "text":
"type": "PlainText", "text":
André,
eine Frage noch, ist es möglich eine Scene oder Befehl mit Statusansage zu kombinieren?
z.B aktiviere Szene Nacht und als Antwort "Szene aktiviert, die Eingangstür ist nicht verschlossen".
Ist es generell möglich?
Hi Waleri,
habe das gerade mal implementiert, allerdings wird es vermutlich nicht so einfach funktionieren.
Das liegt daran, dass du vermutlich den Status des KOs haben möchtest, welches du mit dem Sprachbefehl gerade geschaltet hast.
Dieser Schaltvorgang ist aber ja noch gar nicht ausgelöst, wenn der LBS aufgerufen wird, sondern wird erst durch den Ausgang A1/A2 getriggert.
D.h. selbst wenn du auf den "Status Values" Eingang das richtig KO legst, dann hat das natürlich immer noch den Wert vor dem Schaltvorgang.
Hoffe das war verständlich.
Ich habe noch keine Idee, wie man das lösen kann. Denn es müsste eigentlich mit der Antwort gewartet werden, bis der neue Status nach dem Schaltenvorgang am "Status Values" Eingang ankommt. Und erst dann darf man den ResponseText an den Skill zurückschicken.
Wäre das auch mit edomi möglich, hatte da vor 1-2 Wochen mal gefragt nach einer Möglichkeit, ohne externen Zugriff aus dem Internet Alexa trotzdem zu nutzen, das scheint ein Weg zu sein. Wie ist deine Einschätzung zu der Lösung?
Hi André,
Ist verständlich erklärt, in meinem Fall ist es genau das was ich brauche, ich möchte Status vor Türen etc. angesagt bekommen welche Szenen unabhängig sind.
Das wären Computer oder Drucker in Arbeitszimmer vergessen auszuschalten, Terrassentür ist noch offen oder Eingangstür nicht verriegelt.
Alles andere ist natürlich etwas problematisch, da hast du recht.
Das wäre wirklich gut- gerade z.B. bei der Ansage von Messwerten würde ich alexa gern die Aussprache vorgeben.
Hallo,
mit SSML hat es ja noch nicht geklappt- hier ein Workaround, der für Ziffern/Messwerte mit Dezimalpunkt funktioniert:
Die Ansage einzelner Ziffern kann man mit Semikolons dazwischen erzwingen. Messwertausgaben mit Nachkommastelle nehme ich am Dezimalpunkt mit dem "String Zerteilen"-Funktion auseinander und lasse Vor- und Nachkommastellen getrennt mit dem Text "Komma" dazwischen vorlesen.
Bin jetzt bestens über die Außentemperatur und die Min/max-Werte der letzten 12 Stunden im Bilde... ;-)
Werde gleich mal ein Update hochladen. Das enthällt dann:
SSML Unterstützung: dazu muss der Response Text in <speak> </speak> Tags eingefasst sein
Individuelle Alexa Rückmeldung auch bei Kommandos. Dazu einfach den Response Text an E8 setzen. Dies ist dann die Antwort nach Ausführen des Befehls. Wenn nichts angegeben ist, ist die Default Antwort "Okay"
Status-Rückmeldung auch bei Kommandos: Funktioniert genau wie unter 2. beschrieben, nur dass jetzt auch E7 und E9 genutzt werden können.
Wichtig: Wird ein Statuswert verwendet, welcher durch das Schaltkommando verändert wird, so wird diese Änderung nicht berücksichtig, d.h. es wird immer der Wert vor Ausführung des Schaltbefehls zurückgegeben.
Werde gleich mal ein Update hochladen. Das enthällt dann:[LIST=1][*]SSML Unterstützung: dazu muss der Response Text in <speak> </speak> Tags eingefasst sein
Hmm... vielleicht mach ich auch was fasch, aber das funktioniert bei mir nicht.
Wenn ausschließlich die <speak> </speak>-Tags und normaler Text in E8 stehen, wird der Text normal vorgelesen. Sobald weitere SSML-Tags dazukommen, z.B.
kommt die Fehlermeldung "Bei der Kommunikation mit dem angeforderten Skill ist ein Problem aufgetreten". %1% enthält eine 16-stellige Zahl. alexa.log schicke ich Dir per PN.
[*]Individuelle Alexa Rückmeldung auch bei Kommandos. Dazu einfach den Response Text an E8 setzen. Dies ist dann die Antwort nach Ausführen des Befehls. Wenn nichts angegeben ist, ist die Default Antwort "Okay"
[*]Status-Rückmeldung auch bei Kommandos: Funktioniert genau wie unter 2. beschrieben, nur dass jetzt auch E7 und E9 genutzt werden können.
Wichtig: Wird ein Statuswert verwendet, welcher durch das Schaltkommando verändert wird, so wird diese Änderung nicht berücksichtig, d.h. es wird immer der Wert vor Ausführung des Schaltbefehls zurückgegeben.
Teste ich in den nächsten Tagen. Mss mir erst eine Anwendung einfallen lassen, ein paar Ideen gab es hier ja schon.
Freue mich auf euer Feedback.
Der Command-Validator macht echt Spaß... Vielen Dank für die Entwicklung!
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar