+ Antworten
Seite 1 von 13 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 122
  1. #1
    Registriert seit
    Oct 2015
    Beiträge
    152

    Standard Alexa Custom Skill Modul

    Update: Bitte verwendet stattdessen jetzt dieses Modul:
    Patami Alexa Skill Framework



    Hallo zusammen,

    Nachdem ich nun einige Wochen schon ein Amazon Echo Dot habe, und richtig begeistert bin, habe ich mit einige Skripte zum Handling der Anfragen von Alexa Custom Skills geschrieben.

    Um die Funktionalität besser zu kapseln und auch anderen IP-Symcon Usern zur Verfügung zu stellen, habe ich eine Bibliothek mit einigen IP-Symcon PHP Modulen erstellt.

    Eine Anleitung zur Installation und den Link zum Git-Repository findet ihr hier:
    Browse Patami / IP-Symcon Modul - Alexa Skills - Braintower SCM

    Über Rückmeldungen, Ergänzungen, Bugreports und Anregungen freue ich mich jetzt schon.

    Viele Grüße,
    Florian
    Geändert von patami (01.07.17 um 11:47 Uhr)

  2. #2
    Registriert seit
    Jan 2009
    Beiträge
    35

    Klingt gut! :-)

    Aktuell hab ich ein Problem beim Abspeichern von Intent Schema und Sample Utterances. Amazon sagt:

    "Error: There was a problem with your request: Unknown slot type 'Information_Subjects' for slot 'subject'"

    Ein bei der Übernahme von Braintower zerbrochenes "ü" habe ich dabei schon repariert.

  3. #3
    Registriert seit
    Jan 2009
    Beiträge
    35

    Ok, bin etwas weiter. Sehe ich es richtig, dass man im Interaction Model den Custom Slot Type Information_Subjects noch anlegen muss? Und vermutlich hat dieser diese Werte:

    bibliotheken
    module
    instanzen
    skripte
    variablen

    Richtig?

    Bei "Alexa, frage Demo" erhalte ich jetzt allerdings folgendes Feedback:

    Code:
    {
      "version": "1.0",
      "response": {
        "outputSpeech": {
          "type": "PlainText",
          "text": "Der angeforderte Skill konnte nicht ausgeführt werden weil der LaunchRequest Intent nicht konfiguriert ist."
        },
        "shouldEndSession": true
      },
      "sessionAttributes": {}
    }

  4. #4
    Registriert seit
    Jan 2009
    Beiträge
    35

    Ja gut, mit dem Custom Slot Type habe ich wohl richtig gelegen und dann habe ich noch beim WebHook unter "Diesen Inten ausführen, wenn der Skill ohne Kommando aufgerufen wird" die Instanz "InformationSubjectResponse" hinterlegt. Das scheint mir entsprechend deiner Beschreibung der richtige Eintrag. Ich erhalte dann aber auf "Frage Demo" nur die Antwort "Ich weiß nicht, auf was du antwortest". Wenn ich das Script richtig verstehe, dann müsste dort eigentlich "Ich kann Dir die Anzahl der Bibliotheken, Module, Instanzen, Skripte oder Variablen nennen." zurückgeliefert werden?

  5. #5
    Registriert seit
    Oct 2015
    Beiträge
    152

    Cool, danke für die schnelle Rückmeldung!
    Ich versuche mal eure Probleme zu reproduzieren und melde mich in Kürze wieder!

  6. #6
    Registriert seit
    Oct 2015
    Beiträge
    152

    Zitat Zitat von tkaufmann Beitrag anzeigen
    Aktuell hab ich ein Problem beim Abspeichern von Intent Schema und Sample Utterances. Amazon sagt:
    "Error: There was a problem with your request: Unknown slot type 'Information_Subjects' for slot 'subject'"
    Das hat in der Tat in der Anleitung gefehlt. Es gibt im Git-Repository eine Textdatei, die die notwendigen Informationen enthält. Die Anleitung in der Readme habe ich korrigiert, jetzt ist das Anlegen des Slot Types enthalten.

    Zitat Zitat von tkaufmann Beitrag anzeigen
    Ein bei der Übernahme von Braintower zerbrochenes "ü" habe ich dabei schon repariert.
    Das konnte ich nicht nachvollziehen. Was meinst Du genau damit? Kannst Du bitte beschreiben, was Du genau tust?

  7. #7
    Registriert seit
    Oct 2015
    Beiträge
    152

    Zitat Zitat von tkaufmann Beitrag anzeigen
    Ok, bin etwas weiter. Sehe ich es richtig, dass man im Interaction Model den Custom Slot Type Information_Subjects noch anlegen muss? Und vermutlich hat dieser diese Werte:

    bibliotheken
    module
    instanzen
    skripte
    variablen

    Richtig?
    Richtig, siehe meine erste Antwort. Die Anleitung ist korrigiert. Aber Du hast es schon richtig gemacht

    Zitat Zitat von tkaufmann Beitrag anzeigen
    Bei "Alexa, frage Demo" erhalte ich jetzt allerdings folgendes Feedback:
    Code:
    {
      "version": "1.0",
      "response": {
        "outputSpeech": {
          "type": "PlainText",
          "text": "Der angeforderte Skill konnte nicht ausgeführt werden weil der LaunchRequest Intent nicht konfiguriert ist."
        },
        "shouldEndSession": true
      },
      "sessionAttributes": {}
    }
    Hier hatte leider auch noch etwas in der Anleitung gefehlt, was ich ergänzt habe. Du musst auf der Konfigurationsseite des WebHooks den LaunchRequest Intent konfigurieren und dort auf den GetInformation Intent verweisen. Alexa sendet an den WebHook diese LaunchRequest Anfragen, wenn dem Skill kein Kommando übergeben wurde. Wenn Du nur "Alexa, frage Demo" sagst, wird kein Kommando übergeben. Wenn Du "Alexa, frage Demo nach Informationen" fragst, matched das hingegen gegen die Sample Utterances und ruft mit einem IntentRequest direkt GetInformation auf. Der Intent wird hier dann denselben Satz ausgeben, da bei dieser Anfrage immer noch der "subject" Slot leer ist und der Intent diese Information dann von Dir abfragt.

  8. #8
    Registriert seit
    Oct 2015
    Beiträge
    152

    Zitat Zitat von tkaufmann Beitrag anzeigen
    Ja gut, mit dem Custom Slot Type habe ich wohl richtig gelegen und dann habe ich noch beim WebHook unter "Diesen Inten ausführen, wenn der Skill ohne Kommando aufgerufen wird" die Instanz "InformationSubjectResponse" hinterlegt.
    Nein, das ist der falsche Intent. Siehe meine anderen Antworten. Aber für alle neuen (Beta-)Tester sollte es jetzt passen, die Anleitung habe ich gefixed.

  9. #9
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,695

    Zitat Zitat von patami Beitrag anzeigen
    Über Rückmeldungen, Ergänzungen, Bugreports und Anregungen freue ich mich jetzt schon.
    Vielen herzlichen Dank für das zur Verfügung stellen von deinem Ansatz.

    Ich habe mir das nur erstmal grob angeschaut.

    Meine ersten Anmerkungen bzw. Beobachtungen:

    • das Aktion Skript kannst Du ja eigentlich auch gleich komplett anlegen, statt erst eines anzulegen und dann den Nutzer den Inhalt erneut reinkopieren zu lassen
    • im Aktion Skript fehlt das ?> am Schluss
    • nach dem Einrichten kommt bei mir als Rückmeldung auf einen LaunchIntent als Antwort Ich weis nicht auf was Du antwortest


    Im Debug steht
    Code:
    Session controller                             Not set
    Aktion                                         Forward to session controller
    Forward to Session controller                  Session controller not set

  10. #10
    Registriert seit
    Oct 2015
    Beiträge
    152

    Zitat Zitat von Fonzo Beitrag anzeigen
    Vielen herzlichen Dank für das zur Verfügung stellen von deinem Ansatz.
    Gerne

    Zitat Zitat von Fonzo Beitrag anzeigen
    das Aktion Skript kannst Du ja eigentlich auch gleich komplett anlegen, statt erst eines anzulegen und dann den Nutzer den Inhalt erneut reinkopieren zu lassen
    Könnte ich tun, allerdings wird ein etwas einfacheres, aber dennoch funktionsfähiges Skript verwendet. Aus meiner Sicht macht es nicht so viel Sinn, jedes Mal das Demo Skript als Basis für ein neues Aktions-Skript zu verwenden.

    Man könnte jedoch darüber nachdenken, einen eigenen Button zum Erstellen des Skriptes zu verwenden, um dem Benutzer die Arbeit abzunehmen. Im "manuellen Ansatz" sehe ich jedoch den Vorteil, dass man die Zusammenhänge besser versteht.

    Zitat Zitat von Fonzo Beitrag anzeigen
    im Aktion Skript fehlt das ?> am Schluss
    Also

    In "Standard PHP" ist es Best Practice, das schließende ?> Tag nicht zu verwenden, da nach diesem Tag folgende Zeichen (evtl. Leerzeilen) unter Umständen als HTML Text ausgegeben werden. Am Ende einer Datei wird das PHP-Skript-HTML-Tag automatisch implizit geschlossen.

    Ich gehe davon aus, dass es in IP-Symcon's PHP auch so ist, jedenfalls hatte ich noch nie Probleme damit.

    Das ist der Grund, wieso das so ist. Ist also Absicht

    Zitat Zitat von Fonzo Beitrag anzeigen
    nach dem Einrichten kommt bei mir als Rückmeldung auf einen LaunchIntent als Antwort Ich weis nicht auf was Du antwortest

    Im Debug steht
    Code:
    Session controller                             Not set
    Aktion                                         Forward to session controller
    Forward to Session controller                  Session controller not set
    Ich vermute, dass Du den LaunchIntent auf den *InformationSubjectResponse* Intent und nicht auf den *GetInformation* Intent gesetzt hast.

Ähnliche Themen

  1. Amazon Echo Skill & Modul
    Von DaveRichter im Forum Amazon Alexa
    Antworten: 1265
    Letzter Beitrag: 26.10.18, 07:18
  2. Amazon CUSTOM Skill
    Von MikeLima im Forum PHP-Module
    Antworten: 10
    Letzter Beitrag: 28.12.16, 12:34
  3. Wird es einen Smart Home Skill für Alexa geben?
    Von sschnake im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 10.11.16, 19:40
  4. Custom Slider
    Von traxanos im Forum Allgemeine Diskussion
    Antworten: 4
    Letzter Beitrag: 30.09.15, 13:36

Stichworte