Ankündigung

Einklappen
Keine Ankündigung bisher.

Umfrage: Amazon Echo

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

    #61
    Zitat von hotzen Beitrag anzeigen
    das hier meine ich in der aws_lambda.js:
    ich hab nur keine moeglichkeit das zu aendern. lt amazon support braucht man dafuer einen echo oder echo dot und ich hab noch keinen
    Mittlerweile muss man icht mehr wirklich auf die Einladung warten, es sei denn, man möchte unbedingt den großen Echo mit dem Prime-Rabatt haben, den es für Vorbestellungen zwischen dem 14. und 16. September gab.

    Der erste Weg ist die Teilnahme an einer Sammelbestellung aus UK, da gibt es ein paar nette Leute, bei denen man einen echo dot für 65€ plus Versand innerhalb Deutschlands bekommt- das ist nur wenig mehr, als bei amazon direkt. OK, ein USB-Steckernetzteil mit deutschem Stecker braucht man noch.

    Oder ein anderer Trick, der wohl funktionieren soll: Amazon Browser-Erweiterung installieren, mit der man beliebige Produkte auf einer Browser-Seite auf den Amazon-Wunschzettel setzen kann. Dann vom Wunschzettel in den Einkaufswagen übertragen (soll gehen). Dann alle Produkte, die man in der letzten Zeit gekauft hat, durchprüfen, ob nach Anstoßen einer Rückgabe "ohne Grund" ein Austausch gegen Artikel aus dem Warenkorb angeboten wird (klappt nicht immer). Wenn das angeboten wird, Echo (dot) auswählen und Vorgang abschließen.

    Zu beiden Vorgehensweisen gibts jede Menge Infos im Thread "Amazon Echo Einladung" des Amazon Kundenforums.

    Ich kann verstehen, dass Amazon die Teile noch nicht in großem Stil rausrückt. Es hakt noch an allen Ecken und Enden, weniger Technikaffine Menschen würden das Teil bald verreissen. Alexa weiß nicht, wo ich wohne, liest Doppelpunkte vor, und erzählt mir, dass Weihnachten am 25. Dezember ist. Aber sie wird immerhin nicht müde, drei Kindern geduldig eine Viertelstunde lang gute Nacht und süße Träume zu wünschen. Ich hab noch Hoffnung.

    Grüße,
    Gunnar.

    Kommentar


      #62
      ich hab aws_lambda nochmal gepushed, da waren doch noch einige fehler drin... das mit dem json= war quatsch.
      http 500 heisst das plugin ist hart verreckt, http 400 heisst das alexa plugin hat explizit wegen eines erkannten fehlers eine 400 bad request exception geschmissen.

      Kommentar


        #63
        Zitat von hotzen Beitrag anzeigen
        ja, das ist dieser bescheidene cherrypy automatismus. schau mal in meine aws_lambda.js, da poste ich die payload an den parameter json. der wird leider von cherrypy so erwartet.

        ansonsten mach mal ein pull, da waren noch ein dutzend bugs drin
        Also das bekomme ich aktuell im smarthome.log, wenn ich bei alexa.amazon.com meinen verknüpften Skill Devices suchen lasse

        Code:
        2016-11-29  13:25:16 INFO     CP Server Thread-14 192.168.1.1 - - [29/Nov/2016:13:25:16] "POST / HTTP/1.1" 400 2320 "" ""
        2016-11-29  13:25:16 INFO     CP Server Thread-15 192.168.1.1 - - [29/Nov/2016:13:25:16] "POST / HTTP/1.1" 400 2320 "" ""
        2016-11-29  13:25:17 INFO     CP Server Thread-16 192.168.1.1 - - [29/Nov/2016:13:25:17] "POST / HTTP/1.1" 400 2320 "" ""
        2016-11-29  13:25:17 INFO     CP Server Thread-17 192.168.1.1 - - [29/Nov/2016:13:25:17] "POST / HTTP/1.1" 400 2320 "" ""
        2016-11-29  13:25:17 INFO     CP Server Thread-18 192.168.1.1 - - [29/Nov/2016:13:25:17] "POST / HTTP/1.1" 400 2320 "" ""
        2016-11-29  13:25:18 INFO     CP Server Thread-9 192.168.1.1 - - [29/Nov/2016:13:25:18] "POST / HTTP/1.1" 400 2320 "" ""
        und das gleiche kommt, wenn ich die lambda mit folgendem Test Event

        Code:
        {
          "header": {
            "namespace": "Alexa.ConnectedHome.Discovery",
            "name": "DiscoverAppliancesRequest",
            "payloadVersion": "2",
            "messageId": "06c4efaf-da9b-4deb-8561-54412400382c"
          },
          "payload": {
            "accessToken": "123123"
          }
        }
        testen lasse.

        Wie drehe ich denn das Logging hoch?

        Kommentar


          #64
          hast du eigentlich per alexa.amazon.de deinen alexa home skill freischalten muessen?

          Kommentar


            #65
            logging s. readme ganz unten: https://github.com/hotzen/smarthome/.../plugins/alexa

            Kommentar


              #66
              Zitat von hotzen Beitrag anzeigen
              hast du eigentlich per alexa.amazon.de deinen alexa home skill freischalten muessen?
              Ja musste ich. Ich habe als OAuth Provider Amazon genutzt, so wie in der Anleitung angegeben.

              Ich mache nun einen Discover über alexa.amazon.com und sehe im smarthome.log:

              Code:
              2016-11-29  13:34:40 INFO     CP Server Thread-10 192.168.1.1 - - [29/Nov/2016:13:34:40] "POST / HTTP/1.1" 200 539 "" ""
              2016-11-29  13:34:41 INFO     CP Server Thread-11 192.168.1.1 - - [29/Nov/2016:13:34:41] "POST / HTTP/1.1" 200 539 "" ""
              2016-11-29  13:34:41 INFO     CP Server Thread-12 192.168.1.1 - - [29/Nov/2016:13:34:41] "POST / HTTP/1.1" 200 539 "" ""
              2016-11-29  13:34:41 INFO     CP Server Thread-13 192.168.1.1 - - [29/Nov/2016:13:34:41] "POST / HTTP/1.1" 200 539 "" ""
              2016-11-29  13:34:42 INFO     CP Server Thread-14 192.168.1.1 - - [29/Nov/2016:13:34:42] "POST / HTTP/1.1" 200 539 "" ""
              2016-11-29  13:34:42 INFO     CP Server Thread-15 192.168.1.1 - - [29/Nov/2016:13:34:42] "POST / HTTP/1.1" 200 539 "" ""
              Allerdings listet alexa danach keine devices.

              Die AWS Console meldet auf den Dicovery Testevent folgendes:

              Code:
               
               {   "payload": {     "discoveredAppliances": [       {         "manufacturerName": "smarthomeNG.alexa",         "additionalApplianceDetails": {           "item1": "EG.Wohnzimmer.SpotsOfen.Schalten"         },         "modelName": "smarthomeNG.alexa-device",         "isReachable": true,         "applianceId": "wohnzimmer-ofen",         "version": "1.0.0",         "actions": [           "turnOff",           "turnOn"         ],         "friendlyDescription": "",         "friendlyName": "Wohnzimmer Ofen"       }     ]   },   "header": {     "name": "DiscoverAppliancesResponse",     "namespace": "Alexa.ConnectedHome.Discovery",     "payloadVersion": "2",     "messageId": "55802cbf079b4b8582ce44093e9f3fbc"   } }
              Warum findet die Funktion ein Gerät aber Alexa dann nicht, die ja nur die Funktion verwendet?

              Kommentar


                #67
                hast du die aktuelle version der funktion aktiviert und den aktuellen ARN in deinen skill übernommen?

                Kommentar


                  #68
                  @junibart hab das mal mit dem bestellungen ersetzen durch warenkorb-artikel durchgekaspert aber das scheint (auch lt. forum) gefixt zu sein. es wird nur noch geschenkgutschein und ersetattun angeboten... bin so 20 artikel durchgeklickt

                  Kommentar


                    #69
                    Zitat von hotzen Beitrag anzeigen
                    hast du die aktuelle version der funktion aktiviert und den aktuellen ARN in deinen skill übernommen?
                    Der ARN ändert sich nicht. Die Funktion kann einfach entwickelt und gespeichert werden.
                    Also sollte die Funktion aktuell sein. Kann höchstens den Skill einmal rauswerfen und das OAuth nochmal machen. Glaube aber nicht dass das was hilft.

                    Kommentar


                      #70
                      die ARN enthaelt manchmal die version als suffix mit doppeltpunkt, bei mir :2

                      Kommentar


                        #71
                        Okay mein ARN ist gleich geblieben. Der Deauth und neue OAuth hat leider auch nichts geholfen. Die Funktion im AWS erkennt das weiterhin und der Dot nicht. Was auch nicht richtig funktioniert ist der DEBUG Logger. Wenn ich das unter /etc/logging.yaml eintrage wie in deiner README.md dann startet smarthome nicht mehr.

                        Kommentar


                          #72
                          Obwohl ich noch keine Devices habe (zumindest Alexa findet keine) kann die AWS Funktion auf folgendes Evennt:

                          Code:
                          {
                            "header": {
                              "namespace": "Alexa.ConnectedHome.Control",
                              "name": "TurnOffRequest",
                              "payloadVersion": "2",
                              "messageId": "81c27978-cc0c-4ae8-b1bc-09510c597a60"
                            },
                            "payload": {
                              "accessToken": "123123",
                              "appliance": {
                                "applianceId": "wohnzimmer-ofen",
                                "additionalApplianceDetails": {}
                              }
                            }
                          }
                          Die Lampe Schalten:

                          Code:
                           
                           {   "payload": {},   "header": {     "name": "TurnOffConfirmation",     "namespace": "Alexa.ConnectedHome.Control",     "payloadVersion": "2",     "messageId": "cae35df190ad4fc3ad9ac055a236bc92"   } }
                          Code:
                          2016-11-29  14:14:21 DEBUG    CP Server Thread-17 Alexa: control-directive 'TurnOffRequest' received
                          2016-11-29  14:14:21 DEBUG    CP Server Thread-17 Alexa: turnOff(EG.Wohnzimmer.SpotsOfen.Schalten)
                          2016-11-29  14:14:21 INFO     CP Server Thread-17 192.168.1.1 - - [29/Nov/2016:14:14:21] "POST / HTTP/1.1" 200 174 "" ""
                          Debug Log hab ich nun auch hinbekommen.

                          Also ich kann auf jeden Fall sagen das der AccesToken egal ist. Wie funktioniert das genau mit dem AccessToken? In dem Testevent gebe ich den ja vor. Was nimmt denn der Dot wenn er es versucht?

                          Kommentar


                            #73
                            Also die Funktion passt wohl, denke ich. Die Frage ist warum findet und schaltet der Dot keine Devices? Stimmt das Format, was da zurückkommt?

                            Code:
                            DiscoverAppliancesResponse example:
                                {
                                "header": {
                                    "messageId": "ff746d98-ab02-4c9e-9d0d-b44711658414",
                                    "name": "DiscoverAppliancesResponse",
                                    "namespace": "Alexa.ConnectedHome.Discovery",
                                    "payloadVersion": "2"
                                },
                                "payload": {
                                    "discoveredAppliances": [
                                        {
                                            "actions": [
                                                "incrementTargetTemperature",
                                                "decrementTargetTemperature",
                                                "setTargetTemperature"
                                            ],
                                            "additionalApplianceDetails": {
                                                "extraDetail1": "optionalDetailForSkillAdapterToReferenceThisDevice",
                                                "extraDetail2": "There can be multiple entries",
                                                "extraDetail3": "but they should only be used for reference purposes.",
                                                "extraDetail4": "This is not a suitable place to maintain current device state"
                                            },
                                            "applianceId": "uniqueThermostatDeviceId",
                                            "friendlyDescription": "descriptionThatIsShownToCustomer",
                                            "friendlyName": " Bedroom Thermostat",
                                            "isReachable": true,
                                            "manufacturerName": "yourManufacturerName",
                                            "modelName": "fancyThermostat",
                                            "version": "your software version number here."
                                        },
                                        {
                                            "actions": [
                                                "incrementPercentage",
                                                "decrementPercentage",
                                                "setPercentage",
                                                "turnOn",
                                                "turnOff"
                                            ],
                                            "additionalApplianceDetails": {},
                                            "applianceId": "uniqueLightDeviceId",
                                            "friendlyDescription": "descriptionThatIsShownToCustomer",
                                            "friendlyName": "Living Room",
                                            "isReachable": true,
                                            "manufacturerName": "yourManufacturerName",
                                            "modelName": "fancyLight",
                                            "version": "your software version number here."
                                        }
                                    ]
                                }
                            }

                            Kommentar


                              #74
                              Wenn ich vergleiche, was mir die AWS auf den Discover liefert:

                              Code:
                               {   
                              "payload": {     
                                  "discoveredAppliances": [       
                                  {         
                                      "friendlyName": "Wohnzimmer Ofen",         
                                      "manufacturerName": "smarthomeNG.alexa",         
                                      "version": "1.0.0",         
                                      "actions": [           
                                          "turnOn",           
                                          "turnOff"         
                                      ],         
                                      "additionalApplianceDetails": {           
                                          "item1": "EG.Wohnzimmer.SpotsOfen.Schalten"         
                                      },         
                                      "isReachable": true,         
                                      "friendlyDescription": "",         
                                      "applianceId": "wohnzimmer-ofen",         
                                      "modelName": "smarthomeNG.alexa-device"       
                                  }     
                                ]   
                               },   
                                  "header": {     
                                      "name": "DiscoverAppliancesResponse",     
                                      "namespace": "Alexa.ConnectedHome.Discovery",     
                                      "payloadVersion": "2",     
                                      "messageId": "e6f5713dbf564ee49ec3ee06bb87d842"   
                                  } 
                              }
                              und was ich laut example in der Skill API Reference erwarten würde:
                              Code:
                              {
                              "header": {
                                  "messageId": "e6f5713dbf564ee49ec3ee06bb87d842"
                                  "name": "DiscoverAppliancesResponse",
                                  "namespace": "Alexa.ConnectedHome.Discovery",
                                  "payloadVersion": "2",    
                                },
                                "payload": {
                                  "discoveredAppliances": [
                                    {
                                      "actions": [
                                        "turnOn",
                                        "turnOff"
                                      ],
                                      "additionalApplianceDetails": {
                                        "item1": "EG.Wohnzimmer.SpotsOfen.Schalten"
                                      },
                                      "applianceId": "wohnzimmer-ofen",
                                      "friendlyDescription": "",
                                      "friendlyName": "Wohnzimmer Ofen",
                                      "manufacturerName": "smarthomeNG.alexa",
                                      "modelName": "smarthomeNG.alexa-device"
                                      "version": "1.0.0",       
                                      "isReachable": true,
                                    }
                                  ]
                                }  
                              }
                              Ist es denkbar, dass deine Response das falsche format hat? Spielt die Reihenfolge eine Rolle?
                              Zuletzt geändert von patrickgoll; 29.11.2016, 14:28.

                              Kommentar


                                #75
                                nö, das sind alles dictionaries, da ist die key Reihenfolge immer undeterministisch.

                                siehst du Differenzen ausser der Reihenfolge?

                                Kommentar

                                Lädt...
                                X