Ankündigung

Einklappen
Keine Ankündigung bisher.

Umfrage: Amazon Echo

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

    #46
    So heute war endlich mein Echo Dot in der Post. Ich habe den Skill mit dem Gerät verknüpft. Und siehe da, das funktioniert!

    Ich musste nur noch eine Anpassung machen. Der Skill benötigt eine OAuth Routine, damit das Gerät mit einem Konto verknüpft werden kann. Ich habe mich an diese Anleitung gehalten und habe Amazon selbst als OAuth provider verwendet: http://stackoverflow.com/questions/3...ted-home-skill

    Einziges Problem! Alexa erkennt zwar Geräte und schaltet sie auch. Allerdings liefert sie als Antwort, dass der Befehl für das angegebene Gerät nicht funktioniert. Was gelogen ist, weil es sehr wohl funktioniert.

    Aber damit können wir ja arbeiten

    Kommentar


      #47
      Hey, Glückwunsch!

      Kommentar


        #48
        Noch sind wir nicht am Ende angekommen. Ich bin von einem release fähigen Stand noch weit entfernt. Wenn auch dieser Durchbruch schonmal der Grundstein für das ganze Vorhaben ist. Ich glaube wir können hier was sehr gutes erreichen.

        Kommentar


          #49
          hab nen plugin geschrieben, kannst ja parallel schauen ob du es zum laufen bekommst.
          das setup mit dem amazon skill und skill-enabling in der app ist ja wahnsinnig kompliziert...

          https://github.com/hotzen/smarthome/.../plugins/alexa

          Kommentar


            #50
            Zitat von hotzen Beitrag anzeigen
            hab nen plugin geschrieben, kannst ja parallel schauen ob du es zum laufen bekommst.
            das setup mit dem amazon skill und skill-enabling in der app ist ja wahnsinnig kompliziert...

            https://github.com/hotzen/smarthome/.../plugins/alexa
            Danke für deinen Code.

            Gruss,

            Stefan
            Sonos

            Kommentar


              #51
              Danke hotzen für das Teilen deines Codes. Ich schau mir das mal an. Nach dem ersten Überfliegen würde ich sagen hast du genau das programmiert, was ich gerne gemacht hätte. Dafür war ich wohl nicht klug genug ^^

              Kommentar


                #52
                hotzen Ich hab das nun mal versucht und bekomme es aber nicht so recht hin.

                Code:
                root@smartvisu:/usr/local/smarthome/etc# netstat -tulpen
                Active Internet connections (only servers)
                Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
                tcp        0      0 0.0.0.0:2424            0.0.0.0:*               LISTEN      1000       3209817     11848/python3
                tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      0          11471       818/exim4
                tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          2471412     21699/smbd
                tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      1000       3209811     11848/python3
                tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          2471413     21699/smbd
                tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      0          9454        349/rpcbind
                tcp        0      0 0.0.0.0:2323            0.0.0.0:*               LISTEN      1000       3209818     11848/python3
                tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          10496       374/sshd
                tcp        0      0 0.0.0.0:35383           0.0.0.0:*               LISTEN      106        9564        358/rpc.statd
                tcp6       0      0 ::1:25                  :::*                    LISTEN      0          11472       818/exim4
                tcp6       0      0 :::55418                :::*                    LISTEN      106        9570        358/rpc.statd
                tcp6       0      0 :::443                  :::*                    LISTEN      0          3153652     10676/apache2
                tcp6       0      0 :::445                  :::*                    LISTEN      0          2471410     21699/smbd
                tcp6       0      0 :::6720                 :::*                    LISTEN      0          9974        1/systemd
                tcp6       0      0 :::139                  :::*                    LISTEN      0          2471411     21699/smbd
                tcp6       0      0 :::111                  :::*                    LISTEN      0          9457        349/rpcbind
                tcp6       0      0 :::80                   :::*                    LISTEN      0          3153648     10676/apache2
                tcp6       0      0 :::22                   :::*                    LISTEN      0          10508       374/sshd
                udp        0      0 0.0.0.0:948             0.0.0.0:*                           0          9453        349/rpcbind
                udp        0      0 127.0.0.1:958           0.0.0.0:*                           0          9556        358/rpc.statd
                udp        0      0 192.168.1.10:3672       0.0.0.0:*                           108        10663       394/knxd
                udp        0      0 0.0.0.0:36862           0.0.0.0:*                           106        9561        358/rpc.statd
                udp        0      0 0.0.0.0:111             0.0.0.0:*                           0          9450        349/rpcbind
                udp        0      0 192.168.1.255:137       0.0.0.0:*                           0          2471215     21658/nmbd
                udp        0      0 192.168.1.10:137        0.0.0.0:*                           0          2471214     21658/nmbd
                udp        0      0 0.0.0.0:137             0.0.0.0:*                           0          2471211     21658/nmbd
                udp        0      0 192.168.1.255:138       0.0.0.0:*                           0          2471217     21658/nmbd
                udp        0      0 192.168.1.10:138        0.0.0.0:*                           0          2471216     21658/nmbd
                udp        0      0 0.0.0.0:138             0.0.0.0:*                           0          2471212     21658/nmbd
                udp6       0      0 :::39685                :::*                                106        9567        358/rpc.statd
                udp6       0      0 :::948                  :::*                                0          9456        349/rpcbind
                udp6       0      0 :::111                  :::*                                0          9455        349/rpcbind

                Code:
                [EG]
                   [[Wohnzimmer]]
                                [[[SpotsOfen]]]
                            [[[[Schalten]]]]
                            type = bool
                            enforce_updates = yes
                            visu_acl = rw
                            nw = yes
                            knx_dpt = 1
                            knx_listen = 1/0/3
                            knx_send = 1/0/0
                            knx_cache 1/0/3
                        alexa_name = "Wohnzimmer Ofen"
                        alexa_actions = turnOn turnOff
                            [[[[Dimmen]]]]
                            type = num
                                        nw = yes
                            enforce_updates = yes
                            knx_dpt = 5
                            knx_listen = 1/0/4
                            knx_send = 1/0/2
                            knx_cache 1/0/4
                        alexa_name = "Wihnzimmer Ofen"
                        alexa_actions = setPercentage incrementPercentage decrementPercentage
                Code:
                2016-11-29  10:59:40 INFO     CP Server CP Server Thread-14 192.168.1.1 - - [29/Nov/2016:10:59:40] "GET / HTTP/1.1" 500 1741 "" ""
                2016-11-29  10:59:40 ERROR    CP Server CP Server Thread-15 [29/Nov/2016:10:59:40] HTTP
                Traceback (most recent call last):
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cprequest.py", line 670, in respond
                    response.body = self.handler()
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/lib/encoding.py", line 220, in __call__
                    self.body = self.oldhandler(*args, **kwargs)
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/lib/jsontools.py", line 61, in json_handler
                    value = cherrypy.serving.request._json_inner_handler(*args, **kwargs)
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cpdispatch.py", line 60, in __call__
                    return self.callable(*self.args, **self.kwargs)
                  File "/usr/local/smarthome/plugins/alexa/service.py", line 32, in index
                    req = cherrypy.request.json
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/__init__.py", line 232, in __getattr__
                    return getattr(child, name)
                AttributeError: 'Request' object has no attribute 'json'
                2016-11-29  10:59:40 INFO     CP Server CP Server Thread-15 [29/Nov/2016:10:59:40] HTTP
                Request Headers:
                  Content-Type: application/json
                  Remote-Addr: 192.168.1.1
                  HOST: 192.168.1.10:9000
                  CONNECTION: Keep-Alive
                  X-FORWARDED-FOR: 52.19.74.195
                  X-FORWARDED-HOST: virtual.heneronline.de
                  X-FORWARDED-SERVER: virtual.heneronline.de
                  Content-Length: 785
                  X-FORWARDED-PROTO: https
                  AUTHORIZATION: Basic YWxleGE6IU51ckZ1ZXJBbGV4YTIwMTYj
                2016-11-29  10:59:40 INFO     CP Server CP Server Thread-15 192.168.1.1 - - [29/Nov/2016:10:59:40] "GET / HTTP/1.1" 500 1741 "" ""
                2016-11-29  10:59:40 ERROR    CP Server CP Server Thread-16 [29/Nov/2016:10:59:40] HTTP
                Traceback (most recent call last):
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cprequest.py", line 670, in respond
                    response.body = self.handler()
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/lib/encoding.py", line 220, in __call__
                    self.body = self.oldhandler(*args, **kwargs)
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/lib/jsontools.py", line 61, in json_handler
                    value = cherrypy.serving.request._json_inner_handler(*args, **kwargs)
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cpdispatch.py", line 60, in __call__
                    return self.callable(*self.args, **self.kwargs)
                  File "/usr/local/smarthome/plugins/alexa/service.py", line 32, in index
                    req = cherrypy.request.json
                  File "/usr/local/lib/python3.4/dist-packages/cherrypy/__init__.py", line 232, in __getattr__
                    return getattr(child, name)
                AttributeError: 'Request' object has no attribute 'json'
                2016-11-29  10:59:40 INFO     CP Server CP Server Thread-16 [29/Nov/2016:10:59:40] HTTP
                Request Headers:
                  Content-Type: application/json
                  Remote-Addr: 192.168.1.1
                  HOST: 192.168.1.10:9000
                  CONNECTION: Keep-Alive
                  X-FORWARDED-FOR: 52.19.74.195
                  X-FORWARDED-HOST: virtual.heneronline.de
                  X-FORWARDED-SERVER: virtual.heneronline.de
                  Content-Length: 785
                  X-FORWARDED-PROTO: https
                  AUTHORIZATION: Basic YWxleGE6IU51ckZ1ZXJBbGV4YTIwMTYj
                2016-11-29  10:59:40 INFO     CP Server CP Server Thread-16 192.168.1.1 - - [29/Nov/2016:10:59:40] "GET / HTTP/1.1" 500 1741 "" ""
                Code:
                 
                 START RequestId: 033c7ec2-b61a-11e6-bc33-bd93f7e53f34 Version: $LATEST 2016-11-29T09:55:53.031Z	033c7ec2-b61a-11e6-bc33-bd93f7e53f34	request: 500 / {"date":"Tue, 29 Nov 2016 09:55:52 GMT","server":"Apache","content-length":"1741","content-type":"text/html;charset=utf-8","vary":"Accept-Encoding","cache-control":"no-cache","connection":"close"} 2016-11-29T09:55:53.032Z	033c7ec2-b61a-11e6-bc33-bd93f7e53f34	{"errorMessage":"DependentServiceUnavailableError"} END RequestId: 033c7ec2-b61a-11e6-bc33-bd93f7e53f34 REPORT RequestId: 033c7ec2-b61a-11e6-bc33-bd93f7e53f34	Duration: 868.87 ms	Billed Duration: 900 ms 	Memory Size: 128 MB	Max Memory Used: 10 MB
                Ne Idee?

                Kommentar


                  #53
                  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

                  Kommentar


                    #54
                    Okay ich glaube das ist jetzt die richtige Gelegenheit für diese Frage. Wenn ich also in meinem /usr/local/smarthome bin. Wie kann ich aus deinem branch "alexa" den ./plugin/alexa rauspullen? Ich checke git einfach so gar nicht muss ich mal offen gestehen.

                    Zudem was meintest du soll ich an der payload ändern? Kann dir nicht ganz folgen.

                    Danke vorab.

                    Kommentar


                      #55
                      kannst es dir erstmal einfacher machen, mein repo in ein extra verzeichnis clonen
                      Code:
                      git clone https://github.com/hotzen/smarthome.git /opt/smarthome-alexa
                      in das verzeichnis rein, dann in den alexa branch wechseln
                      Code:
                      git checkout alexa
                      dann in dein smarthome-plugins einen softlink auf mein alexa-plugin
                      Code:
                      ln -s /opt/smarthome-alexa/plugins/alexa /usr/local/smarthome/plugins/alexa
                      das müsste dann relativ locker funktionieren und sobald meins halbwegs tut, mach ich einen pull request ins smarthomeNG in den develop-branch

                      Kommentar


                        #56
                        das hier meine ich in der aws_lambda.js:
                        Code:
                        var data = 'json=' + JSON.stringify(event)
                        wie du siehst baller ich die payload in den parameter json, das wird wohl so von cherrpy erwartet.

                        und ich bin jetzt uebrigens stuck ohne echo oder dot, da alexa.amazon.de sich weigert mich den skill einrichten zu lassen, weil meine spracheinstellungen auf deutsch geändert werden müssten. ich hab nur keine moeglichkeit das zu aendern. lt amazon support braucht man dafuer einen echo oder echo dot und ich hab noch keinen

                        Kommentar


                          #57
                          Okay das ist ein ziemlich cooler weg das zu machen. Poste mal bitte deine Lambda Funktion ohne Options natürlich Dann kann ich die mit meiner vergleichen. Oder ist das im alexa branch die aktuellste Version?

                          Kommentar


                            #58
                            ja, ist eingecheckt als aktuellste version: https://github.com/hotzen/smarthome/.../aws_lambda.js
                            s. environmental variables fuer die ganze konfiguration

                            Kommentar


                              #59
                              Zitat von hotzen Beitrag anzeigen
                              das hier meine ich in der aws_lambda.js:
                              Code:
                              var data = 'json=' + JSON.stringify(event)
                              wie du siehst baller ich die payload in den parameter json, das wird wohl so von cherrpy erwartet.

                              und ich bin jetzt uebrigens stuck ohne echo oder dot, da alexa.amazon.de sich weigert mich den skill einrichten zu lassen, weil meine spracheinstellungen auf deutsch geändert werden müssten. ich hab nur keine moeglichkeit das zu aendern. lt amazon support braucht man dafuer einen echo oder echo dot und ich hab noch keinen
                              Ja das kann ich bestätigen. Ich habe einen Dot und kann das einrichten. Ich habe die OAuth erfolgreich verbunden und wenn ich auf discover Devices klicke kommen eben die oben erwähnten Fehler.

                              Also irgendwas wuppt noch nicht so ganz

                              Kommentar


                                #60
                                Code:
                                2016-11-29  13:09:53 INFO     alexa        [29/Nov/2016:13:09:53] ENGINE Monitor thread '_TimeoutMonitor' already started.
                                2016-11-29  13:09:53 ERROR    Dummy-25     Unhandled exception: <WorkerThread(CP Server CP Server Thread-10, started 140205128300288)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                  File "/usr/lib/python3.4/threading.py", line 912, in _bootstrap_inner
                                    del _limbo[self]
                                
                                2016-11-29  13:09:53 ERROR    Dummy-26     Unhandled exception: <WorkerThread(CP Server CP Server Thread-9, started 140205136692992)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                  File "/usr/lib/python3.4/threading.py", line 912, in _bootstrap_inner
                                    del _limbo[self]
                                
                                2016-11-29  13:09:53 ERROR    Dummy-27     Unhandled exception: <WorkerThread(CP Server CP Server Thread-11, started 140205038233344)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                  File "/usr/lib/python3.4/threading.py", line 912, in _bootstrap_inner
                                    del _limbo[self]
                                
                                2016-11-29  13:09:53 ERROR    Dummy-28     Unhandled exception: <WorkerThread(CP Server CP Server Thread-12, started 140205136692992)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                  File "/usr/lib/python3.4/threading.py", line 912, in _bootstrap_inner
                                    del _limbo[self]
                                
                                2016-11-29  13:09:53 ERROR    Dummy-29     Unhandled exception: <WorkerThread(CP Server CP Server Thread-13, started 140205038233344)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                  File "/usr/lib/python3.4/threading.py", line 912, in _bootstrap_inner
                                    del _limbo[self]
                                
                                2016-11-29  13:09:53 ERROR    Dummy-30     Unhandled exception: <WorkerThread(CP Server CP Server Thread-14, started 140205136692992)>
                                <class 'KeyError'>
                                  File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
                                    self._bootstrap_inner()
                                Dein Code schmeißt außerdem einen Fehler, wenn man das Backend Plugin aktiv hat. Hab das grad getestet. Wenn man das Backend deaktiviert klappt alles.
                                Dann ist auch der Fehler auf der aws Konsole nicht 500, sondern 400. Was den Unterschied macht, keine Ahnung.

                                Kommentar

                                Lädt...
                                X