Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Smarthome Skill (Payload Version 3)

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

    #91
    Hi Oliver,

    die Zeile mit dem IP Adressbereich habe ich auskommentiert und darüber die Zeile "Required..." wieder einkommentiert. Dadurch gingen auch alle Anfragen durch und es wurden auch alle Geräte gefunden. Würde jedoch nur ungerne alle IP Adressen durchlassen.

    Der 500er HTTP Fehler deutet aber eher auf einen Laufzeitfehler beim Aufruf der PHP Datei. Evtl. mal im Log des Apache vom Edomi Server schauen, ob dort was angezeigt wird. Da stimmt vermutlich irgendwas nicht.

    Viele Grüße,
    Markus

    Kommentar


      #92
      Hallo zusammen,

      Sniffie , so habe ich es leider auch machen müssen. Das gefällt mir aber auch nicht wirklich.
      Kann jemand sagen ob man den aktuellen IP Adressbereich für ALEXA nachschauen kann?

      Zu meinem "dummen" Fehler Sniffie - Danke für den Tip. Der Fehler lag in einem falsch konfigurierten LBS. Ich hatte den Ausgang A1 der Klemme mit der Ausgangsbox verbunden. Das wurde dann nicht übernommen... man soll soetwas nicht Nachts machen....

      Also Ausgang A1 der Alexa SmartHome Device mit dem Eingang der Ausgangsbox verbinden!

      Zwischenablage01.jpg

      Kommentar


        #93
        Zitat von merlin1900 Beitrag anzeigen
        Kann jemand sagen ob man den aktuellen IP Adressbereich für ALEXA nachschauen kann?
        Nein kann man nicht, aber AWS hat eine Liste mit deren IP Ranges.

        Du könntest auch einfach mal für eine gewisse Zeit die IPs auswerten, mit denen Amazon bei dir ankommt.

        Außerdem müsste ein Angreifer ja erstmal die URL deines Skripts kennen, was nicht wirklich wahrscheinlich ist. Zusätzlich müsste ein gültiges OAuth2 Token enthalten sein... Ich würde mir ehrlich gesagt, nicht zu viele Gedanken machen. Der Reverse Proxy ist ja ohnehin aus dem Internet erreichbar. Wenn man die IPs des Alexa Service wirklich herausbekommt, dann sollte man diese eher in der Firewall whitelisten, so dass andere IPs gar nicht bis zum Reverse Proxy kommen.

        Kommentar


          #94
          Hi
          was bedeutet denn E5 (proactive) and E6 (retrievable).
          Ich denke mir das E6=1 dafür sorgt das Alexa statuswerte abfragt/ausgibt... tut er bei mir aber nicht (Power & Brightnescontroller auf 1, E30 & E32 mit richtigen KOs verbunden)
          Für Proactive hab ich nicht mal ne Idee...

          Gruß
          Thorsten

          Kommentar


            #95
            Grundsätzlich sind dies Attribute für die Discovery Response eines Devices. Damit gibt ein Gerät bekannt, ob es proaktive seinen Status reported und ob der Status abrufbar ist.

            "proactive" ist der Vollständigkeit halber vorhanden, aber selbst wenn es gesetzt ist, macht der Skill nichts proaktiv. Ich könnte mir vorstellen, dann man hiermit Statusabfragen per Sprache beschleunigen könnte, da Alexa den abgefragten Status kennt und nicht erst den Skill kontaktieren muss, um eine Antwort zu geben. Ist aber wie gesagt nicht implementiert.

            Retrievable hat hingegen schon ein Auswirkung. Wenn es gesetzt ist und du dann die Alexa App öffnest, dann wirst du im Log sehen, dass die App für z.B. einen PowerController den Status proaktiv abfragt und dieser Status auch in der Alexa App auftaucht, d.h. du siehst dann dort einen Lichtschalter, der den aktuellen Status deiner Lampe repräsentiert.

            Hier noch mal die offizielle Definition dieser beiden Discovery Parameter:

            2018-10-18 07_03_08-Einstellungen.png

            Kommentar


              #96
              Danke - jetzt sehr klar.
              Jetzt ein anderes Problem: schalte funktioniert - aber scheinbart genau die Abfrage nicht.
              Die -deploy.zip habe ich aus Post 11... kommunikation generell funktioniert ja (weil schlaten geht).
              Irgendeine Idee wo ich suchen kann?
              Gruß
              Thorsten

              Kommentar


                #97
                Was genau bedeutet "Die Abfrage funktioniert nicht". Welchen Sprachbefehl gibst du? Und was taucht im Log auf?

                Kommentar


                  #98
                  Ich bekomme "das gerät reagiert nicht" schon in derübersicht.
                  Im Log dürfte das der richte teil sein:
                  Code:
                  2018-10-18 21:21:50 849761 4337 debug EXE19001200 [v0.3]: SmartHome Skill Event: 2018-10-18 21:21:50 849993 4337 debug EXE19001200 [v0.3]: ================ ARRAY/OBJECT START ================ 2018-10-18 21:21:50 850200 4337 debug EXE19001200 [v0.3]: {"directive":{"header":{"payloadVersion":"3","correlationToken":"AAAAAAAAAQBGFoLe382tbe8Wilus40CzEAIAAAAAAAC5fG7QMTCYtewWKLMdHGBrSEg0KR\/JjsX\/I85RSGqL6p4GDDpH1OtaVic8ILhoMdQjek\/p0LFn1y1yRRdUFxjJP8dxxZkBLehV9fWPHQ3gHazxEDzBj5uf\/v3Vd+gT2QDrxTePuGK20qHh9\/EWSMBat8JBPxBglQz2I\/mTfV+mz67xCA+lNtdv8M9gPzlGerzEdsoeDVQCV\/bhCaDATUC+0SdAdZhJW76G3cT0lbH0qqjRv1fcCz0GXWkP2Fv5oVVUA4UIKUhe7oaOiVCAV\/g64VPPJ9ThoHuk8KlKNSYvbMg8\/AX4jAEebcmGqVEsD1EmniAc64f3rLzxh1Tkd2lsICU1fo0USi+H32QGZ2wEZMQoDWBRx7YdKSzFCTRBSDJwb+TU2joy3wCgX+Ttf3FeVe\/cbmScr+oCyWO6+ArtLb1VY\/9TP9wJ\/CNNgqYrHqFiSf+7klctEETK8phCYEMpL78J6z5LUS366\/YYBfK8tCVCtFCI5R\/0R3xLHq0UteJI5KHZM2+RQ\/xnsj0U0pv4dxLIvWuNELyKnxnv2gcuPkpQBTMeHyR4inL8wxokniuJtJpeCgmLUkRoALJTbpb3jgCGuWH2JnRY1gYDF4ijTbJHSV0r+qEPp1\/ul8PvuV1YZiuKMaPq+ugmAr\/4P+2vxTBkjlBcNCm7vExbIg71Y3m7f+pHbPJGe0fXqBXlTo4=","namespace":"Alexa","name":"ReportState","messageId":"35d08da9-2403-4d57-a0de-a7c94c9fdba6"},"endpoint":{"scope":{"token":"Atza|IwEBIEp4HbJyyZjfwogPuSOIh62BeqDTXB_pfW3Qoq76lU8s317vJQFXOKRF1GB3hQAOgMFR6wuUAmSJYWpsNSYPlRVeOBAj-CVxKUxNi4h9qcQE0T1DbfWWs5qbD6ygGMAoxmM-7VQBe9VftIsk-ggxT_xOBp9Q9O6NXfm4cEqjooycNcdnkTYeyyJa8W8eqoF-Knwcg15HsQyK7G_66pv8XW5VjTOfgb4-uPmHHm8meXeZqm9ek3vIqLLWgvO52BIotHXwTnjORofXB218gJIbLQszfkO-Yg0-j3Baoayj39nKq4Y7w_8tJuyKgoht4ZxOFI_PLCtCwHuOqcWHZJg356PgVpNpOu09RxC2-lDsYMoYWnIJDRYg11TZ8WlpAoNFL1PmRv9JRBQuX8_k30oKJ01YrbcSKjXPYiwSIvjC5FnWI_DeqogGlhbzwvymSPpj43pqBLvh0dqObkIYxqQ6YzpmCzyUjuEY6zbruWk1tQGQGZS5BoojFX00p0AOpPhgGcY","type":"BearerToken"},"cookie":[],"endpointId":"deviceLichtSpielzimmer"},"payload":[]},"type":"smarthome"} 2018-10-18 21:21:50 850366 4337 debug EXE19001200 [v0.3]: ================ ARRAY/OBJECT END ================ 2018-10-18 21:21:50 851628 4337 debug EXE19001200 [v0.3]: Sending message to Alexa SmartHome Devices 2018-10-18 21:21:50 861287 4337 debug EXE19001200 [v0.3]: Created message queue with ID 1652455015 2018-10-18 21:21:50 862916 4337 debug EXE19001200 [v0.3]: Waiting for response from respective Alexa Device LBS (max. 3s) 2018-10-18 21:21:53 871170 4337 debug EXE19001200 [v0.3]: 3s response timer expired
                  Gestern ging das schalten noch ... nur die Rückmelding (reagiert nicht) hatte ich gestern schon. Jetzt gerade sehe ich das schalten heute auch nicht geht :-( Muss mir das ganze nochmal in ruhe anschauen...

                  Kommentar


                    #99
                    Das Log des Skill-Skripts ist viel interessanter. Da kannst du die gesamte Kommunikation sehen. Wenn es "reagiert" nicht erscheint, dann kommt as irgendeinem Grund keine Antwort von EDOMI ans Skillskript. Wenn du an den Device-LBS in EDOMI etwas änderst, musst du eine neue Devicesuche anstoßen. ggf. in der Alexa App mal alle EDOMI Devices löschen. und dann noch mal testen...

                    Kommentar


                      ThorstenGehrig

                      Jetzt gerade sehe ich das schalten heute auch nicht geht :-(

                      Ich habe genau das identische Verhalten... Gestern alles gut, heute leider nicht. Merkwürdig.

                      Kommentar


                        merlin1900

                        Habt ihr vielleicht den reverse proxy so konfiguriert, dass er nicht alle ip adressen durchlässt? Vlt. hat sich auch die IP Range geändert von Amazon.

                        Kommentar


                          Hallo zusammen,

                          bin ja sehr glücklich, dass das ganze Konstrukt bei mir auch funktioniert. Danke an alle, die das ermöglicht haben.
                          Jetzt habe ich aber noch das Problem, dass ich keine user_id eintragen kann, weil ich keine logs habe.

                          Code:
                          touch /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
                          chmod 666 /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
                          tail -f /usr/local/edomi/www/data/log/edomi-smarthome-skill.log
                          Laut der Anleitung gemacht. Aber keine Ausgabe.
                          Was kann ich falsch gemacht haben?

                          Schalten eines Aktors funktioniert aber schon mal!

                          Gruß,
                          Roland

                          Kommentar


                            Mach mal

                            Code:
                            tail -f usr/local/edomi/www/data/log/edomi-smarthome-skill-PLv3.log
                            Muss vermutlich noch in der Anleitung nachgezogen werden oder hast du die alte Anleitung verwendet?

                            Kommentar


                              Hallo jonofe,

                              es hat funktioniert.
                              Ich bin der Meinung, dass ich die Anleitung aus der zip Datei genommen habe.

                              Kommentar


                                Zitat von DaLinux Beitrag anzeigen
                                Ich bin der Meinung, dass ich die Anleitung aus der zip Datei genommen habe.
                                Ja du hast Recht, habe gerade nachgeschaut, ist noch ein Bug in der Anleitung.

                                Kommentar

                                Lädt...
                                X