101

Bau dir deinen eigenen Fibaro Alexa Echo Skill

by crissxcross21. Januar 2017

Vor kurzem hatte ich dir hier auf siio eine Lösung mit dem Rapberry Pi gezeigt, um verbundene Geräte des Fibaro Home Center mithilfe von Amazon´s Alexa zu steuern. Mit diesem Skill kannst du Geräte nicht nur steuern, sondern auch Informationen abfragen – und du brauchst kein Raspberry Pi.

Sprachassitenten sind momentan stark im Trend und werden, davon bin ich überzeugt, das Thema Smart Home in diesem Jahr vorantreiben. Mehr noch, Sie werden bald so selbstverständlich wie grafische Oberflächen von uns bedient werden.

Bislang gibt es von Fibaro noch kein eigenes Amazon Echo Skill – ist aber schon angekündigt und erste große Veränderungen im Hause Fibaro, wie der Wechsel von home.Fibaro auf das neue Portal „Fibaro-ID“, lassen hoffen das es bald soweit ist. Doch wissen wir stand heute noch nicht, ob Amazon ein Custom Skill umsetzen wird, oder sich an das Amazon Smart Home Skill anbindet. Der Unterschied ist schnell erklärt und dann bin ich mit meinem Vorgeplänkel auch fertig:

Smart Home Skill:
Ermöglicht den generischen Aufruf von Geräten. Bislang ist nur das Steuern von Geräten, wie ein- / ausschalten, dimmen usw. möglich. Auf dieser Basis setzt auch Philips Hue oder die TP-Link Steckdose auf.

Alexa, schalte Waschmaschine ein.

-okay

Custom Skill:
Erfordert einen Invocation Name (Aufrufnamen) vor dem Befehl. Ermöglicht aber auch Informationen abzurufen, wie Beispielsweise die Temperatur in einem Raum, Status von Geräten oder nach offenen Fenstern fragen. Wird genutzt von RWE, Magenta Smart Home und eben von dem hier in diesem Artikel vorgestellten Fibaro Skill.

Alexa, frage Fibaro, welche Fenster sind geöffnet?

-Folgende Fenster sind geöffnet: Fenster Büro, Fenster Kinderzimmer, …

Was ist das, was brauchen wir und ist das gut?

Wie Eingangs beschrieben, benötigen wir keinen Raspberry Pi. Was du dir gleich herunter lädst, ist ein komplettes Skill – so wie es von den Entwicklern auch bei Amazon eingereicht wird. Irgendwie müssen die Entwickler Ihre Arbeit ja auch testen, daher gibt es sogenannte Developer Accounts. Skills welche dort hochgeladen werden, sind automatisch auf dem mit diesem Account verknüpften Amazon Echo verfügbar. Das ist genau den Weg welchen wir nehmen werden.

Aber keine Angst, du musst nicht hart programmieren, ich verspreche dir das es ganz einfach ist – aber mit viel Fleißarbeit verbunden.

Wir brauchen dazu zwei Accounts:

An dieser Stelle in ganz wichtiger Hinweis: Beide Accounts können kostenfrei angelegt werden – aber – der AWS Account ist nur 12 Monate ab dem Datum der Registrierung kostenfrei. Siehe mehr hier. Daher muss bei der Registrierung eine Zahlungsart hinterlegt werden.

Skill von GitHub laden

Das Skill ist wie bereits angeführt keine offizielle Entwicklung von Amazon, sondern wurde wird von Alexander Naumann entwickelt. Sieh das Skill bitte auch so an – es ist nicht offiziell und steckt in der Entwicklung. Es wäre daher fantastisch, wenn Ihr in den Kommentaren Feedback gebt, was noch nicht geht, damit Alex es vielleicht umsetzen kann. Wie du gleich sehen wirst, ist es eine große Fleißarbeit, alle möglichen Variationen der Aufrufe einzuarbeiten. Daher bitten wir hier um eure Unterstützung!

Den Skill kannst du hier herunterladen.

Lade dir das ZIP File (GitHub Seite oben rechts) herunter und entpacke es.

Konfigurieren der index.js

Fibaro Skill Source Code

Fibaro Skill Source Code

In dem ZIP Container findest du eine „index.js“ Datei. Öffne diese mit einem Script-Editor.  Was du benötigst ist:

  • dein Home Center Lite / 2 muss von Aussen per DynDns erreichbar sein. Darauf, wie ein DynDns angelegt und im Router konfiguriert wird möchte ich jetzt nicht eingehen, sonst sprengt es den Rahmen des Artikels. Angabe der URL erfolgt an dieser Stelle ohne dem http Zusatz.
Dein Router ist somit immer über die DynDns Domain erreichbar. Damit auf Port 80 (Webanwendung) deine Fibaro antwortet, musst du diesen Port noch forwarden, also auf deine Fibaro weiterleiten. Sei dir aber bewusst, das du damit eine potentielle Tür zu deiner Fibaro ins Netz stellst. Befehle die via http übermittelt werden sind unverschlüsselt und könnten mitgelesen werden.
  • <PORT> den von Aussen auf das Home Center weitergeleiteten Port
  • <USER> dein Benutzername auf dem Home Center, sollte wenn möglich noch ein „normaler“ Benutzer sein, also noch keine eMail, wie sie derzeit im Zuge der Migration von dem Fibaro Wizard erstellt wird.
  • <PASSWORD> – das zum Nutzer zugehörige Passwort.
  • <APPID> – diese erhältst du im Amazon Developer Center. Dies erkläre ich dir im nächsten Schritt.

Amazon Developer Center

Nachdem du dich im Amazon Developer Center registriert und eingeloggt hast (die Registrierung sollte mit der eMail erfolgen, mit welcher auch dein Amazon Echo verknüpft ist), klickst du oben im Kopfmenü auf Alexa – > Alexa Skills Kit. Hier legst du über den Button „Add a New Skill“ ein neues Skill an.

Developer Center

Developer Center

Der „Skill Type“ bleibt auf „Costum Interaction Model“ (den Unterschied zu den anderen Optionen hatte ich ja Eingangs beschrieben).
Language = German (Deutsch)

Name: Dies ist frei wählbar, das ist der angezeigte Name.
Invoction Name: Das auch frei wählbar, aber viel spannender! Das ist der Aufrufname. Trägst du hier Fibaro ein, heißt folglich der Aufruf:

Alexa, frage Fibaro …

Sobald du auf den Button „Next“ geklickt hast, erhältst du auch die , welche du in die index.js (welche wir eben bearbeitet hatten), an der entsprechenden Stelle einträgst.

Amazon Developer Center - Skill erstellen

Amazon Developer Center – Skill erstellen

Bis zu diesem Punkt ist im Developer Center erstmal Stopp – unsere Fleißarbeit geht dort aber gleich weiter. Daher öffne das AWS Center am besten in einem neuen Tab, so das du dann gleich wieder in das Developer Center zurück wechseln kannst.

Amazon AWS Center

Du hast nun alle benötigten Informationen in die index.js Datei eingetragen?

  • <USER>
  • <PASSWORD>
  • <APPID>
  • <URL>
  • <PORT>

Dann erstelle nun aus beiden *.js Dateien (AlexaSkill.js und index.js) eine ZIP Datei. Wie du das Paket benennst ist völlig egal.
Danach gehst du in dein Amazon AWS Account.

Hier klickst du oben rechts auf die Landesauswahl und wählst: EU (Irland) aus. (Alexa Service ist für EU Frankfurt noch nicht verfügbar).

Amazon AWS - EU Irland auswählen

Amazon AWS – EU Irland auswählen

Danach klickst du oben links auf Services und suchst nach „Lambda“.

Amazon AWS - nach Lambda suchen

Amazon AWS – nach Lambda suchen

Nun erstellt du eine neue Funktion. Wähle „Blank Function“ und als Trigger das „Alexa Skill Kit“.

Amazon AWS - blanc Function erstellen

Amazon AWS – blanc Function erstellen

Im nächsten Schritt wählst du folgende Einstellungen:

  • Name: Frei wählbar, beschreibt deine Funktion- zum Beispiel: Fibaro
  • Runtime: Node.js 4.3
  • Code entry type: Upload a. ZIP file -> hier lädst du das zuvor erstellte ZIP File aus den beiden *.js Dateien hoch
  • Handler: index.handler
  • Role: a costum role -> und auf der sich nun öffnenden Seite wählst du eine der bestehenden Lambda Roles aus, zum Beispiel „lambda_basic_execution
    • als Policy Name: eine bestehende Policy, zum Beispiel: oneClick_lambda_basic_execution
    • mit dem Button „Allow“ rechts unten gehts weiter.
  • Memory 512MB
  • die weiteren Einstellungen bleiben wie voreingestellt.
Amazon AWS Function konfigurieren

Amazon AWS Function konfigurieren

Mit dem Button „Next“ geht es weiter. Hier erscheint noch eine Übersichtsseite und du findest unten rechts den Button „Create function“.  Das wars im AWS Account.

Zurück in den Amazon Developer Account

Auf der linken Seite siehst du quasi den „Fortschritt“. Den Abschnitt „Skill Informationen“ (dort wo du die App-ID erhalten hast, welche du vor dem Upload der ZIP auf AWS in die index.js eingetragen hast), haben wir vorhin bereits abgeschlossen.
Jetzt beginnt die eigentliche Fleißarbeit und viel copy & paste Arbeit.

In dem ZIP File, welches du vorhin von GitHub geladen hattest, waren neben der beiden *.js Dateien eine ganze Reihe Textfiles (*.txt). Diese werden wir gleich ALLE brauchen.
Klicke auf den „Add Slot Type“ Button zwischen den beiden Feldern: Intent Schema und Sample Utterances.

Amazon AWS- Slot Types definieren.

Amazon Developer- Slot Types definieren.

Slot Types:

Für jeden benötigten Slot gibt es eine eigene Textdatei, dessen Inhalt du in den jeweiligen Slot Type kopieren und auf dein Home Center anpassen musst. Die Namen der Slot Types müssen in GROSSBUCHSTABEN eingegeben werden.

Beispiel: Beginne mit der Datei „slot_szenennames.txt. Benenne im AWS den Slot Type nach dem Namen der Textdatei, aber wie bereits beschrieben, in Grossbuchstaben – also: SZENENAMES
Dann öffne die“slot_szenennames.txt“ Datei und kopiere dessen Inhalt um Ihn im Developer Center einzufügen. Der Inhalt muss entsprechend auf deine Szenennamen angepasst werden.

Amazon AWS: Slot Type anlegen

Amazon Developer: Slot Type anlegen

Das ganze ist nun mit allen Dateien zu wiederholen, wobei die Inhalte angepasst werden müssen:

  • slot_areanames.txt -> AREANAMES
  • slot_buttonlabels.txt -> BUTTONLABELS
  • slot_device.txt -> DEVICE -> Name der Geräte anzupassen
  • slot_devicetypes.txt -> DEVICETYPES
  • slot_directtypes.txt -> DIRECTTYPES
  • slot_heatingtypes.txt -> HEATINGTYPES
  • slot_lighttypes.txt -> LIGHTTYPES
  • slot_modulnames.txt -> MODULNAMES -> Name der Virtual Devices anzupassen
  • slot_names.txt -> NAMES
  • slot_rollotypes.txt -> ROLLOTYPES
  • slot_rooms.txt -> ROOMS -> Name der Räume aus dem HC2 1:1 übernehmen
  • slot_roomtype.txt -> ROOMTYPE
  • slot_statuswert.txt -> STATUSWERT
  • slot_szenenames.txt -> SZENENAMES
  • slot_toggles.txt -> TOGGLES
  • slot_variablenames.txt -> VARIABLENAMES -> Name ausgewählten Variablen übernehmen
  • slot_yesno.txt -> YESNO

Für den Abschnitt „Interaction Model“ benötigen wir nun die Textdatei: „intent.txt“. Öffne diese und kopiere dessen Inhalt im Developer Center in das Feld: „Intent Schema“. Gleiches wiederholst du mit der Datei: „Utterance.txt“, dessen Inhalt kopierst du in das Feld: „Sample Utterances“.

Amazon Developer Center: Interaction Model

Amazon Developer Center: Interaction Model

So sollte das ganze dann aussehen:

Amazon AWS - alle Slot Types angelegt

Amazon Developer – alle Slot Types angelegt

Nachdem du deine Fleißarbeit beendet hast klicke auf „Save“, es wird das Build erstellt, das dauert eine Weile, danach geht es mit „Next“ weiter.

Amazon Developer Configuration

Amazon Developer - Configutation

Amazon Developer – Configuration

Du hast es fast geschafft. In dieser Seite wählst du noch als Endpoint: „AWS Lambda ARN (Amazon Recource Name)“ aus. Danach setzt du die Checkbox bei „Europe“. In das Eingabefeld unter Europa kommt die „ARN“ Nummer, welche du im AWS Account findest. Also wechsle nochmal zurück in deinen AWS Account. Wenn du in der Maske der vorhin erstellten Funktion bist, findest du die ARN Nummer ganz oben rechts.

Amazon AWS ARN Nummer

Amazon AWS ARN Nummer

Testen

Klicke nun auf „Save“, nicht auf Next, dann dort gelangst du zu der Maske, um deinen Skill im Amazon Store freizugeben.

Wenn du nun alles richtig gemacht hast, frage Alexa doch ein paar Dinge – wie zum Beispiel:

Alexa, frage Fibaro wie warm ist es im Schlafzimmer ?

Alexa, frage Fibaro wie feucht ist es im Bad ?

Alexa, frage Fibaro welche Fenster sind offen ?

Alexa, sage Fibaro, stelle die Heizung im Wohnzimmer auf 24° für 30 Minuten.

Alexa, sage Fibaro, schalte die Lampen im Büro ein.

.. das Wort Fibaro ist natürlich durch dein eigenes Aktivierungswort zu ersetzen, welches du im Amazon Developer Center im Abschnitt „Skill Information“ angegeben hast.

Hilf mit beim entwickeln!

Wie eingangs beschrieben, steckt dieser Skill noch mitten in der Entwicklung. Alexander, der Entwickler, kann natürlich nicht jedes Gerät zur Verfügung haben oder kommt auf die gleichen Fragestellungen, Aussagen ect wie Ihr. Postet doch bitte in den Kommentaren welche Funktionen Ihr umgesetzt haben möchtet- oder vielleicht schon habt. Alternativ könnt Ihr Fragen auch im Forum stellen, dort wird es wohl einfacher sein euch zu helfen, da Ihr dort auch Screenshots posten könnt. Einen Log findet ihr im Amazon AWS unter: Monitoring -> View logs in Cloudwatch. Wenn Ihr Probleme habt brauchen wir zwingend einen Screenshot des aktuellsten Logs.

Viel Spaß mit Alexa ;-)

About The Author
crissxcross
crissxcross
Hi, ich bin crissxcross, gelernter IT-Systemelektroniker. Beruflich arbeite ich als Produktmarketing-Manager im Bereich Smart Home. Auch privat interessiere ich mich für Smart Home und bin selbst Hausautomatisierer :-) Falls ich nicht vor dem Monitor sitze fotografiere ich gern und bin ein großer Apple Fan.
101 Comments
  • Raif
    21. Januar 2017 at 19:55

    Funktioniert das auch mit dem kleinen Echo Dot oder brauche ich den grossen?

    Lg

    • crissxcross
      22. Januar 2017 at 13:20

      geht sowohl mit dem Dot also auch dem großen Echo

      • Rajco
        23. Januar 2017 at 12:14

        Und was kostet dann der Amazon AWS Account?
        habe da leider keine preise entdecken können.

        Und wird dieser account dann danach noch benötigt wenn mann dann alles fertig hat und nichts mehr verändern will?
        lg

        • Alex
          26. Januar 2017 at 17:22

          Wenn ich es richtig gelesen haben sollte, kostet es nichts, solange man weniger als 1 Million Abfragen im Monat hat und auch den Dienst nicht mehr als 3,2 Millionen Sekunden im Monat nutzt.

          Man braucht das Konto jedoch weiterhin, bis Amazon seien Alexa-Schnittstelle ergänzt hat, dass man die Slots/Intents/utterances dynamisch befüllen kann.
          Dann könnte man das Skill direkt installieren.

  • Mathias
    21. Januar 2017 at 23:04

    Erstmal Mega Lob an den Entwickler! Und an das siio Team für das Tutorial.
    Funktioniert sehr gut. Was mir bisher aufgefallen ist:
    Alexa, wie feucht ist es im Bad: -> Antwort ist: Die Luftfeuchtigkeit im Raum Bad beträgt 63 Dollar / Unit
    Vielleicht kann man das Dollar / Unit noch durch Prozent / % ersetzen?

    • Alex
      22. Januar 2017 at 21:28

      Danke für den Hinweis.
      Ist behoben (neue Version im GitHub).
      (Escaping vom Dollar-Sign hatte gefehlt.)

  • Olli
    22. Januar 2017 at 6:30

    Guten Morgen,

    beim eintragen der Custom Slot Types kommt immer:

    Submit for Certification Next
    Error: There was a problem with your request: Unknown slot type ‚ROOMTYPE‘ for slot ‚Raumtyp‘

  • inet
    22. Januar 2017 at 11:01

    Hi, vielen Dank für die super Anleitung. Werde es aber leider nicht testen da per NAT Port 80 benötigt wird :(
    Wollte mein Haus eigentlich nicht direkt ohne SSL in das Netz stellen :)
    Hoffen wir mal das Fibaro auch bald SSL auf der GUI unterstützen wird …..

    • crissxcross
      22. Januar 2017 at 12:46

      versteh ich voll – daher auch der Hinweis im Artikel. Muss jeder für sich entscheiden.

      • Alex
        24. Januar 2017 at 10:53

        Man könnte noch aufnehmen, dass ein Reverse Proxy hierfür eine gute Lösung wäre.
        Am einfachsten ist dies umzusetzen, wenn jemand ein Synology NAS daheim hat. Ansonsten funktioniert auch bestimmt ein RasbPi oder jeder andere kleine (Linux/Windows-)Server
        Somit lässt sich die Fibaro-API über HTTPS aufrufen.

  • Rajco
    22. Januar 2017 at 11:26

    Wird hier unbedingt das große Amazon Echo benötigt, oder genügt auch nur das kleine Echo DOT 2?

    würde es gerne mal testen aber ungern das große kaufen.

    LG

    • crissxcross
      22. Januar 2017 at 12:45

      geht natürlich auch mit dem Dot – haben ja beide das gleiche Betriebssystem drauf. Die Dinger unterscheiden sich nur in Punkto Hardware.

  • Beijonig
    Beijonig
    22. Januar 2017 at 15:18

    Hallo Zusammen,

    bei mir hat das ganze mit der neuen FIbaro ID nicht funktioniert! (E-Mail Adresse)
    Habe einen neuen Benutzer angelegt und es damit versucht, funktioniert ohne Probleme.

    lg. Beijonig

  • 23. Januar 2017 at 10:46

    Hi erst einmal vielen Dank für den Skill, ich selber entwickel gerade einen SKILL in C#.

    Ich habe mir deinen Skill angeschaut und finde ihn sehr gut, nur den Satzbau könnte man ein bisschen verbessern.

    Wieso du aber nur den temperatureSensor ausliest wenn man das Wort „warm“ verwendet, habe ich nicht ganz verstanden.

    TemperatureIntent Wie ist die Temperatur {Raumtyp} {Raum} in diesen Satz ließt du den Temperatursensor nicht aus?

    Grüße

    • Alex
      24. Januar 2017 at 10:33

      Da verstehe dich leider nicht, was genau meinst du mit:
      „TemperatureIntent Wie ist die Temperatur {Raumtyp} {Raum} in diesen Satz ließt du den Temperatursensor nicht aus?“

      • 24. Januar 2017 at 17:13

        HI,

        TemperatureIntent:

        if (typ==STATE_RESPONSES.Warm)
        In diesem Fall gehst du in diese Schleife und ließt die Temperatur meine Motion Sensor aus.

        Wenn man aber beim Utterance einen Satz nimmt ohne „typ = warm, kalt …… “ bekommt man die wärme nicht ausgelesen.

        Z.b: Wie ist die Temperatur {Raumtyp} {Raum}
        Hier ist der Raumtyp „im“ und Raum „Keller“ bekommt man keine Antwort von Alexa weil man nicht warm,kalt usw im satz vewendet.

        Sorry für die späte Antwort

        • Alex
          24. Januar 2017 at 18:15

          Danke für die Erklärung!
          Welche Version von index.js hast du drauf.
          Bei mir sieht die Stelle seit ein paar Tagen so aus:
          if (typ==STATE_RESPONSES.Warm||typ==STATE_RESPONSES.Temperature)

          Und ich bekomme die Temperatur für den Raum genannt.

          • 25. Januar 2017 at 12:02

            Muss wohl mal wieder updaten.

            Da ich dein Plugin sehr stark teste, könnten wir gerne auch Kontaktdaten austauschen, dann kann ich dir meine Meinungen besser zukommen lassen.

      • DeMaulwurfn
        DeMaulwurfn
        4. Februar 2017 at 8:39

        Hallo Alex,

        Erst einmal ein dickes Lob für diesen Skill! Hier meine entdeckten Probleme:
        Variablen auslesen und oder ändern funktioniert bei mir nicht. Es kommt die Antwort „Bei der Antwort des angeforderten Skill ist ein Problem aufgetreten“ Danach beendet sich der Skill.
        Ich arbeite mit Master / Slave Gateways. Scheinbar kann er die Geräte auf dem Slave nicht finden. Benutze ich „schalte die Lichter….“ kommt „es konnten keine Lichter im Raum…. gefunden werden. Mit Sensoren etc. ebenfalls. wie hell? wie warm?… Die Api gibt die Gerate aber aus! Ideen?

        • DeMaulwurfn
          DeMaulwurfn
          4. Februar 2017 at 10:29

          Gem. Log scheint es die Schreibweise zu sein. Meine Variablen beginnen mit einem Großbuchstaben. Im Log kommt die klein an. Rufe ich die über API in klein auf, geht das auch nicht. Nur die exakte Schreibweise geht.
          /api/globalVariables/Baden (bei mir)
          /api/globalVariables/baden (im Log)

          in der VARIABLENAMES aber korrekt geschrieben.
          Lege ich eine in klein an, kann ich den Status erfragen. Setzen aber nicht. Dann kommt „Der globale Wert $Value ist für die Globale Variable nicht gültig“

          • Oliver
            1. August 2017 at 22:11

            Das gleiche Problem habe ich auch. Groß- und Kleinschreibung ist sehr wichtig und der Code reagiert darauf SEHR sensibel :-(

  • campos
    25. Januar 2017 at 21:24

    Hallo. ich bekomme seit der neuen Version immer wenn ich den Skill starte als erstes : „Ein ungültiger Wert wurde erkannt“. Frage ich dann nochmal zb. nach der Temperatur wird es korrekt angesagt… Ist das momentan so oder ist bei mir was falsch ? Gruß

    • Alex
      26. Januar 2017 at 8:22

      Das habe ich auch gerade festgestellt und kann es mir noch nicht erklären.
      Es sieht so aus, als ob Alexa Probleme hat die Wörter „warm“ oder „Temperatur“ zu erkennen.
      Im Simulator klappt es ohne Probleme, wenn ich es spreche nicht immer.
      Ich untersuche es noch.

      • campos
        26. Januar 2017 at 10:49

        Hey. Danke für die Antwort. Sie sagt bei mir auch : folgende Türen und Fenster sind offnet.. ? :-) Hat glaube ich vorher schon mal richtig „geöffnet“ gesagt. Bekomme auch keine Szene gestartet. Kommt immer : bei der Antwort des angeforderten Skills ist ein Problem aufgetreten. Ist das noch so im Moment ? Vielen Dank. Der Skill ist super und macht richtig Spaß. Top.

        • Alex
          26. Januar 2017 at 11:16

          Kann ich nicht reproduzieren. Sind alle Slots up-to-date?

          Zu dem Problem bei den Szenen: Da hast du recht, da hat sich irgendwann ein Fehler eingeschlichen. Ist nun behoben.
          (zum selber beheben: es muss heißen: „var sceneName=intent.slots.Name.value;“ und nicht „var sceneName=intent.slots“.

        • Alex
          26. Januar 2017 at 11:16

          Danke schön ;)

  • campos
    27. Januar 2017 at 19:34

    Szenen funktionieren jetzt super. Nur bei der Frage : Alexa Frage Fibaro wie warm ist es im Badezimmer kommt noch das mit dem ungültigen Wert. Aber nur bei dieser Frage . ( wenn es um die Temperatur geht.) Bei Frage nach Bewegung – gibt es direkr eine korrekte Antwort… Gruß

  • Daniel
    27. Januar 2017 at 22:36

    Hallo und danke für diesen wirklich praktischen Skill und die ganze Arbeit! Nachdem ich mit meiner Fibaro ID zunächst gescheitert war, funktioniert der Skill nun mit einem separaten Account ziemlich gut. Das könnte vielleicht noch im Text angepasst werden, wo zwar ein klassischer Benutzer empfohlen, aber eine E-Mail Adresse bzw. ID zumindest nicht ausgeschlossen wird.

    Nun besitze ich meinen Echo erst seit heute und hätte daher noch eine Frage, die womöglich auch nichts mit dem Skill selbst zu tun hat: Nachdem ich ein Kommando ausgeführt habe, bleibt der Echo in Bereitschaft für weitere Kommandos an den Skill, sodass ich stets wieder abbrechen muss. Lässt sich dieses Verhalten anpassen?

    Danke vorab!

  • Beijonig
    Beijonig
    31. Januar 2017 at 20:50

    Hallo,
    Gibt es eine Möglichkeit damit meine Sonos lauter und leiser zu stellen? Also einen Slider zu bedienen?

    LG. Beijonig

  • Alex
    1. Februar 2017 at 10:27

    Prinzipiell wäre das möglich. Müsste ich aber noch einbauen, habe bisher nur die Unterstützung von Buttons drinnen.
    Hatte das bisher nicht weiter verfolgt, da es eigentlich sowieso irgendwann ein Sonos-Skill geben soll.
    Bzw für Sonos habe ich mein eigenes Skill bisher, das nicht über die HC2 arbeitet.

    Dennoch könnt eich die Slider-Unterstützung mit einbauen.

    • Alex
      1. Februar 2017 at 10:54

      Ist eingebaut (aber noch nicht getestet, habe im Momen kein VD mit Slider).

      • Beijonig
        Beijonig
        1. Februar 2017 at 16:00

        Hallo Alex,

        das ging aber schnell :-) Erstmal vielen Dank dafür!!!! Kannst du mir noch kurz sagen wie ich die ganze Sache aktualliesiere? Welche Dateien muss ich Tauschen bzw. Ersetzen?

        Lg. Beijonig

        • Beijonig
          Beijonig
          1. Februar 2017 at 17:01

          Habs gefunden! Steht ja bei GitHub hinter wann was geändert wurde (5 hours ago).

          Habe es grade getestet es funktioniert! Vielen Dank für die Umsetzung.

          Ist natürlich ein langer Satz um einfach nur lauter und leiser zu machen.
          Alexa sage Fibaro Stelle Slider Volume auf 30% im Modul Sonos Küche

          Aber immerhin eine Möglichkeit wenn mal keine Hand frei ist :-)

          Lg. Beijonig

          • Alex
            1. Februar 2017 at 17:31

            Schön, dass es geklappt hat :)

            Das „Sage Fibaro“ ist leider notwendig.

            Und kürzer geht leider kaum, man muss das Modul benennen, den Slider und den Wert.

            Theoretisch könntest du natürlich den Code auf feste Werte anpassen, dann würdest du dir Eingaben ersparen.

  • maciey
    2. Februar 2017 at 20:14

    Hi,
    I noticed index.js from AlfAlex GitHub has German translations.
    Do you know if there’s a file with English setup?

    Many thanks

    • Alex
      3. Februar 2017 at 14:10

      No there aren’t. But feel free to create them and post them. I woul like to add them.
      If I will find some time next days I can try to create one too or help you.

  • maciey
    4. Februar 2017 at 12:54

    Hi Alex,

    Thanks for reaching out.
    Sure, I can help you out with the translation. Please bear in mind however, that I will use Google translator for that purpose so my translations may not be perfect. But this should be a good starting point.

    Could you shoot me an e-mail at contactmaciey (at) gmail (dot) com, so we can go over the details?

    Thanks,
    maciey

  • okatzer
    okatzer
    9. Februar 2017 at 15:06

    Hey,
    beim anlegen der AWS-Lambda-Function kann ich als Trigger nicht „Alexa Skill Kit“ auswählen.
    Da gibt es nur :
    API Gateway
    AWS IoT
    CloudFront
    CloudWatch
    Cognito Sync
    DynamoDB
    Kinesis
    S3
    SNS

    Was ist zu Tun?

    Danke,
    Olaf

  • Alex
    9. Februar 2017 at 18:00

    Welche Region ist bei dir eingestellt?
    EU (Ireland)? (das wäre die richtige)

  • Razfaz
    11. Februar 2017 at 9:28

    Hi, also in der index.js wurde wohl vor 3 Tagen etwas geändert.
    USER, PORT etc. wie in der Anleitung oben beschrieben wurde, gibt es in dem File nicht mehr.
    Kann da jemand mal nachschauen?

    Danke und Gruß
    Marco

  • okatzer
    okatzer
    15. Februar 2017 at 7:42

    Hey zusammen,
    hat jemand eine Idee wieso die Anfrage

    „Alexa, frage Fibaro wie ist die Temperatur im Schlafzimmer“

    eine richtige Antwort liefert und warum

    „Alexa, frage Fibaro wie warm ist es im Schlafzimmer“

    mit „ein ungültiger Wert wurde gefunden“ beantwortet wird.
    Wenn man in die Utterance.txt schaut sollte der Intent

    TemperatureIntent Wie {Type} ist es {Roomtype} {Room}

    {Type} = warm
    {Roomtype} = im
    {Room} = Schlafzimmer

    eigentlich funktionieren.

    Gruß, Olaf

  • Alex
    15. Februar 2017 at 9:15

    Könntest du dazu ins Log schauen und prüfen, was Alexa erkannt hat?

    Bzw unter developer.amazon.com beim Service Simulator diesen Satz eingeben und prüfen, was Alexa jeweils erkannt kann?

    Wenn diese Ausgabe kommt, bedeutet es, dass ‚{Type} = warm‘ so nicht erkannt wurde.

    • okatzer
      okatzer
      16. Februar 2017 at 7:26

      Hey, wenn ich den Satz im Simulator eingebe kommt auch die richtige Antwort.

      Hier ist dann der Log vom gesprochenen Satz

      START RequestId: 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Version: $LATEST
      2017-02-15T21:39:11.638Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 session applicationId: amzn1.ask.skill.81313d28-4b07-45a7-8dde-0202110c052c
      2017-02-15T21:39:11.639Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 EchoFibaro onSessionStarted requestId: amzn1.echo-api.request.4dcd7528-33be-4394-ad9e-959286dbff03, sessionId: amzn1.echo-api.session.9569cc6f-8521-40f9-ab6a-c75890842b92
      2017-02-15T21:39:11.639Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 dispatch intent = TemperatureIntent
      2017-02-15T21:39:11.639Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 TemperatureIntent received
      2017-02-15T21:39:11.639Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 { Roomtype: { name: ‚Roomtype‘, value: ‚im‘ }, Type: { name: ‚Type‘ }, Room: { name: ‚Room‘, value: ’schlafzimmer‘ } }
      2017-02-15T21:39:11.679Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Room: schlafzimmer
      2017-02-15T21:39:11.679Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Typ: undefined
      2017-02-15T21:39:11.680Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Trying to find ID for room schlafzimmer
      2017-02-15T21:39:11.680Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Called getJsonRoomFromFibaro
      2017-02-15T21:39:11.858Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Rooms: [{„id“:8,“name“:“Wintergarten“,“sectionID“:8,“icon“:“User1001″,“defaultSensors“:{„temperature“:54,“humidity“:0,“light“:0},“defaultThermostat“:0,“sortOrder“:1},{„id“:9,“name“:“Diele“,“sectionID“:8,“icon“:“room_wardrobe“,“defaultSensors“:{„temperature“:33,“humidity“:0,“light“:0},“defaultThermostat“:0,“sortOrder“:2},{„id“:10,“name“:
      2017-02-15T21:39:11.858Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Parsing data to find room
      2017-02-15T21:39:11.858Z 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Ein ungültiger Wert wurde erkannt
      END RequestId: 300d05d9-f3c7-11e6-8ca1-9d3117cbd320
      REPORT RequestId: 300d05d9-f3c7-11e6-8ca1-9d3117cbd320 Duration: 222.41 ms Billed Duration: 300 ms Memory Size: 512 MB Max Memory Used: 30 MB

      Das ist der Log vom Simulator

      START RequestId: 6568cd6c-f410-11e6-83ac-a1d12a6a953c Version: $LATEST
      2017-02-16T06:23:14.533Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c session applicationId: amzn1.ask.skill.81313d28-4b07-45a7-8dde-0202110c052c
      2017-02-16T06:23:14.534Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c EchoFibaro onSessionStarted requestId: EdwRequestId.ab5bc1ae-6a1a-41e6-b842-774d768886c4, sessionId: SessionId.3e93b88c-ac11-48b8-bc7b-dae0487fe8ed
      2017-02-16T06:23:14.534Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c dispatch intent = TemperatureIntent
      2017-02-16T06:23:14.535Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c TemperatureIntent received
      2017-02-16T06:23:14.535Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c { Roomtype: { name: ‚Roomtype‘, value: ‚im‘ }, Type: { name: ‚Type‘, value: ‚warm‘ }, Room: { name: ‚Room‘, value: ’schlafzimmer‘ } }
      2017-02-16T06:23:14.566Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Room: schlafzimmer
      2017-02-16T06:23:14.566Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Typ: warm
      2017-02-16T06:23:14.567Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Trying to find ID for room schlafzimmer
      2017-02-16T06:23:14.567Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Called getJsonRoomFromFibaro
      2017-02-16T06:23:14.749Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Rooms: [{„id“:8,“name“:“Wintergarten“,“sectionID“:8,“icon“:“User1001″,“defaultSensors“:{„temperature“:54,“humidity“:0,“light“:0},“defaultThermostat“:0,“sortOrder“:1},{„id“:9,“name“:“Diele“,“sectionID“:8,“icon“:“room_wardrobe“,“defaultSensors“:{„temperature“:33,“humidity“:0,“light“:0},“defaultThermostat“:0,“sortOrder“:2},{„id“:10,“name“:
      2017-02-16T06:23:14.749Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Parsing data to find room
      2017-02-16T06:23:14.750Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Temperature
      2017-02-16T06:23:14.750Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Called getJsonDataFromFibaro
      2017-02-16T06:23:14.864Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Result: [{„id“:466,“name“:“TempBett“,“roomID“:10,“type“:“com.fibaro.temperatureSensor“,“baseType“:“com.fibaro.multilevelSensor“,“enabled“:true,“visible“:true,“isPlugin“:false,“parentId“:463,“remoteGatewayId“:0,“viewXml“:false,“configXml“:false,“interfaces“:[„battery“,“zwave“,“zwaveWakeup“],“properties“:{„batteryLevel“:100,“pollingTimeSe
      2017-02-16T06:23:14.864Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Found one: 18
      2017-02-16T06:23:14.865Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Called getJsonDataFromFibaro
      2017-02-16T06:23:14.979Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Result: [{„id“:66,“name“:“HK_Schlafzimmer“,“roomID“:10,“type“:“com.fibaro.thermostatDanfoss“,“baseType“:“com.fibaro.hvac“,“enabled“:true,“visible“:true,“isPlugin“:false,“parentId“:65,“remoteGatewayId“:0,“viewXml“:false,“configXml“:false,“interfaces“:[„battery“,“zwave“,“zwaveProtection“,“zwaveWakeup“],“properties“:{„batteryLevel“:46,“pol
      2017-02-16T06:23:14.980Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Found one: HK_Schlafzimmer
      2017-02-16T06:23:14.980Z 6568cd6c-f410-11e6-83ac-a1d12a6a953c Die Temperatur im Raum schlafzimmer beträgt 18 Grad. Das Thermostat steht auf 18.00 Grad.
      END RequestId: 6568cd6c-f410-11e6-83ac-a1d12a6a953c
      REPORT RequestId: 6568cd6c-f410-11e6-83ac-a1d12a6a953c Duration: 448.64 ms Billed Duration: 500 ms Memory Size: 512 MB Max Memory Used: 31 MB

      Ich hoffe das hilft weiter
      Gruß Olaf

      • Alex
        16. Februar 2017 at 9:37

        Das was ich „befürchtet“ habe, Alexa hat aus irgend einem Grund dein „warm“ nicht erkennen wollen….
        Type: { name: ‚Type‘ }
        Hier fehlt: value: ‚warm‘

        War der gesprochene Satz wirklich zu 100% identisch zu dem eingegebenen? Falls nicht,, kann man ggf. was an den Utterances ändern.

        • okatzer
          okatzer
          16. Februar 2017 at 9:49

          Der Satz war genau so gesprochen und ich hab auch mal versucht die Geschwindigkeit zu ändern.
          Auch hab ich versucht das „warm“ extrem deutlich auszusprechen.
          Hat aber nichts gebracht. Funzt es denn bei Anderen?

          Hab da noch ein anliegen. „warm“ und „kalt“ sollte beides gehen. Hab es in den „STATUSVALUE“ hinzugefügt, aber im Simulator funzt es dann nicht.

          Der Satz: „Wie kalt Ist es im kühlschrank“ führt zur Service Response

          {
          „version“: „1.0“,
          „response“: {
          „outputSpeech“: {
          „type“: „PlainText“,
          „text“: „Ein ungültiger Wert wurde erkannt“
          },
          „shouldEndSession“: true
          },
          „sessionAttributes“: {}
          }

          „Wie warm ist es im Kühlschrank“ gibt die richtige Temperatur aus.

          • okatzer
            okatzer
            16. Februar 2017 at 10:27

            OK, es reicht nicht die STATUSVALUE anzupassen auch index.js und languagefile.js muss auch angepasst werden.
            Jetzt funzt es mit dem Simulator, ob auch die Sprache geht muss ich heute Abend testen.

          • Alex
            16. Februar 2017 at 10:56

            Sollte nun gehen

  • Gerd Buchholz
    15. Februar 2017 at 18:43

    Hi!
    Klasse tutorial, danke fürs teilen!
    Bevor ich mich dran mache, habe ich aber ein paar grundsätzliche Fragen:
    Ich besitze Alexa und würde gerne mit Ihr die Haustechnik steuern. – Dabei geht es mir eher um Kommandos an die Aktoren, weniger um Status-Abfragen.
    – Wenn ich die Abfragen nicht brauche, macht es trotzdem Sinn dieses Skill zu benutzen? – Mich würde z.B. eher stören, wenn ich jedesmal sagen muss: „Alexa SAG FIBARO…“ – Mir wäre es viel lieber ich würde einfach sagen „Alexa, Licht im Wohnzimmer an“.
    – Kann dies dieses Skill oder sollte ich dann lieber den anderen Weg (über Rasperry Pi) gehen?
    – Oder lieber auf die offizielle Implementierung durch Fibaro warten?
    – Ich möchte auch ungewöhnliche Dinge (z.B. über einen IR Extender) automatisieren. Brauche ich für solche Dinge solch ein Skill, da die offizielle Anbindung eher Standard-Befehle erkennen wird?
    Andere Frage bzgl. des öffnen des Ports 80:
    – Anscheinend kann man sich dann leichter ins System einhacken. – Kann der Angreifer dann nur ins HC2 oder auch leichter andere Computer im selben Netzwerk angreifen? – Wenns nur der HC2 wäre, würde ich das Risiko eingehen.
    Vielen Dank für Eure Antworten, Gerd

    • boomx
      15. Februar 2017 at 22:17

      Hi…

      komme mal direkt zu deinen Fragen:

      1. Bei diesem Skill musst du immer den Zusatz mit Fibaro nutzen. Möglicherweise ist dies aber auch bei dem offiziellen Fibaro-Skill so. Weiß man derzeit leider nicht…
      2. Nein, da musst du den anderen Weg gehen.
      3. Siehe oben ^^
      4. Dafür brauchst du solch ein Skill. Wie die offizielle Anbindung kann dir leider keiner sagen. Vielleicht funktioniert dies dort ohne Probleme.
      5. Du öffnest damit dein gesamtes Netzwerk. Die Port-Freigabe muss ja auf deinem Router durchgeführt werden, wodurch dieser natürlich angreifbar wird.

      Gruß

      • Alex
        16. Februar 2017 at 9:40

        Zu 5.) würde ich raten, einen Reverse Proxy mit HTTPS Zugriff und Authentifizierung einzurichten, am einfachen ist das, wenn du schon einen „Server“ (Synology NAS, Raspberry Pi“ daheim hast.
        Genau auf diesem Server würde ich dann zur Steuerung die HABridge installieren, solange es noch nicht das Skill von Fibaro gibt.

  • okatzer
    okatzer
    16. Februar 2017 at 9:42

    Hey,
    ich hab das Gefühl im Forum
    https://www.siio.de/board/forum/sprachassistenten/amazon-echo-smart-home-systeme/
    läuft es nicht so gut mit der Unterstützung.
    Vielleicht könnte man eine einen Bereich für den „Fibaro Alexa Echo Skill“ einrichten.
    Hier könnte sich dann auch Alex dranhängen und Supporten.

    Gruß, Olaf

  • Alex
    21. Februar 2017 at 17:27

    Falls jemand keinen Benutzer nutzen möchte, sondern seinen Admin-Account wird Probleme bekommen, de der Benutzername nun in Form einer E-Mail-Adresse ist.

    Damit dies im Skill funktioniert, kann man in options.js folgende Änderung machen:

    Aus der Zeile:
    ‚Authorization‘: ‚Basic ‚ + new Buffer(encodeURIComponent(„BENUTZERNAME“) + „:“ + encodeURIComponent(„PASSWORT“)).toString(„base64“),
    in das hier ändern:
    ‚Authorization‘: ‚Basic ‚ + new Buffer(„EMAILADRESSEOHNEENCODING:PASSWORT“).toString(„base64“),

    Also beispielsweise:
    ‚Authorization‘: ‚Basic ‚ + new Buffer(„support@fibaro.com:supportme“).toString(„base64“),

    encodeURIComponent oder die Änderung vom @-Zeichen in „%40“ würde die Anmeldung scheitern lassen.

  • Razfaz
    25. Februar 2017 at 14:35

    Hi,

    ich bekomme beim letzten Punkt folgende Fehlermeldung:

    Error: Please make sure that „Alexa Skills Kit“ is selected for the event source type of arn:aws:lambda:eu-west-1:911768899111:function:Fibaro

    Kann jemand helfen?
    Gruß
    Marco

    • Razfaz
      25. Februar 2017 at 14:46

      Was mir dazu einfällt. In der Anleitung steht ja:
      Dann erstelle nun aus beiden *.js Dateien (AlexaSkill.js und index.js) eine ZIP Datei.

      Ich habe ja aber jetzt noch die options.js

      Muss die mit in das ZIP File?

      • crissxcross
        25. Februar 2017 at 15:10

        Hey,
        Alexander hat das Skill inzwischen weiterentwickelt – daher passt die Anleitung nicht mehr.
        Aufgrund unseres Redesign von siio hatte ich bis jetzt noch nicht die Zeit gefunden das Tutorial anzupassen.
        Es gibt aber auch schon ein Forum Thread dazu:
        https://www.siio.de/board/forum/sprachassistenten/amazon-echo-smart-home-systeme/

        Ich werde mal zeitnah eine neue Anleitung verfassen

        • Andreas
          3. März 2017 at 20:42

          hallo,

          wie sieht die aktuelle Zeitschiene was das aktualisierte Tutorial betrifft?

          Gruß Andreas

      • Alex
        27. Februar 2017 at 10:22

        Die options.js muss nun auch mit rein, ebenso auch die language.js (in deinem Fall die aus dem Verzeichnis deutsch).
        Es sind somit vier Dateien.

        Und zum Fehler: Kann es sein, dass du vergessen hast, „Alexa Skills Kit“ als Trigger auszuwählen?
        Es ist wichtig, dass bei der Erzeugung der Funktion ein Land gewählt wird, dass „Alexa Skills Kit“ unterstützt, beispielsweise „EU (Ireland)“.

  • David Rhodes
    1. März 2017 at 18:21

    Hi
    I get the error

    Error: There was a problem with your request: Unknown slot type ‚SCENENAMES‘ for slot ‚Name‘

    Using the English version files

  • Alex
    1. März 2017 at 18:52

    Did you add all slots?
    Where exactly do you get this error message?

  • spazpeker
    1. März 2017 at 19:17

    in the amazon developer console
    I have inputted the 18 slot files modified the content to my devices
    and put in the intent and utterance files
    when i press next that when i get the error

  • spazpeker
    2. März 2017 at 10:16

    Yes „SLOT_SCENENAMES“ put one item in it „Shower Light Timer“

  • Alex
    2. März 2017 at 10:31

    I think you have to remove the „SLOT_“.

  • spazpeker
    2. März 2017 at 13:33

    Thanks for that removed the SLOT_ did all the other steps
    when i enter in the service simulator test „ask hal to turn off gym light“ i get as a service request „The remote endpoint could not be called, or the response it returned was invalid.“

    {
    „session“: {
    „sessionId“: „SessionId.d6d37baf-fa52-4656-8447-b4a6637f93bb“,
    „application“: {
    „applicationId“: „amzn1.ask.skill.6528c449-b989-4017-8b3a-78bc278c12f1“
    },
    „attributes“: {},
    „user“: {
    „userId“: „amzn1.ask.account.AEPG2ORNABEBD7TUJZ5NOWASZCGH4HFYEHLFEJF3DFA2YF3DVWTD7AI2UZJ437YNBLFIIJOXYWOYDPQS5CQKQRZTXC7D4OXWTR53JO4GQOSTHNUSUA3U2GXSHDZDTHX7RCP4RKWZVXCPC67I6JIRQBUVLB4RKRCOR2UUITW2M4LWMPWYQ5PHR7YVFRL2TWW35WMC3W4MSQ7W5GY“
    },
    „new“: true
    },
    „request“: {
    „type“: „IntentRequest“,
    „requestId“: „EdwRequestId.220b7fae-6bbd-4549-ab58-70d2d6aa31cb“,
    „locale“: „en-GB“,
    „timestamp“: „2017-03-02T12:31:16Z“,
    „intent“: {
    „name“: „SwitchIntent“,
    „slots“: {
    „Status“: {
    „name“: „Status“,
    „value“: „off“
    },
    „Device“: {
    „name“: „Device“,
    „value“: „gym light“
    },
    „Yesno“: {
    „name“: „Yesno“
    },
    „Devicetypes“: {
    „name“: „Devicetypes“
    }
    }
    }
    },
    „version“: „1.0“
    }

    • Alex
      2. März 2017 at 13:39

      Good to hear that it fianlly worked. Also the reqest looks fine too.
      Can you have a look at the log (https://eu-west-1.console.aws.amazon.com/cloudwatch/home)?

      But what is actually wrong is that the SwitchIntent has been choosen. It should be the LightIntent. So there might be something wrong with the english utterances.
      It might help if you add something similar like:
      LightIntent Turn {Status} {Light} {Lighttype}

  • spazpeker
    2. März 2017 at 13:59

    i changed the request to
    ask hal to dim gym light 10%
    got the same response „The remote endpoint could not be called, or the response it returned was invalid.“
    in log
    2017-03-02T12:56:39.613Z ad43eec5-ff47-11e6-92c5-25e3384ae96d Unexpected exception Invalid applicationId

    {
    „session“: {
    „sessionId“: „SessionId.e05ed16b-1210-41bd-b5ca-3a0fd6cfa08f“,
    „application“: {
    „applicationId“: „amzn1.ask.skill.6528c449-b989-4017-8b3a-78bc278c12f1“
    },
    „attributes“: {},
    „user“: {
    „userId“: „amzn1.ask.account.AEPG2ORNABEBD7TUJZ5NOWASZCGH4HFYEHLFEJF3DFA2YF3DVWTD7AI2UZJ437YNBLFIIJOXYWOYDPQS5CQKQRZTXC7D4OXWTR53JO4GQOSTHNUSUA3U2GXSHDZDTHX7RCP4RKWZVXCPC67I6JIRQBUVLB4RKRCOR2UUITW2M4LWMPWYQ5PHR7YVFRL2TWW35WMC3W4MSQ7W5GY“
    },
    „new“: true
    },
    „request“: {
    „type“: „IntentRequest“,
    „requestId“: „EdwRequestId.1f5dac3a-9b2d-4aa6-baa7-474d58e81a12“,
    „locale“: „en-GB“,
    „timestamp“: „2017-03-02T12:56:39Z“,
    „intent“: {
    „name“: „LightIntent“,
    „slots“: {
    „Status“: {
    „name“: „Status“
    },
    „Roomtype“: {
    „name“: „Roomtype“
    },
    „Light“: {
    „name“: „Light“,
    „value“: „gym light 10%“
    },
    „Roomtwo“: {
    „name“: „Roomtwo“
    },
    „Lighttwo“: {
    „name“: „Lighttwo“
    },
    „Room“: {
    „name“: „Room“
    },
    „Lighttype“: {
    „name“: „Lighttype“
    }
    }
    }
    },
    „version“: „1.0“
    }

    • Alex
      2. März 2017 at 14:22

      Why do you get an „Invalid applicationId“ now? You did not have this error before.
      Also in the simulator you must enter „ten percent“ instead of „10%“ I think.

  • spazpeker
    2. März 2017 at 17:41

    still get the same error could it be that i use english UK instead of english US on developer console?

  • Alex
    2. März 2017 at 18:11

    Sorry, I don’t know if there are any problems with engliush US or UK.
    So you tried to replace „10%“ by „ten percent“?
    Is must have something to do with the english version (or files), the german one is running fine, just tested it right now.

  • Andreas
    2. März 2017 at 22:08

    Hallo,

    ich bin wohl aktuell mit Blindheit geschlagen.
    Leider finde ich im index.js die Zeile nicht wo der Port, User etc. eingegeben werden müssen.

    Hat vielleicht jemand die Zeile für mich?

    Danke Andreas

  • Gira
    14. April 2017 at 14:10

    Moin, ich habe den Fehler
    Unexpected Communication Issue

    Request Identifier: amzn1.echo-api.request.ba………d5
    There was a problem communicating with the requested skill.

    Jemand eine Idee, an welcher Stelle es klemmen könnte bzw. einen Tipp, wie man in dieser Amazonumgebung überhaupt Fehler suchen kann?

  • Jürgen
    1. Mai 2017 at 14:08

    Hi,
    Vielen Dank für die Mühe eine so Detaillierte Anleitung zu erstellen.

    Ich hänge leider am Punkt Slot Types: Nachdem ich alle Slots Ordnungsgemäß eingetragen habe und auch die Feder „Interaction Model“ und „Sample Utterances“ wie beschrieben befüllt habe, bekomme ich beim Versuch zu speichern fogenden Fehler:

    Error: There was a problem with your request: Unknown slot type ‚SCENENAMES‘ for slot ‚Name‘

    was mache ich falsch? Weis jemand einen Rat?

    Grüße, Jürgen

  • Oliver
    1. August 2017 at 21:50

    Was mache ich denn falsch, wenn ich die Fehlermeldung erhlate „The remote endpoint could not be called, or the response it returned was invalid.“
    Ich bin im Serive Simulator und rufe eine „Utterance“ auf: starte szene test123.
    Die Szene test123 gibt es natürlich in meiner HC2. Und meine HC2 ist auch per DynDNS mit Port-Weiterleitung erreichbar. Das habe ich manuell getestet.
    Habt ihr eine Idee? Das Verhalte kann ich auch für andere Fragen bzw Anweisungen reproduzieren.

    Die Fehlermeldung in CloudWatch schaut folgendermaßen aus:
    2017-08-01
    No older events found at the moment. Retry.

    19:35:52
    START RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076 Version: $LATEST
    START RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076 Version: $LATEST

    19:35:52
    2017-08-01T19:35:52.609Z a0c9606f-76f0-11e7-8e64-193c2f837076 session applicationId: amzn1.ask.skill.08571be9-dbaa-4b88-9940-662cfd8823e2
    2017-08-01T19:35:52.609Z a0c9606f-76f0-11e7-8e64-193c2f837076 session applicationId: amzn1.ask.skill.08571be9-dbaa-4b88-9940-662cfd8823e2

    19:35:52
    2017-08-01T19:35:52.609Z a0c9606f-76f0-11e7-8e64-193c2f837076 EchoFibaro onSessionStarted requestId: EdwRequestId.868d4c16-e7c8-47de-9d63-139972c54f0c, sessionId: SessionId.8ef7fca1-9424-4b5e-991a-e09469cb6306
    2017-08-01T19:35:52.609Z a0c9606f-76f0-11e7-8e64-193c2f837076 EchoFibaro onSessionStarted requestId: EdwRequestId.868d4c16-e7c8-47de-9d63-139972c54f0c, sessionId: SessionId.8ef7fca1-9424-4b5e-991a-e09469cb6306

    19:35:52
    2017-08-01T19:35:52.610Z a0c9606f-76f0-11e7-8e64-193c2f837076 Unexpected exception Unsupported intent = SceneIntent
    2017-08-01T19:35:52.610Z a0c9606f-76f0-11e7-8e64-193c2f837076 Unexpected exception Unsupported intent = SceneIntent

    19:35:52
    2017-08-01T19:35:52.611Z a0c9606f-76f0-11e7-8e64-193c2f837076 {„errorMessage“:“Unsupported intent = SceneIntent“}
    2017-08-01T19:35:52.611Z a0c9606f-76f0-11e7-8e64-193c2f837076
    {
    „errorMessage“: „Unsupported intent = SceneIntent“
    }


    19:35:52
    END RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076
    END RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076

    19:35:52
    REPORT RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076 Duration: 4.37 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 36 MB
    REPORT RequestId: a0c9606f-76f0-11e7-8e64-193c2f837076 Duration: 4.37 ms Billed Duration: 100 ms Memory Size: 512 MB Max Memory Used: 36 MB

Leave a Reply to Beijonig Antworten abbrechen