Alexa Loxone Skill (echo, echo dot)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • christof89
    Lox Guru
    • 29.08.2015
    • 1373

    Alexa Loxone Skill (echo, echo dot)

    Hi@all,

    wie ich vor längerem nebenbei erwähnt habe, habe ich vor einen Loxone Skill für Amazon echo zu entwickeln,
    damit habe ich gestern bereits begonnen - und mich in die Materie eingelesen und die ersten Schritte versucht.

    Vorab: Bis eine erste Version veröffentlicht wird, wird es sicher noch einige Zeit dauern,
    da ich das alles neben meinem Brotjob mache...

    Eine weitere Unbekannte wird dann noch das AWS Lambda Kontingent, da hier nur eine gewisse Anzahl an Requests kostenlos sind...

    Mein Konzept sieht vor, dass beim aktivieren des Skills lediglich die Mac-Adresse (externe URL des MS) und die Login-Daten abgefragt werden.
    Anschließend sollten alle Objektnamen die in der "loxapp3.json" hinterlegt sind auch steuerbar sein.
    Zu Beginnn wohl nur ein/aus, und Statusabfragen von z.B. Temperatursensoren.

    Um das ganze nun so flexibel wie möglich zu programmieren, daher würde ich euch um 3 verschiedene Dinge bitten:

    -) Raumnamen
    -) Objektnamen/Devicenamen
    -) Phrasen

    Die Phrasen sind Pflicht bei der Skillentwicklung, auf diese kann der Skill dann reagieren.
    Die Raum- und Objektnamen können zusätzlich hinterlegt werden, um das Verständnis von Alexa zu verbessern, sonst ist es reine Glückssache ob ein Wort verstanden wird.

    Raumnamen (Room)
    Code:
    Abstellraum
    Ankleidezimmer
    Arbeitszimmer
    Ausgang
    Bad
    Badezimmer
    Balkon
    Bar
    Besprechung
    Besprechungsraum
    Bügelzimmer
    Dach
    Dachboden
    Dachgeschoss
    Eingang
    ...
    Liste zum Editieren: https://docs.google.com/spreadsheets...it?usp=sharing


    Objektnamen (Device)
    Code:
    Wohnzimmerlicht
    Wohnzimmerlampe
    Licht im Wohnzimmer
    Wohnzimmerbeleuchtung
    Beleuchtung im Wohnzimmer
    Schlafzimmerlicht
    ...
    Liste zum Editieren: https://docs.google.com/spreadsheets...it?usp=sharing


    Phrasen
    Code:
    TurnOnIntent {Device} einschalten
    TurnOnIntent {Device} ein schalten
    TurnOnIntent Schalte {Device} ein
    TurnOnIntent {Device} aufdrehen
    TurnOnIntent {Device} auf drehen...
    
    TurnOffIntent {Device} ausschalten
    TurnOffIntent {Device} aus schalten
    TurnOffIntent Schalte {Device} aus
    TurnOffIntent {Device} ausdrehen...
    
    AskIntent Wie viel Grad hat es im {Room}
    AskIntent Wie viel Grad es in der {Room} hat
    AskIntent Wie viel Grad es im {Room} hat
    AskIntent Wie ist die Temperatur im {Room}
    AskIntent Wie die Temperatur im {Room} ist...
    
    HilfeIntent Hilfe
    HilfeIntent Hilf mir
    HilfeIntent Wie geht das
    HilfeIntent Kannst du mir helfen
    ...
    Liste zum Editieren: https://docs.google.com/spreadsheets...it?usp=sharing



    Nachdem ich flexibel bleiben wollte, habe ich das ganze nun mit einem Custom Skill begonnen anstelle eines Smart Home Skills,
    daher muss hier auch die Phrase immer mit "Alexa, sage Loxone " oder "Alexa, frage Loxone " eingeleitet werden.
    Loxone ist hierbei das Keyword, das den jeweiligen Skill aktiviert.

    Mich würde bei den Phrasen nun interessieren, wie würdet ihr mit Alexa sprechen.
    Hier habe ich aktuell 4 Typen unterschieden "TurnOnIntent, TurnOffIntent, AskIntent, HilfeIntent":
    TurnOnIntent: Dient dazu Geräte einzuschalten/aktivieren
    TurnOffIntent: Dient dazu Geräte auszuschalten/deaktivieren
    AskIntent: Dient derzeit zur Temperaturabfrage
    HilfeIntent: Gibt derzeit nur eine Erklärung aus, was der Skill tut und für was er gut ist.

    Von euch würden mich nun die ersten 3 Typen interessieren, dann würde ich diese ebenfalls im Skill hinterlegen,
    je mehr Varianten wir zusammen bekommen, desto flexibler ist der Skill.


    Wichtig wäre mir hier noch zu erwähnen, dass ich dieses Projekt komplett neben meiner alltäglichen Tätigkeit mache,
    daher kann ich noch keinen Zeithorizont bekanntgeben...


    Im Anhang habe ich noch ein paar erste Eindrücke für euch.
    Außerdem hier die ersten Gehversuche, noch ohne einer Loxone Anbindung - lediglich zum Testen und Erkennen der Sprache:
    https://dl.dropboxusercontent.com/u/...ill%20Test.m4a


    LG
    Christof
    Zuletzt geändert von christof89; 28.12.2016, 10:32.
  • Liver_64
    MS Profi
    • 07.09.2015
    • 591

    #2
    klasse Projekt, klingt vielversprechend. Wenn du doch schon anfängst versuche es doch als LoxBerry Plugin zu integrieren, anstatt eine Standalone Lösung. Ich denke da wird es einige geben die Interesse daran haben, es gibt zu dem auch schon einen Eintrag in der LoxBerry Plugin Wunschliste dazu.

    Ist nur so eine Idee...
    Anmerkung: Bitte keine Fragen mehr per PN sondern direkt im Forum damit andere mithelfen und mitprofitieren können.
    Bzgl. Sonos Plugin supporte ich nur noch die jeweils aktuelle Version NUR auf dem LoxBerry, ich kann keine VM Unterstützung mangels Hardware geben. Herzlichen Dank!

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Aktuell wäre mein Plan ein offizielles Plugin im Alexa Skills Store zu veröffentlichen.
      Ich habe bereits mit der Programmierung in AWS Lambda (nodejs) begonnen.

      Natürlich könnte man den Code dann in weiterer Folge auch auf diverse andere Systeme portieren...
  • DellJoe
    Extension Master
    • 25.08.2015
    • 133

    #3
    Erstmal auch von mir: Super Projekt! Was mir nicht gefällt, ist dass der Miniserver seine Daten direkt Richtung Amazon samt Anmeldedaten schickt. Hier sollte man überlegen, ob man nicht z.B. über den Loxberry nur die Werte bereitsstellt und der direkte Zugriff auf den Miniserver im eigenen Netz bleibt.
    @liver_64: ihne Skill wird es leider nicht gehen, nach allem was ich mir angeschaut habe
    Loxone Miniserver, Loxone 1wire Extension, KNX Sensorik & Aktorik (u.a. MDT Glastaster), Loxberry (Wetterserver, 433MHz, Netatmo, HA-Bridge), Helios KWL, Amazon Echo, Netatmo Wetterstation, Netatmo Presence und viele andere Basteleien...

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Ich hatte bzw. habe nach wie vor die gleichen Bedenken.
      Problem ist dass der Skill-Code aus der "Cloud" über AWS Labmda ausgeführt wird.

      Daher muss (was mir auch ganz und gar nicht gefällt) auch die externe Portfreigabe aktiviert sein.

      Wie gesagt war meine derzeitige Herangehensweise die, dass es "eine Art offizieller Loxone Skill" wird, der ohne zusätzlicher Hardware usw. funktioniert.
      Also ähnlich des PhilipsHue Skills der im Skill Store verfügbar ist, auch hier werden ja die Daten in die Cloud geschickt.
  • Eraser-FX-
    Extension Master
    • 13.03.2016
    • 118

    #4
    Das ist nice von dir !
    Habe mal ein paar Räume hinzugefügt.
    Ich finde das mit dem Keyword ... loxone .... nicht so smart.
    Habe leider noch keine Alexa, stelle mir das aber schon nervig vor das ständig sagen zu müssen.
    Kann man das später ändern ?

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Betreffend dem Keyword "Loxone".

      Es ist bei den echo's so, dass man sogenannte Skills (=Apps) hat, diese kann man aktivieren.
      Jeder Skill hat dann einen "Rufnamen", wenn Alexa diesen Rufnamen hört, weiß sie an welchen Skill/App die Anfrage weiter gereicht werden soll.

      z.B.: "Alexa, frage Chefkoch nach dem Rezept des Tages" oder "Alexa, frage Spaß Kiste nach einem Chuck Norris Witz".

      Und so eben auch "Alexa, frage/sage Loxone ....".

      Diese Aktivierungswörter/Rufnamen gibt es bei den Smart Home Skills anscheinend nicht,
      hier habe ich aber ein paar Einschränkungen gesehen, die mir nicht gefallen haben,
      daher bin ich aktuell zu der Entwicklung eines Custom Skills übergegangen, der Code sollte aber relativ einfach auch in einen Smart Home Skill portierbar sein, steht noch auf meiner Todo - wie gesagt beschäftige ich mich selbst erst seit 1-2 Tagen mit der Skillentwicklung.
  • hismastersvoice
    Supermoderator
    • 25.08.2015
    • 7189

    #5
    Tolles Projekt!!

    Habe einen Dot zu Hause und auch schon viel damit gespielt und bin soweit auch ganz zufrieden.

    Das ich jedes mal "Alexa, sage Loxone" als Keyword nutzen soll halte ich für eher unangenehm. Aber daran kann man sich gewöhnen.
    Aber das ich meine Anmeldedaten des MS in die Cloud gebe, und einen Port dafür öffne halte ich für vorsichtig gesagt unverantwortlich.
    Wir diskutieren hier immer wieder über Portfreigaben,VPN und Sicherheit, das würde alle zu Nichte machen.
    Was spricht gegen einen Raspi der die Daten auswertet und mit dem MS kommuniziert? Es ist sicher ein erhöhter Aufwand, aber das ist Sicherheit immer.

    Aber ich möchte das jetzt nicht schlecht reden, ich freue mich schon wenn wir testen dürfen.



    Kein Support per PN!

    Kommentar

  • Gast

    #6
    Moin moin,

    ich habe vor einigen Tagen selber begonnen die Alexa Infrastruktur an Loxone anzuschließen. Allerdings wird es bei mir noch einen Service dazwischen geben, so das ich meine Loxone Zugangsdaten nicht bei Amazon ablegen muss, die Loxone Cloud DNS Auflösung nutzen kann und auch anderen Leuten den Service zur Verfügung stellen kann. Ich habe das auch so verstanden, dass man sich noch irgendwo mal per OAuth anmelden muss.

    Wenn Du Unterstützung brauchst, dann wäre es ja vielleicht sinnvoll mal zusammen daran zu arbeiten, hast du daran Interesse?

    Viele Grüße,
    Christoph

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Hi,

      ja können uns gerne mal kurzschließen - damit am Ende des Tages nicht 2 mehr oder wenig idente Skills programmiert werden.

      Was ich bei mir evtl. vergessen habe, bzw. nicht ausführlich erwähnt habe ist, dass die Zugangsdaten bei mir auch nicht direkt bei Amazon liegen würden,
      sondern ein OAuth Service dazwischen liegt - daher in meinen Screenshots auch "Kontoverknüpfung erforderlich".
      Allerdings würden die Daten ja trotzdem zu AWS Lambda übergeben werden, um die Funktion http-Request auszuführen, die Speicherung der Daten würde in diesem Fall nur wo anders liegen...
  • Negropo
    Smart Home'r
    • 10.10.2015
    • 90

    #7
    Klasse Projekt! Nutze meinen Dot derzeit via FHEM als Sprachsteuerung für Loxone. Ist zwar etwas umständlich (man muss jedes Gerät als Dummy in FHEM anlegen), aber der Entwickler von alexa-fhem ist mit seinem Custom Skill schon sehr weit. Vielleicht kann man sich dort ja das ein oder andere abschauen.

    Gruß Negropo

    Kommentar


    • Goldenhead
      Goldenhead kommentierte
      Kommentar bearbeiten
      Perfekt, vielen Danke!
      Dann werd ich mich mal gleich an die Arbeit machen!!

    • Negropo
      Negropo kommentierte
      Kommentar bearbeiten
      Hi,

      weiß jemand von euch, wie man eine Jalousie/Rollo mittel HTTP Request steuert. Ich bekomme das irgendwie nicht hin. Bei Licht/Dimmer ist das kein Problem, aber bei Jalousie/Rollo bekomme ich immer einen Error 404: Folgenden Befehl benutze ich:

      http://Benutzer:Passwort@IP_Miniserv...ein_Down/Pulse

      Wie gesagt, da tut sich irgendwie nichts. Hat jemand eine Idee?

      Danke und Gruß

      Negropo

    • tholle
      tholle kommentierte
      Kommentar bearbeiten
      Versuch's mal mit pulseup/pulsedown

      Hier etwas zum Lesen: https://www.loxone.com/dede/kb/webservices/
  • cali
    Smart Home'r
    • 29.08.2015
    • 63

    #8
    Super Idee!
    Wie kann es sich ein Hersteller erlauben einen solchen Trend zu verschlafen? Wieso gibt keinerlei Hinweise auf der Homepage über eine mögliche zukünftige Unterstützung seitens Loxone? Oder habe ich dies auf der Homepage übersehen?

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Ich kann aktuell nur für AT sprechen, hier scheint aber gerade jeder das Thema zu verschlafen.
      Wenn ich mir DE ansehe, dann hat dort schon fast jede größere Stadt eine Integration der Verkehrsbetriebe - in AT sehe ich derzeit noch keinen ähnlichen Skill...

    • cali
      cali kommentierte
      Kommentar bearbeiten
      Als Hersteller von Welt ist man ja auch in USA und UK vertreten. Dort ist Alexa noch länger verfügbar.

    • KapeOne
      KapeOne kommentierte
      Kommentar bearbeiten
      Vermutlich sehen es die Verandwortlichen bei Loxone genaus so wie viele u.a. auch hier (auch ich zähle mich dazu): was haben meine Zugangsdaten, etc. bei Amazon oder Goggle in der Cloude zu suchen? Ich finde die Technik zwar nicht schlecht, werde mir ein emtsprechendes Gadged jedoch sicherlich nie ins Haus stellen. Auch "hallo Google" auf Android bleibt bei mir stumm. Ich mache mir doch nicht die Mühe und sichere meine Internetanbindung ab um dann Amazon oder Goggle bei allem mithören zu lassen und das gehörte dann auch noch in die Cloude zu posten. Brauch ich nicht, will ich nicht und könnte mir wie gesagt durchaus vorstellen, dass das Loxone auch nicht haben möchte. Wie hier irgendwo angesprochen fände ich eine eigene Spracherkennung von Loxone schon aus Gründen der "Barierefreiheit" sinnvoll.
  • hismastersvoice
    Supermoderator
    • 25.08.2015
    • 7189

    #9
    Ich persönlich hätte lieber wenn Loxone eine Sprach-Extension bringen würde. Glaube auch das das früher oder später kommen wird.
    Persönlich halte ich nicht viel davon mein kpl. Verhalten an Amazon zu senden. Big-Data ist nun mal die Cash-Cow schlecht hin, und Amazon wird die Daten nutzen so wie andere auch.

    Am leibesten wäre mir wie in meinem Auto eine Sprachsteuerung die unabhängig vom Internet funktioniert.
    Sich kann ich dann Loxone nicht fragen wann der nächste Bus geht usw. aber ich würde meine Haussteuerung gerne von so was trennen.

    Bin mal gespannt was da noch kommt.
    Kein Support per PN!

    Kommentar


    • christof89
      christof89 kommentierte
      Kommentar bearbeiten
      Definitiv! - Aber ich denke man muss bei diesen Themen sowieso schizophren sein
      Denn wenn ich mir einen echo oder das Pendant von Google nach Hause stelle sollt mir klar sein, dass die jeweiligen Hersteller mithöhren.
      Das macht aber Google schon seit Jahren mit "Hello Google" am Smartphone, wenn man sich die VoiceHistory ansieht - da wird man auch schnell merken dass Google öfter zuhört als man "Hallo Google" sagt

    • hismastersvoice
      hismastersvoice kommentierte
      Kommentar bearbeiten
      ...und genau deswegen nutze ich Hello Goolge nicht
      Alles vermeiden kann man nicht, Bequemlichkeit gegen Sicherheit Aber ein wenig aufpasse schadet ja nicht.
  • Muto
    LoxBus Spammer
    • 06.09.2016
    • 322

    #10
    Super, dass du dich des Themas annimmst. Vielen Dank dafür!
    Ich denke auch, dass man viel bei FHEM abschauen kann: https://wiki.fhem.de/wiki/Alexa-Fhem

    - Jedes mal "Frag Loxone nach..." zu sagen, finde auch ich nicht unbedingt optimal. Würde dann aber wohl das Licht weiterhin über habridge laufen lassen. Und die Temperatur erfragt man ja nicht so häufig. Ob da aber meine Kinder durchsteigen, wann sie was fragen müssen? So ganz smart ist das jedenfalls nicht. Welche Einschränkungen hättest du denn mit einem nativen Smarthome skill?
    - Ich sitze leider hinter einem DSlite-Anschluss und Loxone unterstützt ja noch kein IPv6. Würde dein Skill damit trotzdem funktionieren? Die habridge funktioniert jedenfalls. Wenn du aber den Miniserver direkt vom AWS rufst funktioniert das wohl nicht. Das wäre dann auch noch einen weiterer Grund um auf einen Raspberry als reverse Proxy zu setzen. Idealerweise natürlich als Loxberry-Plugin

    Biete mich gerne als Betatester an, da ich auch berfuflich Software teste.

    Sag Bescheid wenn ich irgendwie unterstützen kann.

    Kommentar

  • bdaenzer
    Smart Home'r
    • 28.08.2015
    • 92

    #11
    mir wäre lieber, man würde die energie in offline-projekte wie jasper auf raspberry, dragon naturallyspeaking etc... stecken!
    schade ist, dass google und amazon ihre sprachtechnologien (welche zugegebenermassen sehr gut sind) nur online verfügbar macht.
    ich fände eine "commander an brücke" sprachsteuerung auch recht cool, aber nie und nimmer wenn quasi eine wanze im haus steht und alles nach draussen überträgt!!!

    vielleicht habt ihr die diskussionen aus den usa ja mitbekommen, wo die polizei von amazon die herausgabe der echo daten in zusammenhang mit einem mordverdacht verlangt? (wobei in meinen augen amazon vor allem mauert um nicht preisgeben zu müssen was sie alles haben und was nicht. und nicht etwa im interessen des angeklagten...)

    natürlich ohne kriminelle absichten, aber finger weg!!!! mit diesem "trend" wird für mich eine grenze überschritten, welche gar nicht geht! das nach hause "telefonieren" diverser geräte ist ja schon grenzwertig, aber dort bleibt's meistens bei software update etc... themen.

    Kommentar

  • Muto
    LoxBus Spammer
    • 06.09.2016
    • 322

    #12
    Zitat von bdaenzer
    [...] eine wanze im haus steht und alles nach draussen überträgt!!!
    Ich teile grundsätzlich deine Bedenken, man muss aber bei dieser Diskussion bei den Fakten bleiben. Der Echo überträgt Daten erst nach dem Keyword. Der Grund für die Übertragung in die Cloud liegt zum einen sicherlich bei "Big Data" zum Anderen kann die Spracherkennung so aber wesentlich besser arbeiten. Schlicht weil hier ein vielfaches der Leistung zur Verfügung steht und der Lernprozess natürlich viel schneller geschieht. Die Sprachausgabe kann man sicher auch offline gut umsetzen, bei der Spracherkennung wird dies aber schwierig mit einem PI oder ähnlicher Hardware umzusetzen sein und sicher nicht an die Cloud heranreichen. Sowohl bei der Erkennungsrate, als auch bei den Antwortzeiten.

    Dieser Trend wird kommen. Das ist für mich so sicher wie das Amen in der Kirche. Ob man es nun gut findet oder nicht. Natürlich wird es einige geben, die nicht auf den Zug aufspringen - und dafür gibt es gute Gründe. Aber hör dich doch mal in deinem Bekantenkreis oder dem Bekantenkreis deiner Kinder um, wem Datenschutz wichtig ist. Das ist nur ein geringer Bruchteil.


    Kommentar

    • Muto
      LoxBus Spammer
      • 06.09.2016
      • 322

      #13
      christof89/ Gast Gibt es denn schon einen Status den man evtl teilen könnte?

      Kommentar


      • christof89
        christof89 kommentierte
        Kommentar bearbeiten
        Bei mir aktuell noch nicht, Jahresbeginn ist immer etwas stressig...
        ...allerdings habe ich durch das Feedback hier auch mal mit der Recherche betreffend "Alexa Voice Service" begonnen,
        evtl. macht es dann doch Sinn das ganze unabhängig vom echo zu entwickeln.
        Das ist allerdings noch eine Grundsatzentscheidung...

        Unabhängig von diesem Skill habe ich aber einen relativ einfach Skill derzeit bei Amazon zur Freigabe, da ich mir den Freigabeprozess mal ansehen wollte, allerdings hängt der Skill nun schon ca. 1 Woche zur Freigabe bei Amazon...
        Mal sehen wie das generell so funktioniert, hier hat ja jeder AppStore so seine Feinheiten die erst einmal erkundet werden müssen...
    • kingduevel
      Extension Master
      • 02.12.2015
      • 107

      #14
      Ich bin kein Programmierer...

      Aber könnte man die Liste nicht insofern reduzieren, als dass gewisse Wörter herausgestrichen werden? Also zum Beispiel "Zimmer" oder "Raum"? Dann bräuchte man für Wohnzimmer/Wohnen/Wohnraum vielleicht nur noch ein Wort in der Liste. Ginge das nicht irgendwie? Dann wäre natürlich die Frage, wenn jemand einen Raum wirklich nur "Zimmer 1" nennt...

      Das Gleiche vielleicht auch bei den Objekten: Warum tauchen hier abermals die Raumnamen auf? Würde die Liste - zum Beispiel für "Licht" - nicht auch sinngemäß so reichen: Licht, Beleuchtung, Lampe, Strahler ?

      Ich vermute mal, das ist alles schon bedacht und dass es technisch schwierig oder von Amazon nicht vorgesehen ist. Wollte es aber ansprechen...

      Kommentar


      • christof89
        christof89 kommentierte
        Kommentar bearbeiten
        Das wäre schön...
        Schön wäre außerdem diese ganzen Listen usw. per Datenbank dynamisch speisen zu können, dann könnte man einen Machine-Learning Prozess implementieren.

        Derzeit müssen diese Sätze und Objektnamen bei Amazon fix definier und hinterlegt werden.
        Sie dienen zur besseren Erkennung von Alexa.

        Prinzipiell erkennt Alexa Wörter, aber im Deutschen tut sie sich noch schwer, daher kann man diese Wörter hinterlegen,
        um anschließend eine Bessere Erkennungsrate zu erzielen - habe leider die Erfahrung gemacht dass sonst ständig "Sorry verstehe dich leider nicht" als Antwort kommt...

        Daher: Je mehr der Aktivierungssätze und Objektnamen einmalig im Skill hinterlegt werden, desto "flexibler" ist es nachher für den Endbenutzer,
        für den Programmierer ist es alles andere als flexibel ;-)

      • kingduevel
        kingduevel kommentierte
        Kommentar bearbeiten
        Ja, sowas habe ich mir irgendwie gedacht.
    • wrack solutionist
      Extension Master
      • 09.09.2016
      • 183

      #15
      Hallo,
      gibt es schon eine Betaversion, wo ich mich als Tester anmelden kann?
      vg

      Kommentar


      • dizzy85
        dizzy85 kommentierte
        Kommentar bearbeiten
        da würde ich mich anschließen....
    Lädt...