Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon-Echo Logikbaustein

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

    #46
    Hab es auch hinbekommen. Über mein Android Handy konnte ich den skill nicht verknüpfen, am Computer über den Browser hat es aber funktioniert.

    Kommentar


      #47
      Hallo Werner,

      beste Dank für die tolle Arbeit! Am nasskalten und dunklen Wochenende habe ich mich ausgiebig mit Konfiguration beschäftigt und mit gesundem Halbwissen die Integration in den HS und bei AWS hinbekommen. Was mir allerdings noch nicht klar ist, wie die Syntax für die HS Gerätesteuerung funktioniert. Hier aus deiner Beispielkonfiguration:

      [
      {"room" : "Küche", "appliances" : [{"name" : "Deckenleuchte", "onOff" : "1/2/3"}]},
      {"room" : "Wohnzimmer", "appliances" : [
      {"name" : "Deckenleuchte", "onOff":"1/2/4", "percent":"1/2/5"},
      {"name" : "Stehleuchte", "onOff":"1/2/6", "percent":"1/2/7", "aliases" : ["Stehlampe Wohnzimmer"]},
      {"name" : "Vitrine", "onOff":"1/2/8", "aliases" : ["Vitrinenbeleuchtung Wohnzimmer"]}
      ]},
      {"room" : "Lichtszene", "appliances" : [
      {"name" : "Essen", "onOff":"1/3/1", "value":"0"},
      {"name" : "Deko", "onOff":"1/3/1", "value":"1"}
      ]}
      ]


      Gibt es eine Doku dazu?

      Danke und Grüße

      Robert

      Kommentar


        #48
        Hallo Robert,

        eine Doku gibt es hierzu leider nicht.
        Die Smart Home Skill API von Amazon unterstützt zum Steuern von Geräten vereinfacht dargestellt drei Kommandotypen: Schalten, Dimmen und Temperaturvorgabe.
        In der Version V0.1 des Logibausteins werden die Kommando's Schalten und Dimmen unterstützt.

        Die Notation der Gerätekonfiguration wird mittels JSON vorgenommen:
        • eckige Klammern bedeuten im Prinzip eine Aufzählung von Elementen des gleichen Typs
        • geschweifte Klammern bedeuten im Prinzip die Klammerung der darin enthaltenen Werte zu einem Typ
        • die Definition erfolgt in Form von "Schlüsselwort":Wert - Paaren, welche durch Doppelpunkt getrennt sind
          Schlüsselwörter werden immer in Hochkomma z.B.: "room" gesetzt
          Werte können vom Typ Text, Zahl, oder Aufzählung sein
          Schlüsselwörter habe ich Fett dargestellt

        Anhand der Beispielkonfiguration:
        • die äußersten eckigen Klammern ermöglichen eine Aufzählung
        • dannach beginnt die Typdefinition mit der öffnenden und der dazugehörigen schließenden geschweiften Klammer
        • am Ende der Typdefinition steht, falls eine weitere Typdefinition folgt, ein Komma

        Die äußerste Typdefinition steht hierbei für einen Raum/Gruppe innerhalb derer mehrere Geräte definiert werden können,
        {"room":"Wohnzimmer",
        => Gerätekonfiguration für "Wohnzimmer"

        mit Komma getrennt kommt das Schlüsselwort welche die in diesem Raum definierten Geräte einleitet.
        Nachdem innerhalb eines Raumes mehrere Geräte definiert werden können, werden als nächstes eckige Klammern verwendet.
        Somit bekommen für jeden Raum/Gruppe die Grundform:
        {"room":"Raumname", "appliances":[...]}

        Die Appliances (Geräte) selbst stellen wiederrum einen Typ dar und werden deshalb in geschweifte Klammer gesetzt:
        {"room":"Wohnzimmer",
        {"name":"Deckenleuchte", "onOff":"1/2/3"}
        => Gerät mit dem Namen Deckenleuchte und der Schaltmöglichkeit Ein/Aus über die KNX-Gruppenadresse "1/2/3" (meist Datentyp 1-Bit (0..1 EIS1,2) bei z.B.: mir für Lichtszenen 8-Bit (0..255/EIS 2,6))
        Das für Alexa zu verwendende Sprachkommando setzt sich aus dem Raumnamen und dem Gerätenamen zusammen.
        D.h. ein mögliches Sprachkommando wäre: "Alexa, schalte die Deckenleuchte im Wohnzimmer ein."

        {"name" : "Stehleuchte", "onOff":"1/2/6", "percent":"1/2/7", "aliases" : ["Stehlampe Wohnzimmer"]}
        => Gerät mit dem Namen Stehleuchte zusätzlich zur Schaltmöglichkeit wird mittels "percent" eine KNX-Gruppenadresse angegeben welche einen Prozentwert aufnehmen kann (Datentyp 8-bit 0..100% EIS6)
        D.h. ein mögliches Sprachkommando wäre: "Alexa, dimme die Stehleuchte im Wohnzimmer auf 50%."

        Mittels der optionalen Angabe "aliases":[] kann eine Aufzählung weiterer Gerätenamen für das gleiche Gerät angegeben werden. Die Aliasnamen werden jedoch unverändert als weiteres Gerät an Alexa gemeldet. D.h. der Raumname wird dem Alias nicht vorangestellt.
        D.h. ein mögliches Sprachkommando wäre somit: "Alexa, dimme die Stehlampe im Wohnzimmer auf 50%."

        Bei "onOff" kann man als Sonderfall das Schlüsselwort "value" angeben und damit den zu verwendenen Wert für das Einschalten vorgeben.

        Als weiteren Sonderfall für Raum/Gruppenübergreifende Geräte kann man auch das Schlüsselwort "room" weglassen.

        In der V0.1 gibt es auch noch einen weitern Sonderfall den ich jedoch in der V0.2 wieder ausbauen musste.
        Das erste Gerät unter "appliances" wird an Alexa automatisch mit der Bezeichnung des Raumnamens geliefert.
        In Bezug auf die Beispielkonfiguration bedeutet das z.B.: für den Raum Wohnzimmer dass, das Gerät Wohnzimmer Deckenleuchte sich durch das Sprachkommando:
        "Alexa, schalte das Licht im Wohnzimmer ein" - einschalten läßt.

        Falls du einen Syntaxfehler in der JSON Gerätekonfiguration hast, liefert der Baustein leider keine wirklich hilfreichen Hinweise.
        Eine Möglichkeit wäre in diesem Fall den Text der Konfiguration auf http://jsonlint.com/ prüfen zu lassen.

        Ich hoffe ich habe es nicht allzu wirr erklärt.

        Gruß Werner

        P.S.: Der Baustein in der V0.2 ist im Prinzip fertig ich wollte nur noch ein paar Tests abschließen.

        Kommentar


          #49
          Hallo Werner,
          Danke, das hilft mir fürs Verständnis weiter, morgen bekomme ich den Echo und werde dann weiter probieren. Wenn der Baustein V0.2 fertig ist, teste ich gerne mit.

          Nochmals vielen Dank und Gruß

          Robert

          Kommentar


            #50
            Hallo Werner,

            hab gerade den Echo Dot angeschlossen, es funktioniert perfekt! Alexa gehorcht aufs Wort, übrigens die einzige in der Familie.

            Viel Grüße

            Robert

            Kommentar


              #51
              Hallo Robert,

              super, dass es bei dir läuft! Bei mir ist es eher so, dass inzwischen keiner mehr auf mich hört.

              Ich habe gerade die Version V0.2 auf Github hochgeladen. Weitere Info's findest du im ersten Post.

              Viele Grüße
              Werner

              Kommentar


                #52
                Hallo Werner,

                nachdem ein Windows-Update meinen Rechner zerschossen hat und der Gira Experte nun umgezogen ist, habe ich nun V0.2 laufen, was soweit gut funktioniert.
                Nur mit der Temperatur komme ich noch nicht zurecht. Wie spreche ich Alexa an, um die Raumsolltemperatur zu ändern?

                Grüße

                Robert

                Kommentar


                  #53
                  Hallo Robert,

                  wenn du z.B. folgende Zeile in deiner Konfiguration hättest:

                  {"room":"Büro", "targetTemperature":"1/2/3" ...

                  sollte es eigentlich mit dem Sprachkommando:

                  Alexa, stelle Büro auf 21 Grad.

                  klappen.

                  siehe auch: https://developer.amazon.com/public/...ntrol-messages

                  Viele Grüße
                  Werner

                  Kommentar


                    #54
                    Hallo Werner,

                    können eigentlich auch Gruppen definiert werden, z.b Wohnzimmer alle Lampen Ein/Aus? Es würde auch über Zentraladressen im Experten gehen oder in der Alexa App. Dort verschwinden die Gruppen allerdings wieder, sobald eine Gerätesuche gestartet wird.

                    Achso, Temperatur funktioniert auch :-)

                    Kommentar


                      #55
                      Hallo Robert,

                      du kannst in der Alexa-App schon die Möglichkeit nutzen "Gruppen" zu definieren . Allerdings solltest du dann auch feste ID's auf Raum- und Geräteebene vergeben.

                      Hintergund:
                      Wenn du die ID's automatisch vom Logikbaustein vergeben läßt, ist bei Konfigurationsänderung nicht sicher gestellt, daß ein Gerät seinen ID behält.
                      Aus diesem Grund sollte man bei dieser Variante, vor einer Suche nach Geräten durch Alexa zuvor die Aktion "Alle Geräte und Gruppen verwerfen" anklicken.

                      Wenn du in der JSON-Konfiguration manuell feste ID's vergibst ist ein Verwerfen der Geräte und Gruppen vor einer Suche nicht mehr nötig.
                      Allerdings werden Geräte, welche nicht mehr gefunden wurden in der Alexa-App als "Offline" ausgegeben und müssten in der App einzeln "gelöscht" werden.

                      JSON-Beispiel für die Vergabe von ID's:

                      {"room":"Wohnzimmer", "id":"WOHN",
                      {"name":"Deckenleuchte", "id":"DECK", "onOff":"1/2/3"},
                      {"name":"Stehleuchte", "id":"STEH", "onOff":"1/2/4", "aliases" : ["Stehlampe Wohnzimmer"]} ...

                      Bei diesem Beispiel würden folgende Appliance-IDs an Alexa gemeldet: WOHN_DECK, WOHN_STEH, WOHN_STEH_1
                      (für Aliasnamen wird weiterhin ein ID automatisch angefügt)

                      Bei meinem Tests war Alexa allerdings zickig, wenn man Sonderzeichen in den ID's benutzt hat.
                      Meine Empfehlung wäre also nur Buchstaben (groß/klein) und Ziffern zu verwenden. Den Underscore "_" benutzt der Baustein um die ID's der Ebenen zu trennen - diesen sollte man also auch nicht verwenden. Die Zeichenlänge der vergebenen ID's spielt keine Rolle.
                      Wichtig ist, dass die ID's innerhalb ihrer Ebene eindeutig sind. D.h. keine zwei Räume dürfen denselben ID haben und innerhalb eines Raumes dürfen keine zwei Geräte denselben ID haben.

                      Gruß Werner

                      Kommentar


                        #56
                        Hallo Werner,
                        heute ist mein DOT gekommen. Nun spiele ich mit Wörtern rum
                        die er, bei meiner Aussprache, versteht (z.B. Musik geht nicht, also Audio).
                        Ich habe das Gefühl, dass der DOT mich besser versteht als der Echo.
                        Habe einige direkte Vergleiche gemacht.
                        Bin mal auf eure Erfahrungen gespannt.
                        Leider ist der Gesamt- Erkennungswert nicht sooo gut wie ich dachte.
                        Bin mal gespannt ob die "neuen Frauen" etwas dazu lernen...

                        P.S. geht von Amazon eigentlich schon heller und dunkler dimmen??

                        DANKE DIR!!
                        Gruß Marcus

                        Kommentar


                          #57
                          Hallo Werner,
                          mit den ID´s ist das eine feine Sache. Das reduziert den Aufwand beim Testen von Wörtern , die Alexa am besten versteht. Kurze Worte scheinen problematischer zu sein als längere, ebenso hat sie mit Wörten mit Umlauten eher Schwierigkeiten. Aber so langsam gewöhnen wir uns aneinander. Jetzt rede ich schon mit dem Autoradio und wundere mich, dass nichts passiert ;-)

                          Danke und Grüße

                          Robert

                          Kommentar


                            #58
                            Hallo Marcus,

                            entschuldige, dass ich mich jetzt erst melde - hatte die letzten Tage viel um die Ohren.

                            Heller und dunkler dimmen ist mit dem Smart Home Skill bereits jetzt möglich - allerdings muss angegeben werden um wieviel Prozent.

                            Beispiel aus meiner Konfiguration:
                            ...
                            {"id":"ESS", "room":"Esszimmer", "appliances":[
                            {"id":"D", "name":"Deckenleuchte", "onOff":"X/X/XXX", "percent":"Y/Y/YYY", "aliases":["Licht Esszimmer"]},
                            ...


                            Alexa, dimme/stelle die Deckenleuchte im Esszimmer um 10% heller/dunkler.
                            Alexa, dimme/stelle das Licht im Esszimmer um 20% heller/dunkler.


                            Viele Grüße
                            Werner

                            P.S.: Folgende Kommando's funktionieren für meine Squeezebox im Wohnzimmer sehr gut:
                            Alexa, schalte die Musik im Wohnzimmer ein/aus.
                            Alexa, stelle die Musik im Wohnzimmer auf 30%. (zum Regeln der Lautstärke)

                            Kommentar


                              #59
                              Hallo Werner,

                              gibt es auch die Möglichkeit, KNX-Werte zu lesen? "Alexa, wie warm ist es im Wohnzimmer?" z.b.

                              Danke und Grüße

                              Robert

                              Kommentar


                                #60
                                Hi Robert,

                                dies ist in der „Smart Home API“ von Amazon leider aktuell nicht vorgesehen - vermisse ich auch.

                                Um dies zu realisieren müsste man einen Custom Skill verwenden, welcher aber für jedes Sprachkommando zuerst durch einen sogenannten "Invocation Name" aktiviert werden müsste.
                                D.h. falls ich mir z.B. als "Invocation Name" das Wort James aussuche, müsste ich für dein Beispiel folgendes sagen:
                                Alexa, frag James wie warm ist es im Wohnzimmer?
                                Für den Custom Skill müsste ich also allgemein sagen: Alexa, sag/frag "Invocation Name" ...
                                Das macht die Sprachsteuerung viel unnatürlicher.

                                Für einen ersten Test, habe ich zwar bei mir heute einen zusätzlichen Custom-Skill, unter anderem genau zur Abfrage der Temperatur angebunden.
                                Ob es dieses Feature allerdings in eine Version V0.3 schafft, weiß ich noch nicht. Der Aufwand einen Custom-Skill allgemeingültig zu entwickeln ist doch recht groß.

                                Die Schwierigkeiten hierbei sind:
                                Beim Custom Skill müssen alle Äußerungen und Parameter die man verwenden möchte, vorab definiert werden.

                                Für die Abfrage der Raumtemperatur müsste man sich also überlegen welche Äußerungen man hierzu verwenden möchte z.B.:
                                GetActualTemperature Welche Temperatur hat {Room}
                                GetActualTemperature Welche Temperatur hat der {Room}
                                GetActualTemperature Welche Temperatur hat die {Room}
                                GetActualTemperature Welche Temperatur hat das {Room}
                                GetActualTemperature Wie warm ist es in {Room}
                                GetActualTemperature Wie warm ist es in der {Room}
                                GetActualTemperature Wie warm ist es im {Room}
                                ...

                                Außerdem müsste man für den Parameter {Room} alle verwendbaren Werte auflisten:
                                Peters Zimmer
                                Wintergarten
                                Küche
                                Wohnzimmer
                                ...

                                Damit nicht genug, gibt es ein Problem mit der Formulierung der Antwort die je nach Raum eigentlich leicht unterschiedlich sein müsste (Stichwort: Artikel, männlich, weiblich):
                                z.B.:
                                Die Temperatur im Wohnzimmer beträgt 21,0 Grad.
                                Die Temperatur in der Küche beträgt 21,3 Grad.

                                oder man versucht auf eine allgemeinere Formulierung auszuweichen:
                                Die Temperatur im Raum 'Wohnzimmer' beträgt 21,0 Grad.
                                Die Temperatur im Raum 'Küche' beträgt 21,3 Grad.

                                Also wie gesagt bin gerade am testen, allerdings aktuell wenig vom Ergebnis begeistert.

                                Viele Grüße
                                Werner
                                Zuletzt geändert von wernerL; 21.12.2016, 18:10.

                                Kommentar

                                Lädt...
                                X