Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Custom Skill v2 für ioBroker iot

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Custom Skill v2 für ioBroker iot

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @apollon77 last edited by

      ioBroker Custom Skill v2 (enhanced by iot and Alexa2)

      Hi All,

      ich freue mich euch heute den ioBroker Custom Skill für Amazon Alexa vorstellen zu können. Dieser Post enthält einige Details über den Skill und seinen Möglichkeiten und wie dieser mit anderen Adaptern bzw. dem ioBroker-System genutzt werden kann. Vor allem mit text2Command, iot, alexa2 und eigenen Skripten mit dem JavaScript-Adapter können mächtige Interaktionen erstellt werden.

      Was ist ein Custom Skill?

      Ein Custom-Skill ist ein eigener Skill im Amazon Skill Store und bietet spezifischere Interaktionsmöglichkeiten als die Smart-Home-Skills, welche nur auf von Amazon definierte Geräte beschränkt sind.
      Auch bei ioBroker ist der Custom Skill ein eigener Skill im Skill Store und wird mit der iobroker Pro Cloud verbunden und benötigt damit auch einen entsprechenden Pro-Cloud Account und eine damit verbundene iot Instanz.

      TL;DR Wofür brauche ich das jetzt? Was geht denn damit?

      Ok, für die ungeduldigen hier eine ganz grobe Zusammenfassung was wir mit dem neuen Custom Skill, dem iot-Adapter und optional alexa2, text2Command und JavaScript machen können:

      • Mit einer Startphrase "Alexa, sage/frage i.o. broker ..." den Skill öffnen und jeden Text an ioBroker weitergeben der gesprochen wird
      • Text kann mit Text2Command oder eigenen JavaScript-Skripten verarbeitet werden
      • Mit eigenen Skripten können auch Dialoge mit Rückfragen gebaut werden
      • Über Alexa2 starten des Skills mit einem eigenen Text der gesprochen wird bzw. Frage die gestellt wird und dann User-Antwort entgegennehmen (Hallo Ingo, was kann ich für Dich tun?)
      • Zuordnung der Geräte zu denen gesprochen wird zu Räumen und Alexa2 Devices
      • Zuordnung der Benutzer die sprechen zu Namen
      • Weiterleiten des erkannten Textes an Alexa2 "textCommand" State und damit Verarbeitung des Textes nur durch Amazon (so als ob man direkt gesprochen hätte)
      • Weiterleiten des erkannten Textes an Alexa2 "textCommand" wenn eine eigene Verarbeitung via text2Command oder JavaScripts nicht möglich war

      Wie funktioniert das ganze (wen es interessiert)?

      Normalerweise haben Custom Skills vordefinierte Dialoge und Kommunikationsmodelle und -abfolgen einprogrammiert. Unser Custom Skill versuchen bestmöglich einfach den gesamten gesprochenen Text zu erfassen und an das ioBroker-System weiterzugeben. Das macht Amazon einem nicht ganz einfach, aber ich denke wir haben einen guten Kompromiss gefunden.

      Es gibt genau zwei Möglichkeiten in Alexa-Custom-Skills, um den gesamten erkannten Text zu bekommen:
      1.) Indem man spezielle Startworte definiert und dann den gesamten Text nach diesen bekommen kann. So haben wir in Summe 155 Startwörter definiert, wodurch 99% aller "Normalen Interaktions-Sätze" abgedeckt sein sollten, inklusive sehr vieler Kurzformen, die zB ein Gerätename oder Zimmername als erstes Wort enthalten. Die vollständige Liste ist unter https://docs.google.com/spreadsheets/d/17h7KKuYwp0atJ6_QFho1FBDulDZh7GNRDnZirP7atSg/edit?usp=sharing zu finden. Das ist bereits das Maximum an Startworten welche wir zur Verfügung haben, es können aber bei Bedarf Worte zusammengefasst werden o.ä.
      2.) In dem man eine andere Interaktion hat, die vom Skill dann mit einer Rückfrage beendet wird kann man in einem "Dialogmodus" landen wo wir dann alle Worte erhalten können. Dies ist der Fall wenn man den Skill nur startet. ALternativ haben wir noch ein paar Sonderstartoptionen eingebaut, die aber nur über Umwege sinnvoll genutzt werden können (dazu später mehr)

      Wie interagiert man mit dem Skill?

      Custom Skills haben immer eine Start-Phrase, mit der er aktiviert bzw. direkt befragt werden kann. Zusammen mit den Informationen oben ergeben sich die folgenden Interaktionsmöglichkeiten:

      "menschliche" Interaktionsmöglichkeiten

      • Alexa, starte i.o. broker startet den Skill und Alexa fragt "Hallo, was möchtest Du wissen oder steuern?" und ist im Dialogmodus
      • Alexa, frage/sage i.o. broker <Startwort> ... erfasst den text der mit einem Startwort beginnt und erfasst idealerweise den Text und sendet Ihn an die ioBroker Instanz womit direkt gesteuert werden kann. Für den Fall das keins der möglichen Startworte genutzt wird gibt es einen "sehr groben" Fallback, welcher aber nur einzelne Wörter und nicht den gesamten text erkennen kann.

      NEU: "Skript"-Interaktionsmöglichkeiten

      Für die bessere Nutzung haben wir noch folgende weitere Startmöglichkeiten des Skills eingebaut, die zB per "textCommand"-State einer alexa2-Instanz ausgelöst werden können:

      • Alexa, sage i.o. broker starte Dialog mit Guten morgen Ingo startet den Skill und Alexa sagt "Guten morgen Ingo" und hört danach auf weiteren Text vom User
      • Alexa, sage i.o. broker starte Dialog mit Guten morgen Ingo, kann ich etwas für Dich tun startet den Skill und Alexa fragt "Guten morgen Ingo, kann ich etwas für Dich tun?" und hört danach auf weiteren Text vom User
      • **Alexa, sage i.o. broker starte Dialog" startet den Skill und Alexa fragt nut "Ja?" (leider muss sie was fragen um danach zuzuhören) und ist im Dialogmodus
      • In der Alexa-App kann man eine Routine anlegen, die den Custom Skill startet. Alexa fragt dann die Standardfrage "Hallo, was möchtest Du wissen oder steuern?" und ist im Dialogmodus

      Wie wird der Text dann verarbeitet?

      Der erkannte Text wird über die ioBroker Cloud an den iot Adapter gesendet.

      Basierend auf den übermittelten Daten werden noch ein paar weitere Informationen ermittelt:

      NEU: Raumzuordnung
      ie Daten von Amazon enthalten eine Geräte-ID des Geräts zu dem gesprochen wurde. Diese sind leider eindeutige IDs die mit nichts direkt verknüpfbar sind. Der iot Adapter sammelt alle Geräte-IDs die genutzt werden und bietet in der UI die Möglichkeit an diese einem Raum (aus enum.rooms) zuzuordnen und auch optional ein Alexa2.Echo-Devices.XXXX gerät zu wählen.

      Damit steht zusätzlich ein Raumname zur Verfügung und auch eine Verknüpfung zu Alexa2 für weitere Steuermöglichkeiten.

      Im iot Adapter kann auch gewählt werden ob der Raumname dem erkannten Text (für text2Command) hinzugefügt werden soll und so in Text-Regeln genutzt werden kann.

      NEU: Personenzuordnung
      Die Daten enthalten ebenfalls eine Benutzer/Sprecher-ID. Der iot Adapter sammelt auch diese IDs und erlaubt in der UI den IDs einen Namen zuzuordnen als Text).

      Es kann gewählt werden den Benutzernamen dem erkannten Text (für text2Command) hinzuzufügen und so in Text-Regeln zu nutzen.

      Die weitere Verarbeitung kann nun auf verschiedene Arten erfolgen

      NEU: Gesprochenen Text immer direkt an Alexa2 textCommand weitergeben

      Wer den Custom Skill nur nutzen möchte um einen Dialog mit Alexa zu starten, die Verarbeitung des textes selbst aber von Alexa selbst "wie sonst auch" vornehmen lassen will, kann über die Raumzuordnung für alle Geräte das Alexa2-gerät zuordnen und der iot Adapter wird den erkannten text direkt an textCommand weitergeben und so zurück zu Amazon. Damit kann man erreichen, dass Alexa zB aus Skripten heraus gestartet wird und zuhört, und dann auch die Verarbeitung macht. Es kann allerdings sein das textCommand Limitierungen hat!

      Text2Command

      Wenn im iot Adapter eine text2Command Instanz konfiguriert ist wird der Text an diese gesendet und kann dort über Regeln verarbeitet werden. Die Antwort wird zurückgegeben. Der Dialog wird aber immer beendet nachdem die Antwort ausgegeben wurde, da text2Command das nicht wieder vereinen kann.

      NEU: Eine neue Option erlaubt es, im Falle das text2Command den Text mit keiner Regel verarbeiten konnte, anstelle der Fehlerantwort den text immer an Alexa via Alexa2 textCommand weiterzugeben. Im Zweifel Antwortet Alexa mit einem Fehler.

      Own JavaScript

      Der iot-Adapter hinterlegt die Daten der Anfrage in den states iot.X.smart.lastCommand (nur der Text) und iot.X.smart.lastCommandObj als umfangreiches JSON objekt mit allen Details:

      • words: Array mit den erkannten Wörtern
      • intent: Information welcher Intent von Amazon erkannt wurde
      • deviceId: Device-ID von Amazon
      • deviceRoom: Raumname (enum) der in iot dem Raum zugeordnet ist, wenn definiert
      • alexa2DeviceObjectId: Object ID des Alexa2 devices wenn definiert
      • sessionId: Eindeutige ID der Kommunikations-Session, kann zur Erkennung von Interaktionsabfolgen genutzt werden
      • userId: User-ID von Amazon
      • userName: Benutzer-name der dem in iot User zugeordnet ist

      Auf diesen stateChange kann der JavaScript Adapter nun reagieren und eigene Logiken inklusive ganzer Dialoge erstellt werden.

      Eine Antwort muss bei einem, eigenen JavaScript innerhalb von 200ms erfolgen, indem entweder diese in das State iot.X.smart.lastResponse geschrieben wird oder eine Message "alexaCustomResponse" an die iot Instanz gesendet wird.

      Die Antwort kann:

      • der Antworttext allein sein, welcher ausgegeben und der Dialog beendet wird.
      • ein stringified JSON-Objekt sein. Es sollte dann die sessionId enthalten zu der diese Antwort gehört, den responseText und optional ein Boolean shouldEndSession, welcher angibt, ob der Dialog beendet ist oder weitergeführt werden soll.

      Weitere Details zu den Verarbeitungsmöglichkeiten gibts in der Readme des iot-Adapters

      Jetzt dann mal viel Spass beim coole Dinge damit bauen

      Ingo

      1 Reply Last reply Reply Quote 1
      • sigi234
        sigi234 Forum Testing Most Active @apollon77 last edited by

        @apollon77

        Hallo, bekomme keine Einladung?

        apollon77 1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 @sigi234 last edited by

          @sigi234 hhmmm. Was passier denn wenn du den Link auf machst auf nem Handy? (Bin ehrlich sind Annahmen wie das tut genau ;-)) )

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @apollon77 last edited by sigi234

            @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

            @sigi234 hhmmm. Was passier denn wenn du den Link auf machst auf nem Handy? (Bin ehrlich sind Annahmen wie das tut genau 😉

            Screenshot_20221210_101839_com.android.chrome.jpg

            Nach open Alexa öffnet die App, dann tut sich nix

            liv-in-sky DJMarc75 2 Replies Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @sigi234 last edited by liv-in-sky

              @sigi234 ist bei mir genauso !

              schaut dann so aus:

              Screenshot_20221210-103046_Amazon Alexa.jpg

              1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @sigi234 last edited by

                @sigi234 dito bei mir !

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  Ok jetzt geht mal auf die skill Seite in der App. Kommt dann eine Meldung das ihr ne Einladung habt? So war es bei mir. Wenn nicht sendet bitte eure Amazon Account email Adressen an info@iobroker.net. Dann machen wir es manuell.

                  DJMarc75 liv-in-sky sigi234 crunchip 4 Replies Last reply Reply Quote 1
                  • DJMarc75
                    DJMarc75 @apollon77 last edited by

                    @apollon77 geschickt 😀

                    sigi234 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @apollon77 last edited by

                      @apollon77 auch geschickt

                      1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @DJMarc75 last edited by

                        @djmarc75 sagte in Test Custom Skill v2 für ioBroker iot:

                        @apollon77 geschickt 😀

                        dito

                        1 Reply Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @apollon77 last edited by

                          @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                          Kommt dann eine Meldung das ihr ne Einladung habt?

                          Nein

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            Bluefox meldet: zwei User eingetragen ;-)) solltet eine email haben. Von da öffnen auf Handy.

                            Und dann in App und auf der weisen Seite dann nochmal ins skills Menü . Da hab ich dann gestern ne Meldung bekommen das ich eingeladen wurde und dann neu verknüpfen

                            DJMarc75 1 Reply Last reply Reply Quote 0
                            • DJMarc75
                              DJMarc75 @apollon77 last edited by DJMarc75

                              @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                              zwei User eingetragen

                              ok, ich bin es wohl dann nicht, daher bin ich da raus - leider

                              apollon77 1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 @DJMarc75 last edited by

                                @djmarc75 hast Du Email an info@iobroker.net geschickt? Haste ne mail von amazon bekommen? (sorry falls ich mich verzählt hatte)

                                DJMarc75 1 Reply Last reply Reply Quote 0
                                • DJMarc75
                                  DJMarc75 @apollon77 last edited by

                                  @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                                  hast Du Email an info@iobroker.net geschickt?

                                  ja klar: https://forum.iobroker.net/post/907239

                                  @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                                  Haste ne mail von amazon bekommen?

                                  auch... ioBroker - no-reply@amazon.com

                                  apollon77 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @DJMarc75 last edited by apollon77

                                    @djmarc75 na dann versuch doch mal 🙂 Vllt warns dann doch 3 🙂 Natürlich werden wir niemand Testwilligen ausschliessen 😉

                                    DJMarc75 1 Reply Last reply Reply Quote 0
                                    • DJMarc75
                                      DJMarc75 @apollon77 last edited by

                                      @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                                      na dann versuch doch mal

                                      Was genau ?

                                      @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                                      Vllt warns dann doch 3

                                      ?? 3 was ??

                                      @apollon77 sagte in Test Custom Skill v2 für ioBroker iot:

                                      Natürlich werden wir niemand Testwilligen ausschliessen

                                      Das wäre schön...

                                      1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 last edited by

                                        Also nochmal zusammengafasst und um verwirrung und irgendwie komisches aneinander vorbei reden zu beenden 😉

                                        Da der Einladunglink oben nicht tut. Bitte eine E-Mail an info@iobroker.net senden mit Eurer Amazon-E-Mail und um Freischaltung für Beta Test Custom Skill bitten.

                                        Die Antwort auf die E-Mail ist quasi eine Mail von Amazon mit der Einladung zum Test. Da ist ein Link drin.
                                        Diesen Link am besten auf einem Handy auf machen wo auch die Alexa App drauf ist. Die zeigt dann aber komischerweise eine weisse Seite an.

                                        Wenn man Sie aber dann schliesst bzw danach auf den Burger-Menü (3 Striche) -> "Skills" Punkt in der App geht dann hat mich gestern eine Seite begrüsst die über den test informiert hat. Dort dann diesen Custom Skill mit dem iot verknüpfen und fertig.

                                        So jetzt ... bei wem tat das? Was tut nicht 😉

                                        DJMarc75 crunchip 2 Replies Last reply Reply Quote 0
                                        • DJMarc75
                                          DJMarc75 @apollon77 last edited by

                                          @apollon77 siehe hier:
                                          https://forum.iobroker.net/topic/60835/test-custom-skill-v2-für-iobroker-iot/6?_=1670676084356

                                          und das schon seit heute morgen !

                                          apollon77 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @DJMarc75 last edited by

                                            @djmarc75 Wann passiert das? Wenn ihr auf die email klickt? hast Du gemacht was ich geschrieben hab: Alexa-App danach schliessen, dann neu öffnen und auf "Skills" gehen? Oder kommt das dann auch? Dann wäre das einn Amazon issue

                                            DJMarc75 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            437
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            97
                                            5453
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo