Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Smarthome Skill (Payload Version 3)

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

    #46
    Erstmal vielen Dank für den Super LBS macht echt Spaß damit zu arbeiten!!

    Ich komme auch ganz gut voran mit dem Baustein, allerdings versuche ich im Moment einen Color Controller für meine RGBW Strips einzubinden, wo ich nicht weiter komme. Das dimmen für die Strips funktioniert bereits aber mit den Farben komme ich nicht so recht weiter.
    Mir ist nicht klar wie ich den Hexwert den ich aus dem LBS bekomme an meinen MDT AKD-0424V.02 übergeben muss, welche Objekte und wie konvertieren. Wobei ich es in Edomi noch nicht hinbekommen habe überhaupt die Farben meiner Strips zu steuern, das dimmen funktioniert aber soweit. Welche Objekte machen hier am meisten Sinn in der ETS anzulegen um darüber dann die Farben zu steuern?

    Hier mein LBS mit der aktuellen Konfiguration:

    SmartHomeDevice.JPG

    Hier meine Settings im MDT AKD-0424V.02:

    ETS Dimmer.JPG

    Kommentar


      #47
      Hat sich erledigt, habs hinbekommen
      Habe Objekt 66 im Dimmer angelegt und direkt den Wert au dem LBS zugewiesen

      Kommentar


        #48
        Wenn ich https://<dyndns>/edomi/phpinfo.php aufrufe, kommt eine Fehlerseite.
        die Seite könnte nicht gefunden werden...
        Ganz unten steht
        "Apache/2.4.10 (Raspian) Server at mein.dns Port 443"
        Ich glaube der Aufruf wird gar nicht bis zu edomi weitergeleitet.
        Wo kann es da hängen? Die Datei "000-default-le-ssl.conf" habe ich nach der Anleitung angepasst.

        Im lokalen Netz funktioniert die phpinfo.php wenn ich https-adresse mit der IP von edomi aufrufe.
        Zuletzt geändert von Hannes17; 04.09.2018, 21:17.

        Kommentar


          #49
          Welchen Reverse Proxy benutzt du? Apache oder nginx?
          Hast du ihn nach Update des conf-Files neu gestartet?

          Kommentar


            #50
            Zitat von jonofe Beitrag anzeigen
            Welchen Reverse Proxy benutzt du? Apache oder nginx?
            Hast du ihn nach Update des conf-Files neu gestartet?
            Verwende den Apache. Nach der Anpassung der Conf hab ich das Service "apache2" neu gestartet.

            Anbei Screen's von:
            - der Conf (aus Notepad++)
            - die edomi-phpinfo aufgerufen direkt am Proxy (lokal)
            - die phpinfo direkt am edomi-Server (lokal)

            Der Zugriff von Aussen klappt, daher die Screens aus dem lokalen Netz. (Ist einfacher.)
            ssl_conf.jpg
            Angehängte Dateien

            Kommentar


              #51
              Ich müsste das mal im Detail mit meiner Config vergleichen, sieht aber erstmal gut aus.
              In welchem Verzeichnis liegt das conf File, dass du editiert hast. Bist du sicher, dass es auch vom apache genutzt wird, d.h. ist es aus dem sites-enabled Verzeichnis verlinkt?

              Kommentar


                #52
                Zitat von jonofe Beitrag anzeigen
                Ich müsste das mal im Detail mit meiner Config vergleichen, sieht aber erstmal gut aus.
                In welchem Verzeichnis liegt das conf File, dass du editiert hast. Bist du sicher, dass es auch vom apache genutzt wird, d.h. ist es aus dem sites-enabled Verzeichnis verlinkt?
                Hab jetzt die Datei und die Verzeichnisse nochmal geprüft und offensichtlich hab ich da etwas falsch kopiert.
                Funktioniert jetzt.
                Danke.

                Und jetzt kann ich weiter machen...

                Update:
                Jetzt stehe ich leider schon wieder an. Beim Erstellen des Alexa Skill.
                Entweder ich habe mich da gestern Nacht ordentlich verklickt, oder die Seite unterscheidet sich, durch ein Update o.ä., deutlich von der Anleitung. Hab es nicht gefunden, wo bzw. wie ich das "Interaction Model" definieren kann.

                Kann jemand aktuelle Screens posten oder mir etwas weiterhelfen?
                Vielleicht war es gestern aber auch einfach schon zu spät. Werde mir das nochmal ansehen.

                @jonofe: Wenn du die Anleitung bearbeitbar Online stellst, könnten Benutzer diese direkt aktualisieren. Falls ich weiterkomme, kann ich much auch gern beteiligen. Wenn ich mit meinem "Halbwissen" überhaupt etwas beitragen kann.
                Zuletzt geändert von Hannes17; 06.09.2018, 07:44.

                Kommentar


                  #53
                  Zitat von DeekgewOyWro Beitrag anzeigen
                  Bei mir gab es das gleich Problem. Alexa sendet zur Verknüpfung einen Alexa.Authorization Event. Dafür musste ich 2 Dateien ( 19001200_lbs.php und edomi-smarthome-skill-PLv3.php) erweiteren. Danach klappte es. Habe die Version 0.1a genannt zu finden hier [ATTACH]n1255357[/ATTACH]
                  Nachdem ich 4 Stunden daran verbracht habe, rauszufinden, warum es vorgestern alles funktionierte (komplette Neuanlage des Skills, Security Profiles und Lambada Funktion), und heute plötzlich nicht mehr, hat dein Patch mir den Ar*** gerettet ;-). War schon am verzweifeln . Da das nicht mein erster Skill war, war ich sicher, dass ich alles richtig konfiguriert hatte. Nur das im Backend noch was nicht stimmte, hab ich nicht überprüft.

                  Jedenfalls funktioniert das jetzt alles wie SAHNE! Ich bin echt begeistert. Danke Andre für die Arbeit, ich werd die Tage mal ein wenig spenden!

                  Grüße

                  Rico

                  Kommentar


                    #54
                    Moin zusammen,
                    mal angenommen man würde einen kleinen Server mit Webseite und DB dahinter aufstellen, wo man sich anmelden kann, Account konfiguriert und die externe EDOMI-Server-Adresse hinterlegen kann, dann müsste man doch den SmartHome-Skill auch veröffentlichen können oder?
                    Den Skill könnte man dann allgemeingültig programmieren und das Account-Linking gegen den genannten Server machen. Die Lambda-Funktion holt sich dann von dort für den Account die entsprechende Server-Adresse.
                    Damit würde sich jeder, der die LBS nutzen will zumindest den Amazon-Quatsch sparen und braucht nur den Reverse-Proxy konfigurieren....

                    Andre wie siehst du das? Macht das Sinn? Und gäbe es überhaupt genug Interessenten für sowas?

                    Kommentar


                      #55
                      Grundsätzlich ginge das, allerdings habe ich weder die Absicht, noch die Zeit einen solchen Cloud Service zu betreiben. Aus Sicherheitsgesichtspunkten bevorzuge ich ohnehin die dedizierte Version des Skills. Ich möchte am Ende nicht haftbar sein, wenn jemand einen Account des Cloud Service kompromittiert und sich darüber dann remote die Tür eines Hauses öffnet oder ähnliches.

                      Kommentar


                        #56
                        Ich hatte schon geplant heute Abend einen Server aufzusetzen. Aber aus dem Blickwinkel hab ich das noch nicht gesehen. Das hat mir glatt die Lust wieder ausgetrieben
                        Aber ich würde auch dran mitarbeiten die Doku zu aktualisieren, wenn das in deinem Sinne ist. Die könnte man ja ins Wiki einstellen, oder?

                        Kommentar


                          #57
                          Zitat von Dawaterman Beitrag anzeigen
                          Ich hatte schon geplant heute Abend einen Server aufzusetzen. Aber aus dem Blickwinkel hab ich das noch nicht gesehen. Das hat mir glatt die Lust wieder ausgetrieben
                          Aber ich würde auch dran mitarbeiten die Doku zu aktualisieren, wenn das in deinem Sinne ist. Die könnte man ja ins Wiki einstellen, oder?
                          Das wäre doch was.
                          Ich finde auch das wir alle durchaus uns gegenseitig helfen können.
                          Wenn jonofe schonmal nicht mehr die Dok schreiben muss ..ist auch schon viel Arbeit getan.
                          LG
                          Jean-Luc Picard: "Things are only impossible until they are not."

                          Kommentar


                            #58
                            Zitat von jonofe Beitrag anzeigen
                            Ich denke zu 90% sollte die ober verlinkte Anleitung funktionieren. Die Amazon Screens haben sich vielleicht etwas geändert, aber grundsätzlich sollte es vermutlich machbar sein. Meine Empfehlung ist, damit zu starten und dann hier konkrete Fragen zu stellen. Ich werde sie dann versuchen so gut wie möglich zu beantworten.
                            Ich habe leider aufgrund anderer Projekte keine Zeit ein detailliertes Update der Doku zu machen.

                            Wäre natürlich hilfreich, wenn dann jemand seine Bemühungen dokumentiert (Update der aktuellen Beschreibung). Das würde anderen dann auch weiterhelfen.
                            Mehr kann ich leider derzeit nicht anbieten.



                            Wo genau ist denn die Anleitung? Bin glaub ich zu blind dafür?!

                            PS: Ich steh ganz am Anfang, dh. müsste erstmal meinen RPI aufsetzen (geht der 2er oder muss ich nen 3er haben?)
                            PPS: Zur Sicherheit: In diesem Thread bin ich bei der aktuellsten Verbindung von EDOMI und Alexa? Ausserdem bei der Version, die kein "...starte EDOMI und..." benötigt?!
                            Zuletzt geändert von Saargebeat; 17.09.2018, 15:23.

                            Kommentar


                              #59
                              Wenn du keinen pi hast kauf den dreier. Hast du einen pi2 nimm den für den reverse Proxy ... Ausreichend ist der allemal.
                              Du bist beim smarthome skill also kein vocation Wort nötig
                              Jean-Luc Picard: "Things are only impossible until they are not."

                              Kommentar


                                #60
                                Hallo allerseits,

                                ich habe heute versucht die LBS für den Smarthome Skill V3 in Betrieb zu nehmen. Ich bin nach der Anleitung von Jonofe vorgegangen, habe den Reverse Proxy am Laufen, der Skill ist eingerichtet, das Security Profile ist vorhanden und auch die Lambda-Funktion existiert.

                                Aber ich bekomme im Log von "edomi-smarthome-skill-PLv3.php" Version 0.2 immer diese Meldung:

                                Code:
                                Received (JSON) Event from alexa@amazon
                                =========================================
                                Array
                                (
                                    [directive] => Array
                                        (
                                            [header] => Array
                                                (
                                                    [payloadVersion] => 3
                                                    [namespace] => Alexa.Discovery
                                                    [name] => Discover
                                                    [messageId] => 82e918c5-0f12-44dd-9360-e20042dfa3e1
                                                )
                                
                                            [payload] => Array
                                                (
                                                    [scope] => Array
                                                        (
                                                            [token] => Atza|IwEBIGyiOEGPo54cPBzaxWWm-if4zryoYOaEzJtUg1IyxZdBrYWJkdfs0qrCZVXwly49Fd8YAoyWvQ-ZOlmowu4zHYUFT9zO8a3KlwOVpufhLhLwUrJFbLkOXsm2LbWeQrUNCe8msqVNQ1BAlxvLqfOU3TgDhp2q_0jUZpbRuAMmJUOjFYfqJq233t0sF8KjAEwt4Q465ML5YReO7A6P9iCvTy_0_ssyJzkwab2OJfTLd4VWzSHtGRwYaVgmJ_u2w_UZuoAtBsOnQ1d4K6pj3ykWmy4thmhF7vXrfA3428MnEqO4C1BzkNG27aa8UMMQNLYCnO9O6T2qo-moplSOc-nzu-0L3ULG6JqsVFyI6N8xRFAQdXm1MJGI7CLiJbEbxnhydLl1KAti3bT29tm52Y8JwHpCmXP9FKKalk11fCK2Ph1aSxBBJui0sRQfSeHn7PyoXB8XjyIp-ijKaDScpD-KtdeWbnIWJ3dvIRn4YiHenKPKB_Brg4tWz9UurDrGLun_A9SCSuZZXSc-4MJwz-owIHU_
                                                            [type] => BearerToken
                                                        )
                                
                                                )
                                
                                        )
                                
                                )
                                
                                Validation URL: https://api.amazon.com/auth/O2/tokeninfo?access_token=Atza%7CIwEBIGyiOEGPo54cPBzaxWWm-if4zryoYOaEzJtUg1IyxZdBrYWJkdfs0qrCZVXwly49Fd8YAoyWvQ-ZOlmowu4zHYUFT9zO8a3KlwOVpufhLhLwUrQFbLkOXsm2LbWeQrUNCe8msqVNQ1BAlxvLqfOU3TgDhp2q_0jUZpbRuAMmJUOjFYfqJq233t0sF8KjAEwt4Q465ML5YReO7A6P9iCvTy_0_ssyJzkwab2JJfTLd4VWzSHtGRwYaVgmJ_u2w_UZuoAtBsOnJ1d4K6pj3ykWmy4thmhF7vXrfA3428MnEqO4C1BzkNG27aa8UMMQNLYCnO9O6T2qo-moplSOc-nzu-0L3ULG6JqsVFyI6N8xRFAQdXm1MJGI7CLiQbEbxnhydLl1KAti3bT29tm52Y8JwHpCmXP9FKKalk11fCK2Ph1aSxBBJui0sRQfSeHn7PyoXB8XjyIp-ijKaDScpD-KtdeWbnIWJ3dvIRn4YiHenKPKB_Brg4tWz9UurDrGLun_A9SCSuZZXSc-4MJwz-owIHU_
                                JSON Validation Response: {"aud":"amzn1.application-oa2-client.1cdc16cb908946fa9c441befd07fcdb9","user_id":"amzn1.account.AHETXCDCEYNTVXQXPS7J33QTIEVV","iss":"https://www.amazon.com","exp":2785,"app_id":"amzn1.application.792388c49bce444ea6b0797684ecf03b","iat":1538318974}
                                OAUTH Validattion Response:
                                HTTP/1.1 200 OK
                                Server: Server
                                Date: Sun, 30 Sep 2018 15:03:09 GMT
                                Content-Type: application/json;charset=UTF-8
                                Content-Length: 247
                                Connection: keep-alive
                                x-amzn-RequestId: f141706a-c4c1-11e8-a2c1-f7578c429c81
                                X-Amz-Date: Sun, 30 Sep 2018 15:03:09 GMT
                                Cache-Control: no-cache, no-store, must-revalidate
                                Pragma: no-cache
                                Vary: Accept-Encoding,User-Agent
                                x-amz-rid: Q3RWAQNYXB9JJY5JHC56
                                
                                
                                Array
                                (
                                    [aud] => amzn1.application-oa2-client.1cdc16cb908946fa9c441befd07fcdb9
                                    [user_id] => amzn1.account.AHETXCDCEYNTVXQXPS7J33QTIEVV
                                    [iss] => https://www.amazon.com
                                    [exp] => 2785
                                    [app_id] => amzn1.application.792388c49bce444ea6b0797684ecf03b
                                    [iat] => 1538318974
                                )
                                
                                Source    : OK
                                User-ID   : OK
                                Client-ID : OK
                                Expiry    : OK
                                No OAUTH Access Token received
                                Das Gerät wird nicht gefunden, vermutlich weil kein OAUTH Token empfangen wurde, aber warum? Hat jemand eine Idee oder auch schon das Problem und eine Lösung gefunden?

                                P.S.: Die beiden LBS sind auch eingerichtet:
                                SCreenshot 1.png
                                Screenshot 2.png
                                und die Config von "alexa-config-PLv3.php":
                                Code:
                                <?php
                                
                                // ####################
                                // ### Custom Skill ###
                                // ####################
                                
                                $applicationIdValidation = 'amzn1.ask.skill.######################################';
                                $userIdValidation        = false;
                                //$userIdValidation        = 'amzn1.ask.account.###############################################################################################################################################################################################################';
                                $echoServiceDomain       = 'echo-api.amazon.com';
                                $custom_skill_log_path   = '/usr/local/edomi/www/data/log/';
                                $echoIDs                 = array(
                                    'Wohnzimmer'    => 'amzn1.ask.device.############################################################################################################################################################',
                                    'Büro'          => 'amzn1.ask.device.############################################################################################################################################################',
                                    'Schlafzimmer'  => 'amzn1.ask.device.############################################################################################################################################################'
                                );
                                
                                // #######################
                                // ### Smarthome Skill ### 
                                // #######################
                                
                                $user_id                    = 'amzn1.account.AHETXCDCEYNTVXQXPS7J33QTIEVV';
                                $client_id                  = 'amzn1.application-oa2-client.1cdc16cb908946fa9c441befd07fcdb9'; 
                                $smarthome_skill_log_path   = '/usr/local/edomi/www/data/log/';
                                
                                // ###############
                                // ### General ### 
                                // ###############
                                
                                $debug   = false;
                                $targets = array(
                                    array(
                                        'ip' => '192.168.0.11',
                                        'protocol' => 'tcp',
                                        'port' => 8654,
                                        'status' => true
                                    )
                                );
                                
                                
                                
                                ?>

                                Kommentar

                                Lädt...
                                X