Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon-Echo Logikbaustein

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hallo Werner,

    vielen Dank für den Hinweis! Man lese die Überschrift "Input test event" so wird ein Schuh daraus!
    Gruß Joachim

    Kommentar


      Hallo Werner!

      Danke für den tollen LBS!
      Ich versuche gerade die Custom Skills einzurichten und bekomme beim testen (Suche meine KNX Objekte) folgenden Fehler: "The remote endpoint could not be called, or the response it returned was invalid."

      ARN ist doch so richtig, oder? arn:aws:lambda:eu-west-1:01234567890:function:GIRAHS_LBS

      Kommentar


        Hallo Chris,

        dir ARN sieht vom Format her korrekt aus.
        Nur nochmal zu meinem Verständnis: Der Smart-Home Skill funktioniert bereits und du hast jetzt die Einrichtung des Custom-Skill abgeschlossen und bist am testen?

        Testest du per Sprachkommando oder über die Amazon Developer Console?
        Kannst du dich mal an der AWS-Console (Amazon Web Services Console, also da wo du die Lambda Funktion angelegt hast) anmelden und in die Cloudwatch Logs schauen ob die Anfrage hier auftaucht?
        Siehst du im Log des Logikbausteins einen Eintrag über den Request wenn du die Suche nach KNX-Objekten durchführst?

        Gruß Werner

        Kommentar


          Sorry und ich stolpere gerade über den Punkt 3.5 in der Anleitung!
          Dort steht unter "Add trigger" (mit einem Bild das keine Alexa Skills enthält) man soll den hinzufügen! (Bild aus 3.5)
          Das wurde doch aber bereits unter 2.3 gemacht, in diesem Bild sieht man genau das was ich auch bei mir sehe "blauer Kreis mit Alexa Skills Kit"!
          Soll ich nun noch einen zweiten hinzufügen oder den vorhandenen vorher löschen? (Alexa Skills Kit)
          ??
          Danke für ein Feedback
          Joachim AWS Lambda-Frage_4.png

          Kommentar


            Muss der obere nun gelöscht werden? AWS Lambda-Frage_5.png

            Kommentar


              Hallo Joachim,

              der Trigger den man unter Punkt 2.3 hinzufügt, ist der für den optionalen Custom-Skill.
              Nachdem man keine weiteren Informationen hier eingeben muss dachte ich, man könnte diesen hier bereits vorsorglich, falls man später den Custom Skill anbinden möchte, hinzufügen (Vielleicht verwirrt das aber auch eher?). Der Trigger den man unter Punkt 3.5 hinzufügt, ist der für den Smart-Home Skill. Für diesen Trigger braucht man den ID des Smart-Home Skills welchen man ja erst unter Punkt 3.3 einrichtet. Deshalb kann man den Trigger erst nach der Erstellung des Smart-Home Skills hinzugefügt werden.
              Insgesamt sind also zwei Trigger an die Lambda-Funktion angebunden.

              Gruß Werner

              Kommentar


                Danke Werner!

                Kommentar


                  Ich habe nach einigem herumspielen wegen des Custom Skills den Smart-Home Skill irrtümlich gelöscht und daraufhin hat natürlich gar nichts mehr funktioniert.
                  Nachdem ich alles nochmal durchgesehen habe liefert der Test jetzt keinen Fehler mehr

                  Kommentar


                    Super, danke für die Rückmeldung.

                    Viel Spaß mit deiner Alexa

                    Kommentar


                      Guten Abend,
                      nun habe ich die "Smart Home Skills über die Alexa App" verbunden.
                      Leider findet das App unter meine Geräte suchen nichts!
                      Zum testen habe ich folgendes in den Echo geladen:
                      [
                      {"room":"Küche", "appliances":[{"name":"Downlights", "onOff":"1/1/10"}]},
                      {"room":"Wohnzimmer", "targetTemperature":"3/4/8", "appliances":[
                      {"name":"Deckenleuchte", "onOff":"1/1/28", "percent":"1/2/28"},
                      {"name":"Vorbauleuchte", "onOff":"1/1/27", "percent":"1/2/27", "aliases":["Vorbaulampe Wohnzimmer"]}
                      ]},
                      {"appliances":[
                      {"name":"Lichtszene Essen", "onOff":"1/7/2", "value":"0"},
                      {"name":"Lichtszene Gäste", "onOff":"1/7/1", "value":"1"}
                      ]}
                      ]

                      müßten nun nicht Geräte gefunden werden?
                      Vielen Dank für einen Tipp!

                      Kommentar


                        Beim auslesen über den Browser bekomme ich folgende Info:
                        {"header": {"payloadVersion": "2", "namespace": "Alexa.ConnectedHome.Discovery", "name": "DiscoverAppliancesResponse", "messageId": "xyz"}, "payload": {"discoveredAppliances": [{"modelName": "n.a.", "actions": ["turnOn", "turnOff"], "friendlyDescription": "K\u00fcche Downlights", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "K\u00fcche Downlights", "applianceId": "1_1", "isReachable": true}, {"modelName": "n.a.", "actions": ["incrementTargetTemperature", "decrementTargetTemperature", "setTargetTemperature"], "friendlyDescription": "Wohnzimmer", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Wohnzimmer", "applianceId": "2", "isReachable": true}, {"modelName": "n.a.", "actions": ["turnOn", "turnOff", "incrementPercentage", "decrementPercentage", "setPercentage"], "friendlyDescription": "Wohnzimmer Deckenleuchte", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Wohnzimmer Deckenleuchte", "applianceId": "2_1", "isReachable": true}, {"modelName": "n.a.", "actions": ["turnOn", "turnOff", "incrementPercentage", "decrementPercentage", "setPercentage"], "friendlyDescription": "Wohnzimmer Vorbauleuchte", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Wohnzimmer Vorbauleuchte", "applianceId": "2_2", "isReachable": true}, {"modelName": "n.a.", "actions": ["turnOn", "turnOff", "incrementPercentage", "decrementPercentage", "setPercentage"], "friendlyDescription": "Vorbaulampe Wohnzimmer", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Vorbaulampe Wohnzimmer", "applianceId": "2_2_1", "isReachable": true}, {"modelName": "n.a.", "actions": ["turnOn", "turnOff"], "friendlyDescription": "Lichtszene Essen", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Lichtszene Essen", "applianceId": "3_1", "isReachable": true}, {"modelName": "n.a.", "actions": ["turnOn", "turnOff"], "friendlyDescription": "Lichtszene G\u00e4ste", "version": "1.0", "manufacturerName": "n.a.", "friendlyName": "Lichtszene G\u00e4ste", "applianceId": "3_2", "isReachable": true}]}}

                        Kommentar


                          Guten Morgen Joachim,

                          ich habe deine Konfiguration für einen Test bei mir "hochgeladen" und die Gerätesuche über die Alexa-Webseite durchgeführt.
                          Deine Konfiguration ist in Ordnung, denn die Gerätesuche konnte 7 Smart-Home Geräte finden:
                          AlexaJoachim.png

                          Hast du mal versucht den Discovery-Request über die Lambda-Funktion per Test-Event zu machen?

                          Falls das geklappt hat, auf welche Art hast du die Gerätesuche gestartet:
                          • per Sprachkommando
                          • Alexa Webseite also "alexa.amazon.de"
                          • Alexa-App iOS oder Android?

                          Manche haben von Problemen mit der Gerätesuche per App berichtet, deswegen würde ich es mal über die Alexa Webseite versuchen.
                          Was ich auch schon hatte, ist das nach der Gerätesuche fälschlicherweise gemeldet wurde, dass keine Geräte gefunden werden konnten.
                          Wenn man nämlich dann auf der Webseite auf irgendeinen anderen Menüpunkt wechselt und danach wieder auf Skills zurückwechselt werden die Geräte angezeigt.

                          Prüfe doch mal bitte folgende Punkte:
                          • kommt der Request der Gerätesuche beim Logikbaustein an? D.h. im Log des Logikbausteins sollte eine Zeile ähnlich der folgenden auftauchen:
                            2017-02-03 05:35:25 | INFO Discovery found 7 appliances. (messageId='XXX').
                          • falls nein, müsstest du unter der AWS Management Console in die Cloudwatch-Logs der Lambda-Funktion schauen. Ob der Request zumindest bei der Lambda-Funktion ankommt. D.h. du solltest für den Zeitpunkt an dem du die Suche gestartet hast (minus 1 Stunde) im Log eine Zeile mit
                            "*** REQUEST ***:/discovery?..." finden:
                            AWSLogJoachim.png

                          Gruß Werner

                          Kommentar


                            Hallo Werner,

                            vielen Dank für die Info. Leider kommt im Homeserver nichts an! Hier vermute ich das Problem!
                            Habe die Anleitung nun schon zum dritten mal komplett durchgearbeitet, am meisten Schwierigkeiten bereitet die Hinweise "Diesen Wert benötigen wir später bei Punkt"! Für die Anleitung wäre es super Nummern für diese Werte zu vergeben und im Fortlauf der Installation dann den Hinweis zu geben "und hier tragen Sie nun den vorher notierten Wert Nummer .... ein". Ich denke dies würde es vereinfachen! So arbeite ich mit mehreren Bildschirmen und zwei geöffneten Anleitungen um den richtigen Wert herauszufinden! Bei der Liste die ich mir gemacht habe mit den Werten die notiert werden sollen verliert man sehr schnell den Überblick.

                            Den Fehler den ich entdeckt habe anbei, vor zwei Tagen wurde kein Fehler angezeigt! Ich kam aber auch nicht zum Alexa App! Nun bin ich beim App hatte die AWS Lambda aber gelöscht und neu erstellt! Kannst du mit dem Fehler etwas anfangen?
                            Vielen Dank für deine Hilfe!
                            Gr AWS Lambda-Frage_6.png uß Joachim

                            Kommentar


                              Hier noch der Log Output (Access Token wurde von mir mit XXX versehen:
                              START RequestId: d37addb1-e9f6-11e6-8daf-c13dcb935d26 Version: $LATEST 2017-02-03T09:55:00.608Z d37addb1-e9f6-11e6-8daf-c13dcb935d26 *** EVENT***: {"header":{"payloadVersion":"2","namespace":"Alexa .ConnectedHome.Control","name":"TurnOnRequest"},"p ayload":{"appliance":{"applianceId":"[2_1]"},"accessToken":"lala"}} 2017-02-03T09:55:00.631Z d37addb1-e9f6-11e6-8daf-c13dcb935d26 *** REQUEST***: /control?accessToken=XXXXXXXX&messageId=undefined&a pplianceId=%5B2_1%5D&request=TurnOnRequest END RequestId: d37addb1-e9f6-11e6-8daf-c13dcb935d26 REPORT RequestId: d37addb1-e9f6-11e6-8daf-c13dcb935d26 Duration: 3003.37 ms Billed Duration: 3000 ms Memory Size: 128 MB Max Memory Used: 31 MB 2017-02-03T09:55:03.610Z d37addb1-e9f6-11e6-8daf-c13dcb935d26 Task timed out after 3.00 seconds

                              Kommentar


                                Hallo Joachim,

                                irgendwie habe ich das Gefühl, dass bei dir ein bisschen Kuddelmuddel entstanden ist. Ich fürchte, ich bin da auch nicht ganz unschuldig weil ich die PDF-Anleitung welche für die V0.2 gedacht war zu spät ins Archiv geschoben habe. Die verwendest du zusätzlich - oder?
                                Deinen Tipp mit den Nummern werde ich im Wiki aufnehmen - danke dafür.

                                Was mir zuerst an deinem Screenshot auffällt, bei der V0.3 werden die "Verbindungsparameter" eigentlich in Form von Umgebungsvariablen (Environment variables) definiert. (im Wiki unter Punkt 2.3 beschrieben). Dies löst zwar nicht dein Problem, aber ich würde es dir trotzdem so empfehlen. Damit bräuchtest du dich auch nicht mehr um die Hochkommas kümmern (alles muss in Hochkommas stehen, einzige Ausnahme ist der Port, der könnte auch ohne Hochkommas angegeben werden). Weiterer Vorteil: Eine neue Version der Lambda-Funktion läßt sich bei Verwendung von Umgebungsvariablen einfacher austauschen, weil man keine Änderungen mehr im Code machen muss.

                                Die Fehlermeldung besagt, dass die Lambda-Funktion bei dem Versuch eine Antwort vom Logikbaustein zu bekommen auf einen Timeout (3 Sekunden) läuft.
                                Nachdem im Log des Bausteins auch kein Request zu sehen ist (welchen Log-Level hast du am Baustein eingestellt?) gehe ich davon aus, dass keine Verbindung zustande kommt.

                                Was ich von dir bräuchte, wäre die Information bis zu welchem Punkt die im Wiki angesprochenen Tests noch ok sind:
                                • Wiki Punkt 1.1: Du kannst per Browser (Firefox) über https an die lokale IP-Adresse des Homeservers und den im Baustein definierten Port Requests an den Logikbaustein schicken und bekommst den gewünschten Response?
                                • Den gewünschten Response bekommst du auch noch, wenn du statt der lokalen IP-Adresse den selben Test mit deinem Dyndns-Namen machst?
                                • Wiki Punkt 2.3.1: Nachdem die Verbindung per Test-Event in der Lambda-Funktion laut deinem Log ja nicht mehr zustande kommt: Ist der Dnydns-Name und der Port korrekt?

                                Viele Grüße
                                Werner




                                Kommentar

                                Lädt...
                                X