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
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.
- <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.
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.
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).
Danach klickst du oben links auf Services und suchst nach "Lambda".
Nun erstellt du eine neue Funktion. Wähle "Blank Function" und als Trigger das "Alexa Skill Kit".
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.
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.
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.
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".
So sollte das ganze dann aussehen:
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
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.
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 ;-)
Funktioniert das auch mit dem kleinen Echo Dot oder brauche ich den grossen?
Lg
geht sowohl mit dem Dot also auch dem großen Echo
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
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.
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?
Danke für den Hinweis.
Ist behoben (neue Version im GitHub).
(Escaping vom Dollar-Sign hatte gefehlt.)
Hallo. Bekomme immer noch Dollar/Unit... Eigentlich die neue Version geladen. Welche Datei muss ich genau austauschen ? mfg
Bei mir sagt er es nun in Prozent (%) an.
Ich habe getauscht:
- index.js
- utterance neu eingefügt
- SlotType STATUSWERT neu eingefügt
Der Fehler war zumindest in index.js
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'
Erst Slot Type und danach intent und Utterance einfügen. Nun geht es.
Danke! Korrigier ich im Text sofort
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 .....
versteh ich voll - daher auch der Hinweis im Artikel. Muss jeder für sich entscheiden.
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.
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
geht natürlich auch mit dem Dot - haben ja beide das gleiche Betriebssystem drauf. Die Dinger unterscheiden sich nur in Punkto Hardware.
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
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
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?"
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
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.
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.
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?
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"
Das gleiche Problem habe ich auch. Groß- und Kleinschreibung ist sehr wichtig und der Code reagiert darauf SEHR sensibel :-(
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ß
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.
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.
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".
Danke schön ;)
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ß
Kannst du das Log (Screenshot davon) schicken?
Sollte behoben sein (es gab ein Problem mit Groß-/Kleinschreibung).
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!
Das werde ich in der kommenden Version als konfigurierbare Option anbieten.
Ist eingebaut
Sehr praktisch, danke! Ich werde es mal ausprobieren.
Hallo,
Gibt es eine Möglichkeit damit meine Sonos lauter und leiser zu stellen? Also einen Slider zu bedienen?
LG. Beijonig
Geht nun.
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.
Ist eingebaut (aber noch nicht getestet, habe im Momen kein VD mit Slider).
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
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
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.
Hi,
I noticed index.js from AlfAlex GitHub has German translations.
Do you know if there's a file with English setup?
Many thanks
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.
sorry, wrong "reply" button :) please see my answer below.
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
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
Welche Region ist bei dir eingestellt?
EU (Ireland)? (das wäre die richtige).
Welche Region ist bei dir eingestellt?
EU (Ireland)? (das wäre die richtige)
Danke, das wars. Ich hatte Frankfurt eingestellt.
Muss ich die bereits erstellte Funktion in der Region Frankfurt löschen?
Ich weiß es leider nicht,. Probier es einfach aus.
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
Hallo Razfaz,
die Daten befinden sich jetzt in der Datei "options.js". Ggfs. kann man das in der Anleitung mal aktualisieren.
Gruß, Valle
Super Danke.
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
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.
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
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.
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.
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.
Sollte nun gehen
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
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ß
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.
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
Ui, habe das Forum Wochen lang nicht mehr aufgerufen...
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.
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
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?
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
hallo,
wie sieht die aktuelle Zeitschiene was das aktualisierte Tutorial betrifft?
Gruß Andreas
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)".
Ok, hat nun geklappt.
Es lag wohl am Trigger.
Danke!!!
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
Did you add all slots?
Where exactly do you get this error message?
Did you add all slots?
Where exactly do you get this error message?
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
Maybe a typo? Do you have the slot named "SCENENAMES"?
Yes "SLOT_SCENENAMES" put one item in it "Shower Light Timer"
I think you have to remove the "SLOT_".
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"
}
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}
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"
}
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.
still get the same error could it be that i use english UK instead of english US on developer console?
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.
Hello
tried ten percent still got The remote endpoint could not be called, or the response it returned was invalid. as the service responce
re installed it with the US lanquage same as before
changed the user to my fibaro ID with the modified code shown in an earlier post
i did have it on port 1600 which my NAS then changes to 80 when i type in my ddns:1600 i get my HC2 login screen
Just created a new lambda with port 80 and still the same
So can you send me this log:
https://eu-west-1.console.aws.amazon.com/cloudwatch/home
(Screenshot of your last try)
tried it again and it works for the kitchen Light for voice but not on the service simulator
it now works
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
Hi,
wie bereits in den Kommentaren geschrieben, gibt es jetzt eine option.js, wo die Angaben reinkommen.
Gruß
Danke
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?
Was steht denn im Log? Wo genau tritt dieser Fehler auf?
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
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