Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon Alexa Plugin

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

    Ich habe mir eine *.txt angelegt die startet beim Installieren des Images von OnkelAndy mit allen sudo apt-get ....
    und allem möglichen Sachen die man machen muss bis Alexa läuft...
    falls ja jemand mal intresse hat. (Für Leute die sich mit nix auskennen

    Kommentar


      Guten Abend,

      ich hab finde leider kein Gerät auf alexa.amazon. Könnt ihr mir weiter helfen?

      /var/log/nginx/access.log
      Code:
      162.243.135.96 - - [12/Nov/2017:17:54:12 +0100] "GET / HTTP/1.1" 401 597 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"
      162.243.135.96 - - [12/Nov/2017:17:54:13 +0100] "GET / HTTP/1.1" 401 597 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"
      162.243.135.96 - - [12/Nov/2017:17:54:22 +0100] "\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x8B\x9A\x05\x904\x0BE\x9A\x13o\x84\xEFN\xB5\xC3*4\x01\xCB\x9C\xD8\x86\x8D\x22\xB6\xD13$\xD8\xD$
      195.154.38.84 - - [12/Nov/2017:18:16:47 +0100] "GET / HTTP/1.1" 401 195 "-" "-"
      /var/log/nginx/alexa.log
      Code:
      73.78.244.191 - - [12/Nov/2017:18:15:54 +0100] "POST / HTTP/1.1" 401 195 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
      73.78.244.191 - - [12/Nov/2017:18:17:54 +0100] "POST / HTTP/1.1" 401 195 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
      34.252.251.94 - ASSR85 [12/Nov/2017:19:26:45 +0100] "POST / HTTP/1.1" 500 438 "-" "-"
      34.252.251.94 - ASSR85 [12/Nov/2017:19:26:46 +0100] "POST / HTTP/1.1" 500 438 "-" "-"
      34.252.204.52 - ASSR85 [12/Nov/2017:19:53:50 +0100] "POST / HTTP/1.1" 500 438 "-" "-"
      34.252.204.52 - ASSR85 [12/Nov/2017:19:53:56 +0100] "POST / HTTP/1.1" 500 438 "-" "-"
      /var/log/nginx/error.log
      Code:
      empty

      /usr/local/smarthome/etc/plugin.yaml
      Code:
      alexa:
          class_name: Alexa
          class_path: plugins.alexa
          service_host: 192.168.0.28
          service_port: 8089
      usr/local/smarthome/items/smart.conf
      Code:
      [Wohnzimmer]
          [[Licht]]
          type = bool
          alexa_device = wohnzimmer licht
          alexa_name = "Wohnzimmer-Licht"
          alexa_alias = "Wohnzimmer-Licht"
          alexa_description = "Wohnzimmerlicht"
          alexa_actions = "turnOn turnOff"
              knx_dpt = 1
              knx_listen = 0/0/9
              knx_init = 0/0/9
              knx_send = 0/0/9
      ist da irgendwas falsch? Ich ging davon aus das ich nun ein Wohnzimmer Licht finden müsste als Gerät oder muss da noch in einer anderen Datei etwas gemacht werden? Vielleicht in der aws_lambda.js ?

      Bei AWS

      Sende ich:
      Code:
       {   "header": {     "payloadVersion": "2",     "namespace": "Alexa.ConnectedHome.Discovery",     "name": "DiscoverAppliancesRequest",     "messageId": "F8752B11-69BB-4246-B923-3BFB27C06C7D"   },   "payload": {     "discoveredAppliances": [       {         "modelName": "smarthomeNG",         "additionalApplianceDetails": {           "item1": "Wohnzimmer Licht"         },         "applianceId": "Wohnzimmer-Licht",         "actions": [           "turnOn"         ],         "isReachable": true,         "friendlyDescription": "Wohnzimmer Licht",         "version": "1.3.0.9.0",         "manufacturerName": "smart.visu",         "friendlyName": "Wohnzimmer Licht"       }     ]   } }
      kommt als Ausgabe:
      Code:
       {   "header": {     "payloadVersion": "2",     "messageId": "69038a4185224f28b31af83a904497ae",     "namespace": "Alexa.ConnectedHome.Discovery",     "name": "DiscoverAppliancesResponse"   },   "payload": {     "discoveredAppliances": [       {         "applianceId": "ew_light_couch_regal-alias2",         "manufacturerName": "smarthomeNG.alexa",         "friendlyDescription": "Kleine Lampe im Regal bei der Couch im Wohnzimmer",         "actions": [           "turnOff",           "turnOn"         ],         "additionalApplianceDetails": {           "item1": "Wohnzimmer.Sideboard"         },         "friendlyName": "Wohnzimmer-Regal",         "version": "1.3.0.9.0",         "modelName": "smarthomeNG.alexa-device",         "isReachable": true       },       {         "applianceId": "ew_light_couch_regal-alias1",         "manufacturerName": "smarthomeNG.alexa",         "friendlyDescription": "Kleine Lampe im Regal bei der Couch im Wohnzimmer",         "actions": [           "turnOff",           "turnOn"         ],         "additionalApplianceDetails": {           "item1": "Wohnzimmer.Sideboard"         },         "friendlyName": "Sofa-Regal",         "version": "1.3.0.9.0",         "modelName": "smarthomeNG.alexa-device",         "isReachable": true       },       {         "applianceId": "ew_light_couch_regal",         "manufacturerName": "smarthomeNG.alexa",         "friendlyDescription": "Kleine Lampe im Regal bei der Couch im Wohnzimmer",         "actions": [           "turnOff",           "turnOn"         ],         "additionalApplianceDetails": {           "item1": "Wohnzimmer.Sideboard"         },         "friendlyName": "Couch-Regal",         "version": "1.3.0.9.0",         "modelName": "smarthomeNG.alexa-device",         "isReachable": true       }     ]   } }

      Vielen Dank im Voraus
      Zuletzt geändert von ASSR85; 13.11.2017, 23:24.

      Kommentar


        Ich komme leider nicht weiter...

        wenn ich alexa.discover in der AWS ausführe kommt als Ausgabe:

        Code:
         {   "payload": {},   "header": {     "messageId": "bfb06dfc6db04a15922232239c04851d",     "namespace": "Alexa.ConnectedHome.Control",     "payloadVersion": "2",     "name": "UnexpectedInformationReceivedError"   } }
        ich habe nun in der sh.log die Meldung:

        Code:
        2017-11-13  22:20:18 DEBUG    alexa        HTTP/1.0 POST /
        2017-11-13  22:20:18 DEBUG    alexa        Alexa: control-directive 'Alexa.ConnectedHome.Discovery' received
        2017-11-13  22:20:18 ERROR    alexa        Alexa: no action implemented for directive 'Alexa.ConnectedHome.Discovery'
        kann mir da jemand weiter helfen. Wäre echt super!

        Danke.

        EDIT:
        Ich habe jetzt gesehen das Anfragen über AWS mit HTTP 200 rein kommen
        und die Anfragen über alexa.amazon (Gerätesuche) in der CloudWatch mit HTTP 500, was wohl eine Fehlermeldung ist.

        Ich habe keine Ahnung wie ich nun weiter komme. Kann sich den niemand erbarmen ?
        Zuletzt geändert von ASSR85; 14.11.2017, 00:36. Grund: HTTP Erkenntnis ergänzt

        Kommentar


          wenn du mal soweit gekommen bist musst du noch die Payload-Version anpassen. Ich glaube das hat mit der neuen Generation der Echos zu tun die seit Ende Oktober verfügbar sind.

          You do not have permission to view this gallery.
          This gallery has 1 photos.

          Kommentar


            Zitat von E3EAT Beitrag anzeigen
            wenn du mal soweit gekommen bist musst du noch die Payload-Version anpassen. Ich glaube das hat mit der neuen Generation der Echos zu tun die seit Ende Oktober verfügbar sind.
            Danke für die Info. Ich habe es nun endlich hinbekommen nach 2 Wochen.

            Kommentar


              Hallo zusammen,
              ich habe mich jetzt auch durch die Anleitung gekämpft.
              Leide bekomme ich den Skill nur via HTTP zum laufen.
              Wenn ich mein Letsencrypt SSL Zertifikat verwede bekomme ich beim test der AWS Funktion immer folgenden Error:
              "errorMessage": "unable to verify the first certificate" Mittlerweile bin ich mit meinem Latain am Ende. Was kann ich noch tun um das ganze via HTTPS ans laufen zu bekommen. Wenn ich das via POST aus dem Firefox händisch auf die Externe Adresse absetze bekomme ich die gewünschte Antwort. LG Tobias

              Kommentar


                Hallo zusammen,
                ich habe heute meinen EchoDot erhalten und lese mich seit Tagen in das Thema Alexa ein und wie ich sie in mein bestehendes SmarthomeNG-System einbinde.
                Was mir nicht so ganz gefällt, ist der ganze Akt über Amazon, mit denen sich hier ja einige schwer tun. Nicht wegen dem Aufwand, sondern weil es halt kein Standard ist. Jeder muss selbst alles neu anlegen (die Diskussion gabs ja weiter oben schon). Abgesehen von Reverse-Proxys, Portfreigaben etc.
                In dem Zusammenhang wollte ich mal etwas zur Diskussion stellen und fragen, was ihr davon hält oder ob es vlt. schon mal jemand probiert hat.

                Die Einbindung von Philips Hue in Alexa ist bereits gegeben. Diese gehört zum Standard-Skill der Alexa.
                Es gibt mehrere Hue-Emulatoren (z.B. diyHue) die man nutzen könnte, um mit Alexa zu kommunizieren.
                Es gibt ein HUE-Plugin im SmarthomeNG, um mit dem "HUE-Router" zu kommunizieren.

                Sollte es dann nicht möglich sein, den HUE-Emulator so zu pimpen, dass er die Itemliste von SmarthomeNG einliest und aus den "types bool" die Lampen anlegt mit entsprechenden Pfadnamen? Dann kennt Alexa genau diese Lampen, Schalter, Variablen und kann sie schalten und dimmen.
                Mit einem gepimpten HUE-Plugin im SmarthomeNG könnte man dann auf diese Werte reagieren und in der SmarthomeNG entsprechend die GA schalten/dimmen.

                Habe ich etwas übersehen?

                Danke schon mal und Gruß
                Krischan

                Kommentar


                  Hallo,

                  ich möchte mich hier auch noch mal bitte einklinken. Nachdem ich versucht habe durch den ganzen Wust an Hinweisen durchzublicken.
                  Ich würde mir hier eine plug&play Lösung für Otto Normalverbraucher wünschen.
                  Das man bei Amazon durch den Wust an Konfiguration muss, sehe ich ja ein; wobei es ja hierzu wohl schon ein script gibt, was uns hierbei unterstützt.

                  Was mich aber mehr wundert und stört ist die Implementierung in SmartHomeNG.
                  wie machen das dann die ganzen Philips Hue, OSRAM Lightify oder Amazon Fire ?
                  da findet doch m.E. auch kein direkter Zugriff von außen auf mein Netzwerk statt ? da muss ich doch auch keine komplexen Zugriffsrechte und Verschlüsselungen konfigurieren ? wie machen die das denn alle ?
                  kann man nicht so etwas ähnliches in SHNG bauen ?
                  ich verstehe von der Technology zu wenig, aber die Alexa Anbindung ist mir absolut zu komplex; das werde ich als Laie doch niemals hinkriegen.

                  dabei nutze ich Alexa schon ziemlich vielfältig und kann meine Leuchten und Steckdosen, die über Hue angebunden sind, jetzt mittels SmartVISU und Alexa steuern.
                  wieso ist es denn so kompliziert das für meine KNX Komponenten über SHNG ähnlich zu implementieren. ?

                  kann man den WebService nicht auch bei Amazon hosten und SHNG da seine Informationen abholen; mich stört der Durchgriff von außen auf mein Netzwerk.
                  oder das Hue Gateway oder ähnliches nutzen.

                  Gruß Wil

                  Kommentar


                    Zitat von whe Beitrag anzeigen
                    Was mich aber mehr wundert und stört ist die Implementierung in SmartHomeNG.
                    wie machen das dann die ganzen Philips Hue, OSRAM Lightify oder Amazon Fire ?
                    da findet doch m.E. auch kein direkter Zugriff von außen auf mein Netzwerk statt ? da muss ich doch auch keine komplexen Zugriffsrechte und Verschlüsselungen konfigurieren ? wie machen die das denn alle ?
                    kann man nicht so etwas ähnliches in SHNG bauen ?
                    ich verstehe von der Technology zu wenig, aber die Alexa Anbindung ist mir absolut zu komplex; das werde ich als Laie doch niemals hinkriegen.

                    ....

                    kann man den WebService nicht auch bei Amazon hosten und SHNG da seine Informationen abholen; mich stört der Durchgriff von außen auf mein Netzwerk.
                    oder das Hue Gateway oder ähnliches nutzen.
                    das ist so komplex weil du einen cloud Dienst einrichten musst, so wie es auch ein Geräte hersteller ein einziges mal tut, um seinen alexa skill bereitzustellen. Der Hersteller hat dann sein eigenes Portal auf dem sich alle verkauften Geräte registrieren und darüber kann er die alexa commands dorthin pushen.

                    hier ist jeder sein eigener Geräte Hersteller mit seinem eigenen skill und seiner eigenen cloud und muss deshalb durch die Konfigurations Wüste durch um alexa würdig zu sein.

                    Ich habe mir auch überlegt einen cloud service zu bauen, bei dem jeder hier im forum seine zugangsdaten hinterlegen kann aber...
                    wie viele user gibt's hier von diesem alexa plugin, 50?
                    wie viele würden von ihrem derzeitigen privaten, sicheren setup auf einen cloud service von mir/sonstwem wechseln, dem sie ihre zugangsdaten anvertrauen müssten? ein dutzend?
                    ​​​​​​

                    sorry, da habe ich mit Familie & Co gerade andere Dinge um die Ohren
                    Aber ist ja Gott sei dank hier alles open source, mit permissiver Lizenz, feel free!
                    ​​​​verstehe durchaus die frustration ob des setups aber manche dinge kosten geld und andere halt aufzuwendende zeit....
                    ​​​​

                    Kommentar


                      Zitat von E3EAT Beitrag anzeigen
                      wenn du mal soweit gekommen bist musst du noch die Payload-Version anpassen. Ich glaube das hat mit der neuen Generation der Echos zu tun die seit Ende Oktober verfügbar sind.
                      werde das bis Weihnachten anpassen und alles auf die neueste Version ziehen!
                      ​​​​​​

                      Kommentar


                        Zitat von do5tj80 Beitrag anzeigen
                        Wenn ich mein Letsencrypt SSL Zertifikat verwede bekomme ich beim test der AWS Funktion immer folgenden Error:
                        "errorMessage": "unable to verify the first certificate" Mittlerweile bin ich mit meinem Latain am Ende. Was kann ich noch tun um das ganze via HTTPS ans laufen zu bekommen. Wenn ich das via POST aus dem Firefox händisch auf die Externe Adresse absetze bekomme ich die gewünschte Antwort. LG Tobias
                        schick mir mal per PN deine Endpunkt Daten und ich kann mal drauf schauen

                        Kommentar


                          So Freunde der Nacht,

                          Nach langem rumprobieren und verstehen, was Alexa und alle Drittanbieter da treiben, hätte ich hier eine schlanke, kostenlose, standardisierte Lösung für Euch in 5 Schritten.
                          Insbesondere auch für die Anwender interessant, die wie ich, keine öffentlich IP von Ihrem Provider bereit gestellt bekommen (QUIX ist einer dieser Provider. Das ist der Nachteil, wenn man aufs Land zieht ;o) ).

                          Beschreibung hier:
                          https://github.com/bwssytems/ha-bridge/

                          Neueste Version 5.0.0 hier (kostenlos!!!):
                          http://bwssystems.com/

                          Ablauf:
                          Step1:
                          Das Tool basiert auf Java. Ich habe den SmarthomeNG auf einem Raspi laufen, in der aktuellen Version ist das OpenJava schon vorinstalliert.
                          Einfach in ein Verzeichnis entpacken und mit den Parametern siehe Beschreibung starten (-Dserver.Port=81 Port auf z.B. 81 umlegen, statt Standard 80).
                          Danach ist die HABridge per Browser erreichbar. Dort legt man nun neue Bridges per Klicki-bunti an. Der vergebene Name ist der, der dann von Alexa aufgerufen werden kann.
                          Man kann nun aus mehreren Möglichkeiten wählen, was bei ON, OFF, DIM, COLOR für Befehle abgesetzt werden soll. Von HTTP über TCP, UDP oder das Ausführen eines Scriptes (bash).
                          Ich habe mich für letzteres entschieden.
                          Habe mir 2 Scripte angelegt unter /usr/local/smarthome/bin/schalte.sh und starte.sh.

                          Step2:
                          Im SmarthomeNG habe ich das Netzwerkplugin aktiviert. Dort kann man per netcat direkt Werte eines Items setzen (schalten.sh) oder Logiken aufrufen (starte.sh).
                          Zusätzlich kann man noch per acl festlegen, von welcher IP die Wertzuweisung erlaubt ist (Thema Sicherheit).
                          Was im Beispiel im Plugin gefehlt hat, war das Attribut tcp = yes. Dann funktioniert auch der Netcataufruf.

                          Step3:
                          Alle Items/Logiken die per Netwerk-Plugin verändert werden sollen, müssen in der Itemliste ein Flag bekommen.
                          [Licht]
                          type = num
                          visu = yes
                          nw = yes <====

                          [myLogik]
                          filename = ...
                          nw = yes

                          Step4 (Fleißarbeit):
                          Man legt sich die Bridges an. Z.B. Wohnzimmer => Execute.... /usr/local/smarthome/bin/schalte.sh EG.Wohnzimmer.Licht on|off|${intensity.byte}
                          schalte.sh sieht dann so aus
                          echo "item|$1|$2"|nc -w 1 localhost 2727

                          Bsp.: Panikschaltung => Execute ... /usr/local/smarthome/bin/starte.sh panikschaltung on|off|wasDirGefaellt
                          starte.sh so:
                          echo "logic|$1|$2"|nc -w 1 localhost 2727

                          Dann braucht man natürlich eine Logik mit dem Namen "panikschaltung", die aufgerufen werden kann. "on|off|..." wird der Logik als Übergabewert mitgegeben.

                          Idee der Logik ist, darüber Scenen abbilden zu können, wenn man auf Grund eines Aufrufes mehrere Items schlaten möchte. Vlt. will man aber ja auch etwas anderes Starten.

                          Step5:
                          "Alexa, scanne alle Geräte"
                          "... das kann bis zu 20 Sekunden dauern .... Ich habe x neue Geräte gefunden."
                          Test: "Alexa, Wohnzimmer an"
                          Et voila.

                          Viel Spaß damit!

                          Kurze Rückmeldungen, ob es bei Euch geklappt hat, wären für das Forum bestimmt hilfreich.

                          Viele Grüße aus dem Saarland
                          Krischan
                          Zuletzt geändert von Krischan4711; 27.11.2017, 20:52.

                          Kommentar


                            Hi Krischan4711 ,

                            das ist doch mal ein erfrischend anderer Ansatz das "Problem" zu lösen. Gefällt mir. Das NW Plugin habe ich auch zuerst bemüht und dann via reverse proxy die API calls umgesetzt. So ist das natürlich auch chic. Das ist für diejenigen die nicht so gut können mit der Cloud Variante sicher eine gute Lösung.

                            Kommentar


                              Ich weis nicht ob das gefixt wurde, da hab ich keine Rückmeldung bekommen, deswegen folgender Hinweis.

                              Für alle die Probleme haben beim NW Plugin und Habridge kann ich nur das empfehlen:
                              https://knx-user-forum.de/forum/supp...ge-amazon-echo

                              Gruß Wolfi

                              Kommentar


                                OsLee540i das ging an mir vorbei.. es geht um die
                                self.close()
                                oder?

                                Ich hatte vor längerem in der connection.py was gefixt.. M.E. sollte über den bool parameter an die send methode jetzt auch geschlossen werden ohne diese zeilen... das ist dort implementiert..

                                ist es nicht so?

                                Hier:
                                https://github.com/smarthomeNG/smart...2bf4555a074ad4
                                Zuletzt geändert von psilo; 29.11.2017, 17:14.

                                Kommentar

                                Lädt...
                                X