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)
13
Erkennung / Handling von mehreren Echo Devices
Es gibt ein Update für den Alexa Receiver v0.7 und den Alexa Custom Command Validator 0.7.
Neues Feature ist nun die Erkennung des Echo Devices, von dem ein Voice Befehl empfangen
wurde.
Damit ist es nun möglich mit demselben Befehl an unterschiedlichen Echo Devices unterschiedliche
Befehle auszuführen:
Das hat aber nichts mit dem Update der Doku zu tun. Das ist schon lange im LBS enthalten.
Ich habe lediglich die neue Doku hochgeladen, welche tger977 erstellt hatte.
Hallo, ich hoffe mir kann jemand auf die Sprünge helfen. Ich hatte die ersten Versionen (v0.2) am laufen. Alles für mich perfekt. Jetzt hat sich mein Raspi verabschiedet und ich habe begonnen alles neu aufzusetzen. Leider komme ich irgendwie nicht auf meinen edomi. Folgendes funktioniert:
Hat hier vielleicht noch jemand einen Tip? Eigentlich bin ich Schritt für Schritt entsprechend Anleitung vorgegangen, ausser, dass ich nicht neu angelegt habe sondern den vorhandenen angepasst habe. Aufgefallen ist mir nur, dass in der log Datei bei Receive eine falsche Uhrzeit drin ist: "timestamp":"2018-03-07T10:46:40Z".
Danke schonmal.
Edit: Ich habe jetzt den alten Skill nochmal gelöscht und dann nochmal komplett neu erstellt, aber leider mit dem gleichen Ergebnis.
"The response is invalid"
Received JSON Request from alexa@amazon ======================================= {"session": {"sessionId":"SessionId.2821e7b3-dc81-4aab-9bd4-52","application":{"applicationId":"amzn1.ask.skill.30_gekürzt"},"attributes":{},"user":{"userId":"amzn1.ask.account.AGPM24AB3I_gekürzt","accessToken":null},"new":true}, "request": {"requestId":"EdwRequestId.e708a954-b23b-401e-ac02-4b","type":"LaunchRequest","locale":"de-DE","timestamp":"2018-03-07T19:32:02Z"},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.30_gekürzt"},"user":{"userId":"amzn1.ask.account.AGPM24AB3I_gekürzt"},"device":{"supportedInterfaces":{}}}},"version":"1.0"} Application ID : OK KeyChain : OK SSL signature : OK Certificate parse : OK SAN in certificate : OK Certificate expiry : OK Timing : OK (1520451122/1520451122) Array ( [session] => Array ( [sessionId] => SessionId.2821e7b3-dc81-4aab-9bd4-52 [application] => Array ( [applicationId] => amzn1.ask.skill.30_gekürzt )
bin ziemlich sicher, dass es ein Problem mit der Kodierung beim ersten kopieren gab. Dann liefert der Skill irgendwelche Sonderzeichen am Anfang und AVS erkennt kein korrektes JSON.Wobei man das in log nicht sehen konnte. Oft sind es aber auch nicht sichtbare Zeichen.
Ich vermute auch, dass ich beim editieren der config-Datei nicht aufgepasst habe und es kein utf-8 mehr war. Jetzt läuft alles wieder wie mit den ersten Versionen.
Also jedenfalls fast. Was ich bisher noch nicht umgesetzt hatte, war die Temperaturabfrage. Das wollte ich nun tun, weiß aber nicht so richtig, was da in den Alexa Custom Command Validator muss. Ich habe mich hier gründlich umgesehen, aber so richtig fündig bin ich leider nicht geworden. Ich habe nur gesehen, dass es "kompliziert war" oder auch viel umgerechnet werden musste, aber kein Beispiel oder ähnliches. Vielleicht kann hier jemand nochmal kurz was zu schreiben. Speziell die Belegung des LBS.
Vielen Dank!
Ich beschreibe mal, was ich versucht habe. Die Antwort ist immer: Bei der Antwort des angeforderten Skill ist ein Fehler aufgetreten.
Temp2.png
vollgendes habe ich eingegeben:
E3: Temperatur Status
E4: Temperaturstatus
E5: Wohnzimmer
E8: Die Temperatur im Wohnzimmer beträgt %1% komma %2%.
Was habe ich falsch gemacht? Ich habe natürlich auch noch viele ander Varianten probiert. Aber es bleibt immer bei der selben Antwort.
Danke!
Wichtig wäre die Anfrage, die du an Alexa stellst und was dann im custom skill log erscheint bzw. in deinem iKO 947.
Es scheint ja in deinem Screenshot so zu sein, dass gar kein Intent ankommt (947 ist leer).
Hallo, ich habe jetzt natürlich noch etwas weiter experimentiert: Temp3.png
Meine Frage ist: Alexa, starte Haus, Wie ist die Temperatur im Wohnzimmer?
PHP-Code:
Received JSON Request from alexa@amazon ======================================= {"version":"1.0","session":{"new":true,"sessionId":"amzn1.echo-api.session.9c2XXXXXXXXXXXXXXXXX","application":{"applicationId":"amzn1.ask.skill.305058c6-3c42-4b01-98XXXXXXXXXX"},"user":{"userId":"amzn1.ask.account.AGPM24ABXXXXXXXXXXXX"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.3050XXXXXXXXX"},"user":{"userId":"amzn1.ask.account.AGPM24AB"},"device":{"deviceId":"amzn1.ask.device.AH24VZIY","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOiJKV1QiLCJ"}},"request":{"type":"LaunchRequest","requestId":"amzn1.echo-api.request.c17a82","timestamp":"2018-03-09T10:28:58Z","locale":"de-DE"}} Application ID : OK User ID : OK KeyChain : OK SSL signature : OK Certificate parse : OK SAN in certificate : OK Certificate expiry : OK Timing : OK (1520591338/1520591338) Array ( [version] => 1.0 [session] => Array ( [new] => 1 [sessionId] => amzn1.echo-api.session.9c20f2d0-153 [application] => Array ( [applicationId] => amzn1.ask.skill.305058c6-3c4 )
{ "version": "1.0", "sessionAttributes": {}, "response": { "outputSpeech": { "type": "PlainText", "text": "Willkommen bei Ihrer EDOMI Smart Home Steuerung" }, "card": { "type": "Simple", "title": "EDOMI", "content": "EDOMI Steuerung gestartet." }, "reprompt": { "outputSpeech": { "type": "PlainText", "text": "Bitte sagen Sie ein EDOMI Kommando" } }, "shouldEndSession": false } }
Received JSON Request from alexa@amazon ======================================= {"version":"1.0","session":{"new":false,"sessionId":"amzn1.echo-api.session.9c20f2","application":{"applicationId":"amzn1.ask.skill.30505"},"user":{"userId":"amzn1.ask.account.AGPM24AB3"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.305058"},"user":{"userId":"amzn1.ask.account.AGPM24AB3"},"device":{"deviceId":"amzn1.ask.device.AH24VZI","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOi"}},"request":{"type":"IntentRequest","requestId":"amzn1.echo-api.request.a4a795","timestamp":"2018-03-09T10:29:06Z","locale":"de-DE","intent":{"name":"Temperature_Status","confirmationStatus":"NONE","slots":{"Temperature_Room":{"name":"Temperature_Room","value":"wohnzimmer","resolutions":{"resolutionsPerAuthority":[{"authority":"amzn1.er-authority.echo-sdk.amzn1.ask.skill.30505","status":{"code":"ER_SUCCESS_MATCH"},"values":[{"value":{"name":"Wohnzimmer","id":"fa9f73"}}]}]},"confirmationStatus":"NONE"},"Praeposition":{"name":"Praeposition","value":"IM","resolutions":{"resolutionsPerAuthority":[{"authority":"amzn1.er-authority.echo-sdk.amzn1.ask.skill.305058c","status":{"code":"ER_SUCCESS_MATCH"},"values":[{"value":{"name":"im","id":"73bebce395b6fbdb4d76"}}]}]},"confirmationStatus":"NONE"},"Article":{"name":"Article","confirmationStatus":"NONE"}}}}} Application ID : OK User ID : OK KeyChain : OK SSL signature : OK Certificate parse : OK SAN in certificate : OK Certificate expiry : OK Timing : OK (1520591346/1520591346) Array ( [version] => 1.0 [session] => Array ( [new] => [sessionId] => amzn1.echo-api.session.9c20f2d0-1539-4e [application] => Array ( [applicationId] => amzn1.ask.skill.30505 )
Received JSON Request from alexa@amazon ======================================= {"version":"1.0","session":{"new":false,"sessionId":"amzn1.echo-api.session.9c20f2d0-15","application":{"applicationId":"amzn1.ask.skill.305058c6-3c"},"user":{"userId":"amzn1.ask.account.AGPM24AB3"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.3050"},"user":{"userId":"amzn1.ask.account.AGPM24AB3"},"device":{"deviceId":"amzn1.ask.device.AH24VZIY7R","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOiJKV1Q"}},"request":{"type":"SessionEndedRequest","requestId":"amzn1.echo-api.request.7832b72","timestamp":"2018-03-09T10:29:09Z","locale":"de-DE","reason":"ERROR","error":{"type":"INVALID_RESPONSE","message":"An exception occurred while dispatching the request to the skill."}}} Application ID : OK User ID : OK KeyChain : OK SSL signature : OK Certificate parse : OK SAN in certificate : OK Certificate expiry : OK Timing : OK (1520591349/1520591349) Array ( [version] => 1.0 [session] => Array ( [new] => [sessionId] => amzn1.echo-api.session.9c20f [application] => Array ( [applicationId] => amzn1.ask.skill.30505 )
Ändere mal E3 zu "temperatur status" und E4 leer lassen, denn Temperaturabfrage hat keinen Namen sondern nur einen Raum.
Die möglichen Abfragen findest du im utterances File. Für Temperaturstatus sind das:
Temperature_Status nach der Temperatur {Praeposition} {Temperature_Room}
Temperature_Status Wie ist die Temperatur {Praeposition} {Temperature_Room}
Temperature_Status Wie hoch ist die Temperatur {Praeposition} {Temperature_Room}
Deine Anfrage ist also korrekt und wird auch korrekt erkannt, denn Temperature_room ist "Wohnzimmer" und Praeposition ist "im".
Was mich trotzdem wundert, ist, dass du einen Fehler bekommst, da der LBS eigentlich als Antwort ein "Okay" an den Skill liefert.
Aber erstmal o.g. Änderungen machen und schauen, ob sich dann was ändert.
Habe es jetzt gerade mal bei mir genau mit deiner Logik nachgebaut. Funktioniert. Ich denke es liegt wirklich an E4 und ggf. an der Groß/Kleinschreibung an E3.
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