Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Custom Skill für EDOMI (LBS 19000646 und 19000647)

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

    Hi,
    Zitat von jonofe Beitrag anzeigen
    Bislang waren die Lock Commands nur für U.S., d.h. in englisch verfügbar. In der API wird dies zwar nicht ausdrücklich erwähnt, allerdings habe ich dort auch nicht die deutschen Befehle gefunden. Hast du da irgendwo mehr Infos gesehen?
    äh - nö. Ich bin mal davon ausgegangen das man ein "Alexa schließe die tür" einfach nutzen kann... Alexa scheint zumindest öffnen und schließen zu versetehen - ich habe nur kein device das man öffnen/schließen kann...
    Gruß
    Thorsten

    Kommentar


      Hi
      hier mal mein Feedback und Fragen zu seiner - sehr gut gemachten Anleitung (Respekt!)
      Frage: warum aktivierst du SSL auf dem EDOMI und lässt das Script dort laufen?
      Bei mir läuft ein APACHE und die installation dort funktioniert auch wunderbar... also warum nicht auf dem Raspberry?
      Würde SSL aktivierung auf dem EDOMI sparen (weniger änderungen) - und evtl. auch den EDOMI weniger angreifbar machen?

      Kapitel 9.2: könnte erweitert werden und direkt beide Scripts direkt installiert werden (ist nur in 11.4 kurz erwähnt aber in 11.3 schon refernziert?)
      Seite 13: "userIDValidation=false;" gibt es nicht mehr. Kleine aktualisierung/schönheitskorrektur möglich
      Screenshot auf Seite 19: hat mittlerweile noch "permissions" (können alle deaktiviert bleiben)
      Seite 32: "create a new alexa skill" - screenshot is veraltet. Da muss mittlerweile "Payload v2" ausgewählt werden
      Seite 42: (vor Kapitel 11.4) müsste da nicht noch rein: "jetzt zurück zu Kapitel 11.2 und dort weitermachen"?

      Und last but not least: für die beiden PHP-Scripts würde ich mir wüschen das die Log-files nicht hardcodiert sind.
      Da bei mir die Scripts nicht auf der Edomi laufen sind die Log-Pfade ungültig... durch anpassen der zeilen 189/202 (alexa-smarthome-skill.php) und 959/966 (alexa-custom-skill.php) auf ein gültiges Log-Verzeichniss klappt das nun auch bei mir :-)

      Alles keine Kritik - sondern nur Feedback. Die Anleitung (besonders bei der Alexa/Amazon/Lambda komplexität) ist super!

      Gruß
      Thorsten

      Kommentar


        Zitat von ThorstenGehrig Beitrag anzeigen
        Hi
        hier mal mein Feedback und Fragen zu seiner - sehr gut gemachten Anleitung (Respekt!)
        Frage: warum aktivierst du SSL auf dem EDOMI und lässt das Script dort laufen?
        Bei mir läuft ein APACHE und die installation dort funktioniert auch wunderbar... also warum nicht auf dem Raspberry?
        Würde SSL aktivierung auf dem EDOMI sparen (weniger änderungen) - und evtl. auch den EDOMI weniger angreifbar machen?
        Weil der RPI in meiner DMZ läuft und ich aus Sicherheitsgründen lieber den SSL Port in meiner Firewall zum EDOMI Apache öffne als mehrere Port von meinen Skripts zu einem Edomi LBS. Klar kann man die Skripts auch auf dem RPI laufen lassen. Genau deshalb habe ich ja auch Sockets implementiert und keine Message Queues.

        Zitat von ThorstenGehrig Beitrag anzeigen
        Kapitel 9.2: könnte erweitert werden und direkt beide Scripts direkt installiert werden (ist nur in 11.4 kurz erwähnt aber in 11.3 schon refernziert?)
        Seite 13: "userIDValidation=false;" gibt es nicht mehr. Kleine aktualisierung/schönheitskorrektur möglich
        Screenshot auf Seite 19: hat mittlerweile noch "permissions" (können alle deaktiviert bleiben)
        Seite 32: "create a new alexa skill" - screenshot is veraltet. Da muss mittlerweile "Payload v2" ausgewählt werden
        Seite 42: (vor Kapitel 11.4) müsste da nicht noch rein: "jetzt zurück zu Kapitel 11.2 und dort weitermachen"?
        Alles valide Punkte. Danke dafür. Im Moment ist allerdings Doku-Kosmetik Prio2 bei mir. Gerne stelle ich aber auch das .odt File zur Verfügung, wenn jemand die Doku optimieren möchte.

        Zitat von ThorstenGehrig Beitrag anzeigen
        Und last but not least: für die beiden PHP-Scripts würde ich mir wüschen das die Log-files nicht hardcodiert sind.
        Da bei mir die Scripts nicht auf der Edomi laufen sind die Log-Pfade ungültig... durch anpassen der zeilen 189/202 (alexa-smarthome-skill.php) und 959/966 (alexa-custom-skill.php) auf ein gültiges Log-Verzeichniss klappt das nun auch bei mir :-)
        Guter Punkt. Werde ich ins alexa-config.php File einbauen.

        Danke noch mal für das ausführliche Feedback.



        Kommentar


          Ich bekomme bei jedem Befehl, der über das Smarthome Skill läuft, die Antwort
          "Das Gerät reagiert gerade nicht".
          Trotzdem wird es jedoch über den Bus Ein/Ausgeschaltet.

          Was kann es da haben?
          Es ging schon mal ohne dieses Phänomen

          Kommentar


            Zitat von eriche Beitrag anzeigen
            Ich bekomme bei jedem Befehl, der über das Smarthome Skill läuft, die Antwort
            "Das Gerät reagiert gerade nicht".
            Trotzdem wird es jedoch über den Bus Ein/Ausgeschaltet.

            Was kann es da haben?
            Es ging schon mal ohne dieses Phänomen
            Das klingt danach als würde keine oder eine falsche Antwort an den Alexa Service zurückgeschickt.
            Was steht denn im Log des Smarthome Skills? Insbesondere hinter "Status received from EDOMI:"

            Kommentar


              Code:
              Source    : OK
              User-ID   : OK
              Client-ID : OK
              Expiry    : OK
              Authorization Token successfully validated
              Starting communication with EDOMI
              Smarthome Control started...
              Data sent to EDOMI
              
              Waiting for response from 192.168.1.66
              
              Status received from EDOMI: {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"TurnOnConfirmation","payloadVersion":"2","messageId":"..."},"payload":{}}
              
              Data sent to EDOMI
              
              Waiting for response from 192.168.1.66
              
              Status received from EDOMI: 
              
              JSON RESPONSE: 
              
              
              Received (JSON) Event from alexa@amazon
              =========================================
              Array
              (
                  [header] => Array
                      (
                          [payloadVersion] => 2
                          [namespace] => Alexa.ConnectedHome.Control
                          [name] => TurnOffRequest
                          [messageId] => ...
                      )
              
                  [payload] => Array
                      (
                          [appliance] => Array
                              (
                                  [additionalApplianceDetails] => Array
                                      (
                                      )
              
                                  [applianceId] => Device001
                              )
              
                          [accessToken] => Atza|IwEBIOI8Fr0uoI-...
                      )
              
              )
              
              ...
              Habe nur die IDs rausgenommen - erkennst du hier, woran es liegen könnte.

              Kommentar


                Sieht danach aus als hättest du in der alexa-config.php in $targets zweimal denselben EDOMI Server eingetragen und zweimal status auf true. Kann das sein?
                Wenn du nur einen EDOMI Server hast, dann brauchst du nur einen Eintrag:

                PHP-Code:
                $targets = array(
                    array(
                        
                'ip' => '192.168.1.66',
                        
                'protocol' => 'tcp',
                        
                'port' => 8000,
                        
                'status' => true
                    
                )
                ); 
                Wenn du mehrere EDOMI Server mit Smarthome Skill Anbindung hast, dann darf nur bei einem 'status' => true gesetzt sein.

                Kommentar


                  ich habe in der Tat 2x den gleichen Server.
                  einmal mit Port 8000 für das Smarthomeskill und einmal auf Port 8001 für das Customskill.

                  Aber 2x den Status auf true.

                  Nach Deaktivierung von einem Status, klappt es wieder.
                  Lustig ist, dass je nachdem welches der beiden Skills den Status true hat, unterschiedliche Antworten von Alexa kommen.

                  Einmal nur "OK" und einmal "Schaltbefehl erhalten".

                  Mir gefällt das kurze "OK" besser

                  Kommentar


                    Zitat von eriche Beitrag anzeigen
                    ich habe in der Tat 2x den gleichen Server.
                    einmal mit Port 8000 für das Smarthomeskill und einmal auf Port 8001 für das Customskill.

                    Aber 2x den Status auf true.

                    Nach Deaktivierung von einem Status, klappt es wieder.
                    Du solltest nur einen Eintrag in $targets haben und auch nur einen Receiver in deinem Projekt verwenden, solange du nur einen Custom und Smarthome Skill einsetzt.
                    Der Receiver hat ja genau dafür Ausgänge für Custom Skill (A1-A6) und für Smarthome Skill (A7-A12)

                    Zitat von eriche Beitrag anzeigen
                    Lustig ist, dass je nachdem welches der beiden Skills den Status true hat, unterschiedliche Antworten von Alexa kommen.

                    Einmal nur "OK" und einmal "Schaltbefehl erhalten".

                    Mir gefällt das kurze "OK" besser
                    Das ist ein Nebeneffekt der falschen Konfiguration.


                    Kommentar


                      ok - Danke für den Hinweis.
                      jetzt sehe ich noch 2 Fehler in den Logs

                      Code:
                      2017-08-11 11:02:59    911057    ?    14796    Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 2 | Zeile: 31 | json_encode(): Invalid UTF-8 sequence in argument    ERROR
                      2017-08-11 11:02:59    912363    ?    14796    Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000647.php | Fehlercode: 2 | Zeile: 167 | json_encode(): Invalid UTF-8 sequence in argument    ERROR
                      2017-08-11 19:03:39    097681    ?    19656    Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19000806.php | Fehlercode: 8 | Zeile: 72 | Undefined index: payload

                      Kommentar


                        Sieht so aus als würdest du irgendwelche Sonderzeichen verwenden, die nicht unterstützt werden.

                        Kommentar


                          jonofe Hallo André, ich habe ein ähnliches Problem. Seit zwei Tagen findet Alexa die Geräte nicht mehr. Zunächst gibt Alexa zurück, dass das Gerät <xyz> gerade nicht reagiert. Eine Suche nach Smarten Geräten findet keine.
                          Ich habe keine Änderungen vorgenommen und es ist seit langem stabil in Funktion.

                          edomi-smarthome-skill.log:
                          Received (JSON) Event from alexa@amazon
                          =========================================
                          Array
                          (
                          [header] => Array
                          (
                          [payloadVersion] => 2
                          [namespace] => Alexa.ConnectedHome.Discovery
                          [name] => DiscoverAppliancesRequest
                          [messageId] => 69553e1b-388d-4f28-9431-72a2e9efd353
                          )

                          [payload] => Array
                          (
                          [accessToken] => Atza|IwEBIH092MmwmX22Fose6xjOVBAWSuW27yVwFJPlSik1z NcDtWkRIVDDSyVg1joF07nRt9MIu2DpdieQYGuNPz8q2Mj_7qI icwtUTD_N1a299IODyK2qx4O_Kg5ZEI_VIbYD4IZX1kuUVrDe7 WdfhIO15Rax_AoEymEDkUd2CdhoEZlLV1DunrcYBw31w7eHLy_ u1-hy1KHswTRTo01D1X4jf2HL9Dcpkchh0MPFrgM8EWRYGEvjQFcD h61VqHImUG3rohSiwEG_tIpMFsm1SUML3IlO7Vx5S2yI1x1JCN sT55qpJcBlsWwIRAxktdhOMwyOrkRz0jye1RxiBVHHIGkxTeod LEqqyR_OZ9gtLHfyqSa6un6Cb68XSSHgBy99y19ptu4yUX4Yd8 qxGGLs90okCyNPRpCJULavQwJ_Fv8REDSDgdLMrcKW8IqtBcWY Fw6220FwIvF0165-EN5UPrNm0N79aP__F7gsSQgMqv7Uw_vIaw
                          )

                          )

                          Validation URL: https://api.amazon.com/auth/O2/token...SQgMqv7Uw_vIaw
                          JSON Validation Response: {"aud":"amzn1.application-oa2-client.ec3f9ea2013b44939f319d5f19cd8158","user_id" :"amzn1.account.AHYDNNSTVONEGU5OFPPNHQYBPOUA","iss ":"https://www.amazon.com","exp":3597,"app_id":"amzn1.applica tion.7b5ad45eaa184f0bac0245e834c55891","iat":15023 92806}
                          OAUTH Validattion Response:
                          HTTP/1.1 200 OK
                          Server: Server
                          Date: Thu, 10 Aug 2017 19:20:09 GMT
                          Content-Type: application/json
                          Content-Length: 247
                          Connection: keep-alive
                          x-amzn-RequestId: ece5763a-7e00-11e7-82d2-2ff40dee474d
                          X-Amz-Date: Thu, 10 Aug 2017 19:20:09 GMT
                          Cache-Control: no-cache, no-store, must-revalidate
                          Pragma: no-cache
                          Vary: Accept-Encoding,User-Agent


                          Array
                          (
                          [aud] => amzn1.application-oa2-client.ec3f9ea2013b44939f319d5f19cd8158
                          [user_id] => amzn1.account.AHYDNNSTVONEGU5OFPPNHQYBPOUA
                          [iss] => https://www.amazon.com
                          [exp] => 3597
                          [app_id] => amzn1.application.7b5ad45eaa184f0bac0245e834c55891
                          [iat] => 1502392806
                          )

                          Source : OK
                          User-ID : OK
                          Client-ID : OK
                          Expiry : OK
                          Authorization Token successfully validated
                          Starting communication with EDOMI
                          Smarthome Discovery started...
                          Data sent to EDOMI

                          Waiting for response from 192.168.178.200

                          Status received from EDOMI: {"header":{"messageId":"396a4588-67d1-4a9c-8ed6-8e8349601213","name":"DiscoverAppliancesResponse", "namespace":"Alexa.ConnectedHome.Discovery","paylo adVersion":"2"},"payload":{"discoveredAppliances":[{"actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"],"additionalApplianceDetails":{},"applianceId":"De vice001","friendlyDescription":"Haengeleuchte","fr iendlyName":"Haengeleuchte","isReachable":true,"ma nufacturerName":"Made by EDOMI","modelName":"Haengeleuchte","version":"1.51 "},{"actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"],"additionalApplianceDetails":{},"applianceId":"De vice002","friendlyDescription":"Esstisch","friendl yName":"Esstisch","isReachable":true,"manufacturer Name":"Made by EDOMI","modelName":"Esstisch","version":"1.51"},{" actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"Vi deo001","friendlyDescription":"Fernseher","friendl yName":"Fernseher","isReachable":true,"manufacture rName":"Made by EDOMI","modelName":"Fernseher","version":"1.51"},{ "actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"De vice003","friendlyDescription":"alle Lampen","friendlyName":"alle Lampen","isReachable":true,"manufacturerName":"Mad e by EDOMI","modelName":"alle Lampen","version":"1.51"},{"actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"De vice004","friendlyDescription":"alle Lichter","friendlyName":"alle Lichter","isReachable":true,"manufacturerName":"Ma de by EDOMI","modelName":"alle Lichter","version":"1.51"}]}}

                          JSON RESPONSE:
                          {"header":{"messageId":"396a4588-67d1-4a9c-8ed6-8e8349601213","name":"DiscoverAppliancesResponse", "namespace":"Alexa.ConnectedHome.Discovery","paylo adVersion":"2"},"payload":{"discoveredAppliances":[{"actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"],"additionalApplianceDetails":{},"applianceId":"De vice001","friendlyDescription":"Haengeleuchte","fr iendlyName":"Haengeleuchte","isReachable":true,"ma nufacturerName":"Made by EDOMI","modelName":"Haengeleuchte","version":"1.51 "},{"actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"],"additionalApplianceDetails":{},"applianceId":"De vice002","friendlyDescription":"Esstisch","friendl yName":"Esstisch","isReachable":true,"manufacturer Name":"Made by EDOMI","modelName":"Esstisch","version":"1.51"},{" actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"Vi deo001","friendlyDescription":"Fernseher","friendl yName":"Fernseher","isReachable":true,"manufacture rName":"Made by EDOMI","modelName":"Fernseher","version":"1.51"},{ "actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"De vice003","friendlyDescription":"alle Lampen","friendlyName":"alle Lampen","isReachable":true,"manufacturerName":"Mad e by EDOMI","modelName":"alle Lampen","version":"1.51"},{"actions":["turnOn","turnOff"],"additionalApplianceDetails":{},"applianceId":"De vice004","friendlyDescription":"alle Lichter","friendlyName":"alle Lichter","isReachable":true,"manufacturerName":"Ma de by EDOMI","modelName":"alle Lichter","version":"1.51"}]}}
                          Alexa Receiver Log:
                          2017-08-13 22:06:38 826725 10701 debug LBS19000646 [v0.6.1]: LBS started
                          2017-08-13 22:06:38 834523 10701 debug LBS19000646 [v0.6.1]: Discovered SmartHome Devices:
                          2017-08-13 22:06:38 834837 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT START ================
                          2017-08-13 22:06:38 834989 10701 debug LBS19000646 [v0.6.1]: {"Device001":{"id":"Device001","name":"Haengeleuch te","actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]}}
                          2017-08-13 22:06:38 835125 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT END ================
                          2017-08-13 22:06:38 836385 10701 debug LBS19000646 [v0.6.1]: LBS ended
                          2017-08-13 22:06:38 862009 10701 debug LBS19000646 [v0.6.1]: LBS started
                          2017-08-13 22:06:38 869239 10701 debug LBS19000646 [v0.6.1]: Discovered SmartHome Devices:
                          2017-08-13 22:06:38 869560 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT START ================
                          2017-08-13 22:06:38 869725 10701 debug LBS19000646 [v0.6.1]: {"Device001":{"id":"Device001","name":"Haengeleuch te","actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Device002":{"id":"Device002","name":"Esstisch", "actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]}}
                          2017-08-13 22:06:38 869868 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT END ================
                          2017-08-13 22:06:38 871063 10701 debug LBS19000646 [v0.6.1]: LBS ended
                          2017-08-13 22:06:38 900428 10701 debug LBS19000646 [v0.6.1]: LBS started
                          2017-08-13 22:06:38 908021 10701 debug LBS19000646 [v0.6.1]: Discovered SmartHome Devices:
                          2017-08-13 22:06:38 908308 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT START ================
                          2017-08-13 22:06:38 908513 10701 debug LBS19000646 [v0.6.1]: {"Device001":{"id":"Device001","name":"Haengeleuch te","actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Device002":{"id":"Device002","name":"Esstisch", "actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Video001":{"id":"Video001","name":"Fernseher"," actions":["turnOn","turnOff"]}}
                          2017-08-13 22:06:38 908699 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT END ================
                          2017-08-13 22:06:38 910348 10701 debug LBS19000646 [v0.6.1]: LBS ended
                          2017-08-13 22:06:38 938437 10701 debug LBS19000646 [v0.6.1]: LBS started
                          2017-08-13 22:06:38 947438 10701 debug LBS19000646 [v0.6.1]: Discovered SmartHome Devices:
                          2017-08-13 22:06:38 947727 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT START ================
                          2017-08-13 22:06:38 947905 10701 debug LBS19000646 [v0.6.1]: {"Device001":{"id":"Device001","name":"Haengeleuch te","actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Device002":{"id":"Device002","name":"Esstisch", "actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Video001":{"id":"Video001","name":"Fernseher"," actions":["turnOn","turnOff"]},"Device003":{"id":"Device003","name":"alle Lampen","actions":["turnOn","turnOff"]}}
                          2017-08-13 22:06:38 948051 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT END ================
                          2017-08-13 22:06:38 950974 10701 debug LBS19000646 [v0.6.1]: LBS ended
                          2017-08-13 22:06:38 981487 10701 debug LBS19000646 [v0.6.1]: LBS started
                          2017-08-13 22:06:38 992554 10701 debug LBS19000646 [v0.6.1]: Discovered SmartHome Devices:
                          2017-08-13 22:06:38 992846 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT START ================
                          2017-08-13 22:06:38 993030 10701 debug LBS19000646 [v0.6.1]: {"Device001":{"id":"Device001","name":"Haengeleuch te","actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Device002":{"id":"Device002","name":"Esstisch", "actions":["turnOn","turnOff","setPercentage","incrementPerce ntage","decrementPercentage"]},"Video001":{"id":"Video001","name":"Fernseher"," actions":["turnOn","turnOff"]},"Device003":{"id":"Device003","name":"alle Lampen","actions":["turnOn","turnOff"]},"Device004":{"id":"Device004","name":"alle Lichter","actions":["turnOn","turnOff"]}}
                          2017-08-13 22:06:38 993185 10701 debug LBS19000646 [v0.6.1]: ================ ARRAY/OBJECT END ================
                          2017-08-13 22:06:38 994823 10701 debug LBS19000646 [v0.6.1]: LBS ended
                          Ich weiß im Moment nicht weiter ....

                          Viele Grüße
                          Frank

                          Kommentar


                            ich habe mein Problem gelöst. Der noip.org Dyn DNS Verweis war abgelaufen und musste erneuert werden. Jetzt geht es wieder.

                            Kommentar


                              Hallo,

                              ich habe einen Raspberry mit homebridge-knx und es läuft mit Siri super. Kann ich auf den gleichen Raspi deine Konfiguration für Alexa und Edomi durchführen oder zerschießt mir das dann den KNX Siri kram? Hat da jemand Erfahrung?

                              Besten Dank

                              Kommentar


                                Da ich nicht weiß was der Siri Kram macht, kann ich da wenig zu sagen. Für Edomi wird ja nur ein apache bzw. nginx mit der richtigen Konfiguration benötigt. Einfach ausprobieren ... Beim RPi kann man ja sehr einfach ein Image erstellen und später wieder recovern, wenns nicht funktioniert.

                                Kommentar

                                Lädt...
                                X