Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Smarthome Skill (Payload Version 3)

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

    Hi zusammen!
    Ich benötige Hilfe beim Power Level Controller. Ich möchte gerne unsere Dunstabzugshaube mit 4 Stufen darüber steuern.
    Ich bekomme den Baustein als PowersLevelController aber einfach nicht zum laufen. Discovery funktioniert. Andere Devices wie Licht ein und ausschalten geht auch.
    Derzeit hab ich als Categorie „SMARTPLUG“ eingestellt, hatte aber auch schon die anderen.
    Wenn ich in der Alexa App das Gerät auswähle hört er nicht mehr auf zu laden.
    Wenn ich dann parallel ins Log schaue, sehe ich, dass edomi immer wieder das gleiche JSON zurückschickt. Zu Beginn des Strings fehlt aber der Teil wo das Device beschrieben ist und der aktuelle Wert drin steht.
    Ist das ggf. ein Bug, oder mache ich einfach was falsch?

    Danke und Grüsse Rico

    Kommentar


      In Kürze kommt ein Update, welches noch mal ein größeres Redesign erfahren hat.
      Grundsätzlich ist wichtig, wenn du "Retrievable" auf 1 setzt, dann muss der entsprechende Statuseingang einen entsprechenden Wert liefern.
      Hast Du also an E31 den aktuellen Status anliegen? Ansonsten kommt es zu dem von dir beschriebenen Verhalten.

      Mit der neuen Version, wird proactive Reporting an das Alexa Event Gateway enthalten sein und auch die neuen Contact und Motion Sensors. Damit kann man dann auch Routinen in der Alexa App erstellen und auch vordefinierte Sprachausgaben triggern und zwar ohne Sprachbefehl. Bislang geht dies ja nur über die inoffizielle HTTP API des Alexa Control LBS. Der Alexa Control LBS wird diesbezüglich aber weiterhin den Vorteil haben, dass dieser dynamische Sprachansagen unterstützt, der Smarthome Skill aber nur in der Alexa App vordefinierte Sprachansagen. Dafür sollte aber die Zuverlässigkeit und Stabilität des Smarthome Skills höher sein.

      Kommentar


        Mal eine blöde Frage zwischendurch: ich überlege mir Sonos one zu holen, die ja eine alexa Integration haben. Aber ich lese überall, dass sie eine "eingeschränkte" Funktionalität haben... Wird das hier vorgestelltr dann mit denen nicht funktionieren oder muss man dann selbst mehr rumfummeln...
        Viele Grüße, Vitali

        Kommentar


          Zitat von DolcheVita Beitrag anzeigen
          Wird das hier vorgestelltr dann mit denen nicht funktionieren oder muss man dann selbst mehr rumfummeln..
          Das hier hat mit Sonos nichts zu tun. Dies ist ein EDOMI Smarthome Skill. Wie du am Ende die Sprachbefehle, welche mit diesem Skill möglich sind mit den SONOS LBS verknüpfst ist dann alleine deine Entscheidung bzw. durch die Funktion der SONOS LBS vorgegeben.

          Die Smarthome Skill Sprachbefehle sind ja von Amazon vorgegeben.
          Der EDOMI Smarthomeskill unterstützt bereits einen großen Teil dieser Befehle.

          Grundsätzlich sehe ich drei notwendig Schritte um deine Frage zu beantworten:

          1. Was genau willst du mit welchen Sprachbefehlen steuern?
          2. Wird dies von der Alexa Smarthome Skill API unterstützt?
          3. Hat der EDOMI Smarthome Skill diesen Teil der API bereits implementiert?

          Die Antwort auf 1. muss von dir kommen. 2. und 3. kann ich dir dann beantworten.

          Was genau meinst du mit rumfummeln? Die Installation des EDOMI Smarthomeskills ist in der Doku beschrieben.

          Kommentar


            Dass die Antwort so kompliziert bzw. vielschichtig sein wird, hatte ich nicht erwartet... Ich wollte erstmal generell ausloten, ob das/die "Alexa", die auf dem Sonos One drauf ist, generell in der Lage sein sollte mit EDOMI bzw. mit dem hier behandelten Skill umzugehen. Um ehrlich zu sein, habe ich dieses ganze Alexa/Skill-Vorgehen noch nciht ganz durchdrungen, was die "Einfältigkeit" der Frage erklärt.
            Ich möchte nichts aussergewöhnliches steuern, nur das normale KNX-Zeug halt, mehrere Lichter, RGB-Licht (MDT-LED-Dimmer), Rolladen, das wärs fürs erste.
            Viele Grüße, Vitali

            Kommentar


              Hallo,
              danke für den LBS und der super Doku. Dennoch funktioniert bei mir das Device Discovery nicht, ähnlich wie bei Jurkoe bekomme ich im edomi-smarthome-skill-PLv3.log immer folgenden Fehler


              JSON Validation Response:
              OAUTH Validattion Response:

              Source : FAIL
              OAUTH Access Token invalid


              Das einzige wo ich von der Anleitung abweiche ist, dass ich das Archiv "edomi-smart-home-skill-PLv3-deploy.zip" im LBS nicht finden konnte, auch nicht nach erneutem Download, somit habe ich dieses vom Post #11 von https://knx-user-forum.de/forum/proj...load-version-3 heruntergeladen.

              Zugriff über extern funktioniert

              Kommentar


                Zitat von DolcheVita Beitrag anzeigen
                Ich wollte erstmal generell ausloten, ob das/die "Alexa", die auf dem Sonos One drauf ist, generell in der Lage sein sollte mit EDOMI bzw. mit dem hier behandelten Skill umzugehen.
                Das war ein Mißverständnis meinerseits. Ich hatte die Frage anders interpretiert, da ich nicht wusste, dass der Alexa Client in einem SONOS LS schon mit drin ist. Dazu kann ich leider gar nichts sagen, ob dies funktioniert, da ich keinen SONOS habe. Es müssen zumindest Smarhome Skills unterstützt werder, damit der EDOMI Skill funktionieren kann. Wenn es keine echten funkctionalen Vorteile dieser integrierten Variante gibt, würde ich vermutlich eher einen separaten Echo den Vorzug geben. Aber wie gesagt, dazu kenne ich mich zu wenig damit aus.

                Kommentar


                  Zitat von gspsteve Beitrag anzeigen
                  bekomme ich im edomi-smarthome-skill-PLv3.log immer folgenden Fehler


                  JSON Validation Response:
                  OAUTH Validattion Response:

                  Source : FAIL
                  OAUTH Access Token invalid
                  Der Fehler muss schon davor liegen, denn offensichtlich kann das Token nicht validiert werden. Entweder du hast gar keinen Internetzugriff von diesem Skript aus oder der Aufruf ist schon fehlerhaft. Um den Fehler einzugrenzen benötigt man das Log ab "Received (JSON) Event from alexa@amazon"

                  Kommentar


                    jonofe Vielen Dank für deine Rückmeldung. Internetverbindung von Edomi besteht.

                    Logfile:
                    Received (JSON) Event from alexa@amazon
                    =========================================
                    Array
                    (
                    [directive] => Array
                    (
                    [header] => Array
                    (
                    [payloadVersion] => 3
                    [namespace] => Alexa.Discovery
                    [name] => Discover
                    [messageId] => d1a999e5-1bc1-4b92-a37b-550c5b4caa43
                    )
                    [payload] => Array
                    (
                    [scope] => Array
                    (
                    [token] => Atza|IwEBIFUaFBUGxlbtrja1Z__XoJ1relfzJW9bxP9hOJUHh 5a3GvkRagtkdIn2-xX-paJkF60jXiXmXSqhlzyGSsblM6cs9yt8V1yp-xxyWxRokzKg6tkj-19Fskr-jeKtkFezj4fAvPoEvolbTXotg_e_VcjpmoRa5miQpi7FIyblQA Y_6QJE6As_AXaIXbO087efyPx6ehuWsGpIgXleHzu17J2Wbsx7 GA4K73gTF2QLAZxxKuOd7PJhY337T-joyif-DhOOVuM4hHYc6vNt3xtbQv0XrFVRGBJsnVjbeO97KV7aYGdeCu zzd2MHxKN3nHnoTU5ApLJMD5epLr-KUQdo6AOfdeeCBHnHeqc52Toa3Cqfaq8_jpOe4rIY2w749YMe_-FHCZgfLwvE18ptgLKCNeGkJ0A405MJj4HCTdHbXkTGq6sSrYtc G5q8a49EbACGlrxoVAYbi0uZvIF1uyqNShvw6E2Z-votUjq6qnoi9BYmHR8G9KifjO3FINO73ChhmfkVqdPIpki_U_9 7SnY6To-i
                    [type] => BearerToken
                    )
                    )
                    )
                    )
                    Validation URL: https://api.amazon.com/auth/O2/token...i_U_97SnY6To-i
                    JSON Validation Response:
                    OAUTH Validattion Response:
                    Source : FAIL
                    OAUTH Access Token invalid



                    Im Access.log vom RevProxy kommt folgendes an:
                    54.154.120.208 - - [18/Nov/2018:18:37:49 +0000] "POST /edomi/edomi-smarthome-skill-PLv3.php HTTP/1.1" 200 4316 "-" "python-requests/2.19.1"

                    Dieser scheint somit zu funktionieren
                    Zuletzt geändert von gspsteve; 18.11.2018, 19:41.

                    Kommentar


                      Zitat von Dawaterman Beitrag anzeigen
                      Zu Beginn des Strings fehlt aber der Teil wo das Device beschrieben ist und der aktuelle Wert drin steht.
                      Ist das ggf. ein Bug, oder mache ich einfach was falsch?
                      Hi zusammen,
                      habs gefunden, tatsächlich ein Fehler.
                      Für den PowerLevelController gab es keinen StateReport. Das fehlt im Code einfach.
                      ausserdem waren ein paar Eingänge falsch zugewiesen. Ich tippe da mal auf Copy Paste Fehler .
                      André, falls du interessiert bist, kann ich dir meine korrigierte Version zukommen lassen?!

                      Grüsse
                      Rico

                      Kommentar


                        Das ist in meiner neuen Version schon korrigiert, habs gerade mal gecheckt. Bin gerade in der Testphase und das Update kommt bald.

                        Kommentar


                          gspsteve Es scheint ein ungültiges Token zu sein. Warum das so ist, kann ich leider nicht sagen. Dein Skill ist aber in der DE locale angelegt, oder? Nutzt du die aktuellste Version des Skills? Ich würde den Skill in der Alexa App nochmal deaktivieren und wieder aktivieren und dann noch mal testen.

                          Kommentar


                            jonofe Ich habe den LBS19001200 sowie LBS19001201 heute vom Downloadportal heruntergeladen. Somit aktuell - Komisch ist mir eben nur vorgekommen, dass das "edomi-smart-home-skill-PLv3-deploy.zip" nicht vorhanden war, kannst du bestätigen, dass dies im aktuellen Download nicht Bestandteil ist!? Dieses habe ich von deinem Vermerk in Post #11 gezogen...

                            Hab soeben auch alle Schritte erneut durchgeführt, jedoch mit dem selben Ergebnis

                            Kommentar


                              Ja es kann sein dass das deploy ZIP fehlt, das aus Post #11 ist aber korrekt.
                              ich habe ehrlich gesagt keine Erklärung warum das Token ungültig ist.

                              Kommentar


                                Eine Idee habe ich noch: Da die Validierung CURL gegen eine HTTPS Url gemacht wird, mach mal ein:

                                Code:
                                yum update nss
                                als root auf dem EDOMI Server.Und dann nochmal testen.

                                Kommentar

                                Lädt...
                                X