Ankündigung

Einklappen
Keine Ankündigung bisher.

Amazon-Echo Logikbaustein

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

  • wernerL
    antwortet
    Hi Mario,

    falls ich jetzt auch Fragen stellen sollte, die du schon gecheckt hast einfach überlesen:
    • du verwendest die Alexa Homepage unter "http://alexa.amazon.de"?
    • unter "Smart Home" -> "Meine Smart Home Skills" wird dein Skill aufgeführt?
    • In der AWS-Console hast du rechts oben "Ireland" ausgewählt?
    • In der Amazon Developer Console hast du als Service Endpoint "Europe" ausgewählt?
    • Funktioniert der Discovery-Request wenn du diesen über den Browser absetzt?
    • Funktioniert der Discovery-Request über die AWS-Console?
    • Bekommst du auf der AWS-Console im Cloudwatch-Log einen Eintrag wenn du einen Discovery aus der Alexa-App startest?

    Gruß Werner

    Einen Kommentar schreiben:


  • Axel
    antwortet
    Zitat von wernerL Beitrag anzeigen
    In der V0.2 leider noch nicht.
    Ich versuche das in die kommende V0.3 mit aufzunehmen.

    Hat das umbenennen von "Wohnen" in "Wohnzimmer" eigentlich was gebracht?
    Perfekt. Das macht den Code übersichtlicher.

    Bei den Wörtern experimentiere ich noch, um das irgendwie einheitlich und frei zu bekommen.

    Klappen tut jetzt "Schalte die Musik im Wohnzimmer ein".
    Aber, dann wieder nicht "Schalte das Licht im Wohnzimmer aus". Hier geht es nur wenn ich "Schalte Wohnzimmer Licht aus" nehme. Seltsam.

    Egal. Aktuell verzichte ich gerade auf Raum Namen und definiere es wie folgt:
    Code:
    [
      {"appliances":[
        {"name":"Rollladen Wohnzimmer",         "onOff":"4/1/1",     "percent":"4/3/1"    },
        {"name":"Licht Wohnzimmer",         "onOff":"11/0/10",     "value":"0"        },
        {"name":"Musik Wohnzimmer",         "onOff":"11/0/24"                },
        {"name":"Fernseher Wohnzimmer",         "onOff":"11/0/21",     "value":"1"        },
        {"name":"Fernsehprogramm weiter",         "onOff":"100/1/59",    "value":"1"        },
        {"name":"Fernsehprogramm zurück",         "onOff":"100/1/60",    "value":"1"        },
        {"name":"Szene Allgemein Wohnzimmer",     "onOff":"11/0/11",     "value":"1"        },
        {"name":"Szene Morgen Wohnzimmer",         "onOff":"11/0/12",     "value":"1"        },
        {"name":"Szene Abend Wohnzimmer",         "onOff":"11/0/13",     "value":"1"        },
        {"name":"Szene Couch Wohnzimmer",         "onOff":"11/0/14",     "value":"1"        },
        {"name":"Szene Musik Wohnzimmer",         "onOff":"11/0/15",     "value":"1"        },
        {"name":"Szene Fernseher Wohnzimmer",     "onOff":"11/0/16",     "value":"1"        },
        {"name":"Szene Kochen Wohnzimmer",         "onOff":"11/0/17",     "value":"1"        },
        {"name":"Szene Essen Wohnzimmer",         "onOff":"11/0/18",     "value":"1"        },
        {"name":"Szene Gäste Wohnzimmer",         "onOff":"11/0/19",     "value":"1"        },
    
    
        {"name":"Rollladen Küche",             "onOff":"4/1/0",     "percent":"4/3/0"    },
        {"name":"Schranklicht Küche",         "onOff":"1/1/12"                },
        {"name":"Deckenlicht Küche",         "onOff":"1/1/10",     "percent":"1/3/10"    },
        {"name":"Licht Küche",             "onOff":"1/1/12"                },
        {"name":"Elektroherd",             "onOff":"10/1/0"                },
        {"name":"Herd",                 "onOff":"10/1/0"                },
        {"name":"Spülmaschine",             "onOff":"10/1/1"                },
        {"name":"Küchen Geräte",             "onOff":"10/1/2"                },
        {"name":"Waschmaschine",             "onOff":"10/1/17"                }
    ]}
    ]
    Wenn ich beispielsweise "Licht Wohnzimmer" setze. Versteht es mich besser, viel besser!

    Egal ob:
    "Alexa, schalte das Licht im Wohnzimmer ein"
    "Alexa, schalte Licht im Wohnzimmer ein"
    "Alexa, schalte Licht Wohnzimmer ein".
    Erkennung 100%

    So gefällt es mir gerade aktuell ganz gut. Mal sehen wohin das führt. :-)

    Einen Kommentar schreiben:


  • mariokp
    antwortet
    Hi Werner,

    ja, der ist auch angelgt. Auch die Skill ID stimmt überein

    Mario

    Einen Kommentar schreiben:


  • wernerL
    antwortet
    Hallo mariokp,

    prüfe bitte mal, ob unter der AWS-Console für die Lambda-Funktion, ein Trigger vom Typ Smart Home mit der korrekten Application-ID des Smart Home Skills angelegt wurde. Im Wiki unter Punkt "3.5 Im AWS den Trigger für die Lambda Funktion nachtragen" beschrieben.

    Gruß Werner

    Einen Kommentar schreiben:


  • wernerL
    antwortet
    In der V0.2 leider noch nicht.
    Ich versuche das in die kommende V0.3 mit aufzunehmen.

    Hat das umbenennen von "Wohnen" in "Wohnzimmer" eigentlich was gebracht?

    Einen Kommentar schreiben:


  • mariokp
    antwortet
    Hi Leute, schön langsam bin ich am verzweifeln. habe alles so gemacht wie in der Wiki und PDF, jedoch finde ich die Geräte nicht bei Alexa. Das Zertifikat funktioniert, ich kann den Test über die AWS Konsole machen, also Licht an/aus funktioniert einwandfrei. Jedoch wie schon erwähnt, keine Gerätein der Alexa Homepage oder App. Hab auch bei den Logs nachgeschaut und auch immer geprüft ob die Security ID´s stimmen und die Skills, mehr als wie kopieren kann ich nicht. Würde mich über eine Hilfe freuen!!

    Einen Kommentar schreiben:


  • Axel
    antwortet
    Kann man den im Code Kommentare einfügen und einzelne Bereiche damit abgrenzen um die Übersicht zu behalten?

    Einen Kommentar schreiben:


  • wernerL
    antwortet
    Ja funktioniert, habe ich gerade eben nochmal getestet, allerdings unter V0.3 wie ich zugeben muss.
    Aber diese Funktionalität hatte ich auch schon unter V0.2 erfolgreich in Betrieb.

    Du hast oben geschrieben, dass du als Raumname "Wohnen" verwendet hast?
    Ich bin mir nicht ganz sicher, aber soweit ich mich erinnern kann, hat sie bei mir mit "Wohnen" auch rumgezickt - versuch es doch mal testhalber mit "Wohnzimmer".

    Die ID's im Code sind optional und sorgen dafür, dass bei Konfigurationsänderungen die "Geräte" immer mit dem selben ID an Alexa gemeldet werden.
    Das hat den Vorteil, dass man zum einen beim Testen einen festen Schlüssel zum Steuern eines Geräts hat, zum anderen muss man auch nicht immer alle Geräte in der Alexa App löschen. Dies ist insbesondere Wichtig wenn man noch andere Smart Home Skills einsetzen will.

    Wenn man keine ID's vergibt werden diese automatisch vergeben.

    Gruß Werner

    Einen Kommentar schreiben:


  • Axel
    antwortet
    Bei Dir funktioniert "Alexa, schalte die Musik im Wohnzimmer ein/Lautstärke", dass ein HS Befehl ausgeführt wird? und NICHT was anderes? Unter Version 0.2?

    Was sind den die IDs im Code?

    Einen Kommentar schreiben:


  • wernerL
    antwortet
    Hi Axel,

    ich fürchte es gibt kein wirklich 100%ig funktionierendes Rezept, wie man eine fehlerfreie durchgängige Spracheingabe hinbekommt.

    Was ich aktuell mit folgendem Konfigurationsauszug erfolgreich im Einsatz habe:

    Code:
      {"id":"WOH", "room":"Wohnzimmer", "targetTemperature":"X/X/X", "actualTemperature":"X/X/X", "appliances":[
        {"id":"D", "name":"Deckenleuchte", "onOff":"X/X/X", "percent":"X/X/X", "aliases":["Licht Wohnzimmer"]},
        {"id":"JAL", "name":"Jalousie", "onOff":"X/X/X", "percent":"X/X/X"},
        {"id":"TV", "name":"Fernseher", "onOff":"X/X/X", "aliases":["Fernseher"]},
        {"id":"SB", "name":"Musik", "onOff":"X/X/X", "percent":"100/2/2"}
      ]},
    Alexa, schalte den Fernseher ein.
    Alexa, schalte den Fernseher aus.
    Alexa, schalte den Fernseher im Wohnzimmer ein.
    Alexa, schalte den Fernseher im Wohnzimmer aus.

    Alexa, schalte die Musik im Wohnzimmer ein.
    Alexa, stelle die Musik im Wohnzimmer auf 50%. (zur Lautstärkeregelung)
    Alexa, schalte die Musik im Wohnzimmer aus.

    Nächster/Vorheriger Titel habe ich aktuell noch nicht implementiert.

    Ich denke das Wort Musik hat für Alexa wegen Amazon Music und Spotify eine besondere Bedeutung.

    Gruß Werner

    Einen Kommentar schreiben:


  • Hightech
    antwortet
    Hallo Axel!

    Ich teste das ganze ja im Moment nur mit meinem Russound und Denon, aber genau das Problem mit "Musik" und dass er dann einen Radiosender startet, hab ich auch.... ich wollte es dann umgehen über "schalte UKW ein", was schon doof klingt, aber auch nicht wesentlich besser funktioniert, weil es bei allen buchstabierten Ansagen schwierig ist. So wiederholt Alexa bei mir die Ansage "Apple Ti Vi" als "Applety Vau" (sorry, echte Lautschrift gibt der Zeichensatz hier nicht her ;-) also auch genauso ohne Pause vor dem T aber vor dem V - und dann gibt das natürlich auch keinen Treffer!

    Einen Kommentar schreiben:


  • Axel
    antwortet
    Funktioniert alles bestens. Allerdings habe ich mit steuern von Musik und Fernseher meine Probleme.

    Befehle wie "Alexa, schalte Wohnen die Musik ein" führt leider nicht zu einem HS Befehl sonder ein Radiosender wird abgespielt.
    Ebenso Befehle wie "Alexa, schalte Programm weiter" oder "Alexa, schalte Lauter" werden nicht als HS Befehl ausgeführt.

    Ein Befehl wie "Alexa, schalte Wohnen Sonos ein" klappt problemlos.

    Wie habt Ihr das gelöst? Oder wie löst man dies, um einen wirklich durchgängige Spracheingabe zu ermöglichen?

    Einen Kommentar schreiben:


  • Hightech
    antwortet
    Zitat von Sternwart Beitrag anzeigen
    [*]es wäre gut, wenn der Fenster/Türstatus konfigurierbar bleibt und z.B. einzig die Differenzierung Offen/geschlossen möglich wäre (den zweiten Kontakt für gekippt habe ich mir aus Aufwandsgründen gespart)
    Naja, wenn offen/gekippt/geschlossen mit einer Meldung versehen ist, kannst Du den für 2 Meldungen doch auch nutzen - die dritte wird ja nicht ausgelöst, würde bei Dir dann "schlafen" (ist doch ungefähr so, als ob Du sagst "auf 66% fahre ich meinen Rollladen nie" - dann wird die Meldung für 66% halt nie angesagt, vorhanden ist sie trotzdem :-)

    Einen Kommentar schreiben:


  • wernerL
    antwortet
    Hallo Gerald,

    ja, aktuell hat der Baustein nur einen Ausgang den Zähler für unbefugte Zugriffe. Leider ist dieser jedoch nicht 100% verlässlich. Aus Gründen die ich bis jetzt noch nicht verstehe, werden beim ersten Aufruf der Konfigurationsseite zwei Requests als unbefugt gezählt. Dies ist aber ein anderes Thema.

    Ich meinte die folgende Log-Ausgabe:

    Beispiel
    Code:
    Amazon Echo - Log
    Loglevel = 3 (Info)
    
    2017-01-10 11:29:51 | SYS   Amazon Echo Service V0.3 vom 24.12.2016 07:53  -  (Python Version: (2, 6, 6, 'final', 0) Default Encoding:ascii)
    2017-01-10 11:29:51 | SYS   Initiate 20 seconds delay for HS to be fully up and running ...
    2017-01-10 11:30:11 | SYS   Initialize Amazon Echo Service.
    2017-01-10 11:30:11 | SYS   SSL certificate loaded successfully - writing it to file '/tmp/amazonEchoSSL.cert'.
    2017-01-10 11:30:11 | INFO  Appliances configuration successfully loaded.
    2017-01-10 11:30:11 | SYS   Starting Amazon Echo Service.
    2017-01-10 12:56:26 | INFO  Control appliance with id='ESS_JAL_1', name='Essen front Position %', request='SetPercentageRequest', messageId='ace82fbb-4d06-4cc3-a1a4-19b24406f14b'.
    2017-01-10 13:32:49 | INFO  Control appliance with id='ESS_JAL_1', name='Essen front Position %', request='SetPercentageRequest', messageId='40204a32-e0e8-471a-832b-8fad7d296692'.
    2017-01-10 13:33:43 | INFO  Control appliance with id='ESS_JAL_1', name='Essen front Position %', request='SetPercentageRequest', messageId='a14dbb1c-275d-4c16-8e0b-5789a706d14e'.
    2017-01-10 14:56:53 | INFO  Discovery found 104 appliances. (messageId='dc412285-7f2a-472e-b35a-1ba0d81f2083').
    2017-01-10 16:56:34 | INFO  Discovery found 104 appliances. (messageId='633b9595-1e99-4851-a3cc-2aa85ab3b385').
    2017-01-10 17:18:41 | INFO  Control appliance with id='KUE_D_1', name='Küche Deckenleuchte', request='GetOnOffValueRequest', messageId='GiraHS_Custom'.
    2017-01-10 17:18:48 | INFO  Control appliance with id='BUE_WDW', name='Fahrrad Fenster gekippt', request='GetValueRequest', messageId='GiraHS_Custom'.
    ...
    Sprechen wir vom selben Log?
    Du hast natürlich recht, dass diese Ausgabe sehr technisch ist, wobei die Sprachkommando's schon erkennbar sind. Diese beginnen mit "Control" und enthalten den Namen des hierbei verwendeten Kommunikationsobjekts im Attribut "name" und die Art der Steuerung im Attribut "request".

    Einen weiterer Bausteinausgang für eine Art fachliches Log, hat bei mir momentan ehrlich gesagt keine hohe Prio.
    Welche Meldungen und Informationen würdest du den hier erwarten?
    Es gibt einen Syslog Baustein von Nils, allerdings habe ich mir den noch nicht genauer angeschaut. Hast du andere Bausteine im Einsatz welche ein vergleichbares Log schreiben. Falls ja, kannst du mir dazu Details geben?

    Für Unterstützung bin ich prinzipiell immer dankbar.
    Allerdings muss ich mir noch überlegen wie das mit der Doku ablaufen soll.

    Viele Grüße
    Werner

    Einen Kommentar schreiben:


  • Sternwart
    antwortet
    Hallo Werner,
    leider fehlte es in der vergangenen Woche an Zeit für weitere Tests.
    Bzgl. Deiner Überlegungen für V0.3:
    • es wäre gut, wenn der Fenster/Türstatus konfigurierbar bleibt und z.B. einzig die Differenzierung Offen/geschlossen möglich wäre (den zweiten Kontakt für gekippt habe ich mir aus Aufwandsgründen gespart)
    • Die Festlegung solcher Dinge in der Lambdafunktion halte ich für zumutbar. Wer damit nicht klarkommt, scheitert vermutlich auch an anderen Dingen
    • Das Schlüsselwort "Smarthome" scheint mir gefährlich. Irgendwann kommt Amazon auf die Idee, das selbst für eine Funktion zu nutzen - das läge zumindest nahe. Insofern ist die freie Definierbarkeit natürlich genial.
    Nochmal zurück zum Post #117:
    • bisher hat m.E. der HS-Logikbaustein nur einen Ausgang: ein Zähler für unerlaubte Versuche. Oder habe ich da was übersehen? Vielleicht meintest Du aber die Debug/Log-Ausgabe im hslist - dort gibt's natürlich mehr, aber eben ziemlich kryptisch. Meine Frage war so gemeint, ob Du einen Text im Modul selbst zur Weiterverarbeitung/Anzeige ausgeben kannst...
    • der Verlust der Abwärtskompatibilität im JSON-Script wäre für mich tolerierbar.
    Wenn Du Interesse hast, würde ich mich für Dokumentationsarbeiten anbieten.

    Viele Grüße

    Gerald

    Einen Kommentar schreiben:

Lädt...
X