NEWS
Wie spricht man mit ioBroker? iobroker Custom-Skill 2022
-
@derrapf Nope, da ist pro Skill limitiert in der Basis-Konfig. ABer vllt ist Jarvis und Sam und dem Haus" (oder findetn wir was allgemeingültoges dafür?) ja genug? ;-)
@apollon77 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
findetn wir was allgemeingültoges dafür?
Ginge auch 'ich möchte' als skill launch phrase? Also "Alexa, ich möchte das Licht einschalten" oder "Alexa, ich möchte das du das Licht einschaltest" oder "Alexa, ich möchte das Licht ein [haben]".
-
@apollon77 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
findetn wir was allgemeingültoges dafür?
Ginge auch 'ich möchte' als skill launch phrase? Also "Alexa, ich möchte das Licht einschalten" oder "Alexa, ich möchte das du das Licht einschaltest" oder "Alexa, ich möchte das Licht ein [haben]".
-
Also gestern Abend hab ich noch ein was hinbekommen ... das wirkliche "allen text erfassen" ... ABER ... es ist natürlich immer noch nicht so einfach ... also das obige Brauchen wir weiterhin.
- mit einem "öffne/starte iobroker" (oder welcher name auch immer) kann ich jetzt einen Modus erreichen indem ich alles danach gesprochene abgreifen kann und smit könnte man auch Dialoge bauen und sowas. Für müssen auch das "Stop" und damit Session-Ende selbst manage, aber denke das ist überschaubar was eine Anzahl an Stopworten angeht
- bei einem "frage iobroker ..." oder "sage iobroker ..." muss EINMAL das obige greifen damit wir auch in den "ab jetzt kriegen wir alles" Modus kommen.
Mit dem obigen sollten wir denke ich inzwischen echt das meiste "natürlich gesprochenene" abgedeckt haben. Also "sage iobroker schalte das Licht an" geht ... bei "sage iobroker licht an" muss man halt noch "licht" haben :-(
-
Also gestern Abend hab ich noch ein was hinbekommen ... das wirkliche "allen text erfassen" ... ABER ... es ist natürlich immer noch nicht so einfach ... also das obige Brauchen wir weiterhin.
- mit einem "öffne/starte iobroker" (oder welcher name auch immer) kann ich jetzt einen Modus erreichen indem ich alles danach gesprochene abgreifen kann und smit könnte man auch Dialoge bauen und sowas. Für müssen auch das "Stop" und damit Session-Ende selbst manage, aber denke das ist überschaubar was eine Anzahl an Stopworten angeht
- bei einem "frage iobroker ..." oder "sage iobroker ..." muss EINMAL das obige greifen damit wir auch in den "ab jetzt kriegen wir alles" Modus kommen.
Mit dem obigen sollten wir denke ich inzwischen echt das meiste "natürlich gesprochenene" abgedeckt haben. Also "sage iobroker schalte das Licht an" geht ... bei "sage iobroker licht an" muss man halt noch "licht" haben :-(
@apollon77 das hört sich doch schon mal vielversprechend an :)
Ich habe das bisher auch noch nie wirklich benötigt, weil ich auch "iobroker" ziemlich suboptimal finde, ach wegen der aussprache.
Alles was mit schalte an/aus geht, ist ja jetzt schon möglich, klar man muß ein "an" hinterschicken, aber "alexa, sauge wohnzimmer an" geht zumindest uns gut über die lippen, das gleiche mit "rolladen bad an"..
Aber für dialoge oder bei fragen wäre das natürlich ein fortschritt -
@apollon77 das hört sich doch schon mal vielversprechend an :)
Ich habe das bisher auch noch nie wirklich benötigt, weil ich auch "iobroker" ziemlich suboptimal finde, ach wegen der aussprache.
Alles was mit schalte an/aus geht, ist ja jetzt schon möglich, klar man muß ein "an" hinterschicken, aber "alexa, sauge wohnzimmer an" geht zumindest uns gut über die lippen, das gleiche mit "rolladen bad an"..
Aber für dialoge oder bei fragen wäre das natürlich ein fortschritt@dirkhe also ja "sage iobroker rolladen hoch" geht genauso wie "sage iobroker fahre rolladen hoch". Es ist nur weiterhin so das ggf im Textprocessing dann "hoch rolladen" ankommen könnte beim ersten Fall. Aber der zweite geht weil das Kommando wieder korrekt an erster Stelle steht
-
@dirkhe also ja "sage iobroker rolladen hoch" geht genauso wie "sage iobroker fahre rolladen hoch". Es ist nur weiterhin so das ggf im Textprocessing dann "hoch rolladen" ankommen könnte beim ersten Fall. Aber der zweite geht weil das Kommando wieder korrekt an erster Stelle steht
@apollon77 naja, wenn das so ankommt, ist das doch ok, die reihenfolge ist ja fürs auswerten unerheblich.
Wenn rollade/jalousinen gefunden, suche nach auf/zu/runter/hoch oder prozent oder beschattung/luft usw.
Aber ich denke ein generischer ansatz Ist da schwer, denn das was ich da gerade mal für rolladen zusammengeschrieben hsbe, passt nirgendswo anders. Und selbsf bei den rolladen muß dann noch die dp zugewiesen werden, die auch wieder unterschiedlich sind (100 = zu oder auf?) -
Hi All,
neben dem "iot Smart Home Skill" um via Alexa seine Geräte zu steuern hat ioBroker auch einen sogenannten "Custom Skill". Die Idee von diesem ist, dass man etwas natürlicher mit seinem ioBroker "reden" kann um Befehle auszuführen die nicht von Amazon anhand des Gerätetyps sehr strikt vorgegeben sind. Der Custom Skill beginnt dabei immer mit "Sage/Frage ioBroker ..." oder mit etwas wie "Starte/Öffne ioBroker".
Wer den Custom Skill noch nicht kennt sei zum Release-Post verwiesen unter https://forum.iobroker.net/topic/15629/neu-iobroker-alexa-custom-skill-verfügbar
Etwas Background (einfach überspringen und unten weiterlesen wen es nicht interessiert)
Jetzt mag man denken "Hey ist doch simpel man bekommt einfach den gesprochenen Text (der Alexa2 Adapter holt den doch auch aus der Sprachhistory)" - tja da hat man leider die Rechnung ohne Amazon gemacht ;-) Das Ziel von Amazon für alle Skills ist das man klare Dialoge definiert, die das System dann auch erkennen kann. Das war schon so als wir den Custom-Skill erstellt haben und hat sich nicht wirklich geändert. Es gibt keinen wirklichen Weg einen Frei gesagten Text einfach direkt durchzureichen (Ausser einer Deprecated Option die es nur für Amerika gibt, aber Amazon auch versucht loszuwerden).
Der bisherige Custom-Skill hat daher auf seeehr komplexe Art versucht erwartete Sätze nachzugestalten und für die einzelnen Komponenten mit Wortlisten gearbeitet. Der Vorteil davon ist, das Amazon im Zweifel mit ein bissl "Fuzzy" nachhilft und so auch Worte gematcht werden die nicht in der Liste stehen. Der große Nachteil ist aber, dass am Ende der "gesprochenen Text" auf der Strecke bleibt und nur "eine wild durcheinander gewürfelte Liste an Wörtern" rauskommt je nachdem was Amazon denkt in den einzelnen Erkennungskomponenten gefunden wurde.
Wenn aber Wörter in den Listen fehlen, kann es auch passieren das diese ganz fehlen.
So wurde zB bisher aus "er soll Flur Küche und Kinderzimmer reinigen" im Zuge der Erkennung "controlDevice wohnzimmer flur er soll"Im Zuge der Prüfung des eben genannten Issues habe ich mir mal wieder die Zeit genommen und geschaut ob es inzwischen vllt bessere Optionen gibt.
Custom Skill Plan 2022 (der Teil wo wir Eure Hilfe brauchen kommt als nächstes)
Das Ergebnis meiner Prüfung und Experimente waren am Ende recht ernüchternd, aber dennoch erfolgreich in gewisser Weise.
Vorn weg: Einen einfachen Weg an den gesamten gesprochenen Text zu kommen gibt es immer noch nicht - ausser in einem Ausnahmefall indem man einen Dialog vordefiniert ... aber genau das ist bei uns nicht wirklich sinnvoll möglich. Alle Varianten die ich versucht habe das zu kombinieren sind im leeren verlaufen.Am Ende gibt es aber inzwischen eine Option die uns der Sache etwas näher bringt und was ich gern als Basis für eine 2022er Version des Custom-Skills nehmen würde.
Es funktioniert das man einzelne Phrasen definiert die aus einem (oder mehreren) Triggerworten bestehen und dann kann man den Rest des danach gesprochenen Textes rausbekommen. ABER das Trigger-Wort selbst bekommt man nicht :-)Der Workaround dazu ist, dass man pro Triggerwort eine eigene Definition anlegt die einen eigenen Namen hat und man so indirekt über den Namen der Aktion (Intent) das "fehlende" Wort mit transportieren und wieder anfügen kann.
Also praktisches Beispiel mit "schalte {query}" kann man allen Text abgreifen der mit "schalte" beginnt und wenn man das "QueryIntentSchalte" nennt kann man das Wort rekonstruieren :-)Also dann suchen wir mal alle Wörter mit dem eine solche Sprachaktion beginnen kann ... fast ... wir dürfen maximal 240 solche Intents frei definieren (10 brauchen wir für generelle Dinge). Daraus entsteht folgender angepasster Plan für den Custom Skill 2022:
- Alles was in einem natürlichen Redefluss mit "Alexa, sage ioBroker ...." oder "Alexa, frage ioBroker ..." oder "Alexa, öffne/starte ioBroker -> Hallo, was möchtest Du wissen oder Steuern?" als erstes Wort danach Sinn macht versuchen wir als "Einzel-Triggerwort" umzusetzen
- Wenn es dabei Wortvariationen gibt, wo es für eine Textverarbeitung nicht so schlimm ist das "ein passendes ähnliches Wort" erfasst wird, dann nehmen wir das als variation zu einem Hauptwort und sparen damit einen Intent-Slot
- Dann ist die Frage was sollten wir noch aufnehmen an Einzelwörtern die wichtig sind (vllt Raumnamen bzw wichtige Gerätebezeichnungen?
- Zu guter letzt lassen wir noch einen Slot übrig der eine "Fuzzy Erfassung" wie früher für andere mögliche Konstellationen erlaubt quasi als Fallback - mit dem Wissen das dann halt nicht der echte Wortfluss da ist.
... und da kommt Ihr ins Spiel ...
TL;DR (für die die überspungen haben)
Um den ioBroker Custom-Skill zu aktualisieren wollen wir das Konzept etwas ändern und versuchen nun mit Eurer Hilfe Wortlisten zu finden die wir dazu benötigen damit Alexa das gesprochene erkennt. Wer wissen will warum man nicht einfach den gesprochenen Text nehmen kann, lese bitte doch oben :-)
Wobei brauchen wir Eure Hilfe?
Nach den Infos oben gehts nun ans eingemachte und zum "Brainstorming" Teil:
1.) Welche Wörter brauchen wir um im normalen Redefluss mit
- "Alexa, frage ioBroker ..."
- "Alexa, sage ioBroker ..."
- "Alexa, öffne/starte iobroker. -> Hallo, was möchtest Du wissen oder steuern?
die Sätze weiterzuführen?
Relevant hier ist jeweils quasi das Erste Wort danach. Damit wir nicht bei 0 Anfangen habe ich basierend auf meinen Gedanken und mit dem bisherigen Custom-Skill schonmal das gesammelt was bestimmt 80-90% der Dinge schon abdecken sollte. Die Liste findet Ihr unter https://docs.google.com/spreadsheets/d/17h7KKuYwp0atJ6_QFho1FBDulDZh7GNRDnZirP7atSg/edit?usp=sharing
Die Liste definiert ein Hauptwort und "Alternativworte" - letztere würden dann im zum Server gesendeten Text als das Hauptwort enthalten sein!
Ebenfalls enthalten ist eine Liste von "Füllworten" die in meinen Augen keine verändernde Bedeutung als erstes Wort haben. Diese würden wir dann einfach weglassen. Gibt es da noch mehr?
Bitte überlegt mal in Gedanken was fehlt und postet es hier im Forum. Ich hoffe auf rege Beteiligung
2.) Welche sonstigen Worte (auch wenn es eigentlich keine natürliches Sprechen wäre) brauchen wir noch? Also wenn wir sagen wollen "Alexa, sage ioBroker, Küchenlicht an" und das erfassen wollen bräuchten wir "Küchenlicht" als Triggerwort - oder es ist ok das das im "Fallback" erfasst wird.
Sagt mal was dazu.Ja ich weiss nicht ganz so simpel ... aber genau deswegen würde ich mich über Eure Unterstützung freuen ...
Ingo
@apollon77
Hier habe ich paar Fragen dazu:- Das ganze wird dann via iot Adapterausgegeben, oder via alexa2 Adapter?
- Unterschied um normalen ioBroker skill ist, dass man freier sprechen kann?
- Wird dazu dann irgend eine Pro Version benötigt?
-
@apollon77
Hier habe ich paar Fragen dazu:- Das ganze wird dann via iot Adapterausgegeben, oder via alexa2 Adapter?
- Unterschied um normalen ioBroker skill ist, dass man freier sprechen kann?
- Wird dazu dann irgend eine Pro Version benötigt?
@ben1983 1.) die Daten kommen im iot Adapzter an und können automatisch an eine text2command Instanz weitergegeben werden (EInstellung in iot) oder kommen in states an wo Skripte drauf subscriben können
2.) Der normale Smart Home Skill bindet "Geräte" an und die Möglichkeiten der Steuerung und wie man damit interagiert ist zu 100% von Amazon vorgegeben. Der "Custom Skill" ist nicht an Geräte o.ä. gebunden und am Ende geht es da um die "freiere Kommunikation" bzw dem das du mit zb text2command den text selbst auseinandernimmst und kommandos o.ä. ableitest
3.) Es läuft über den iot Adapter und eine Interaktion ist damit ein Request über iot ... Bei iot gibts das "20 Requests pro Tag" Freilimit (oder so), was damit auch gilt ... also eine Pro Cloud Assistentenlizenz sollte sinnvoll sein
-
@ben1983 1.) die Daten kommen im iot Adapzter an und können automatisch an eine text2command Instanz weitergegeben werden (EInstellung in iot) oder kommen in states an wo Skripte drauf subscriben können
2.) Der normale Smart Home Skill bindet "Geräte" an und die Möglichkeiten der Steuerung und wie man damit interagiert ist zu 100% von Amazon vorgegeben. Der "Custom Skill" ist nicht an Geräte o.ä. gebunden und am Ende geht es da um die "freiere Kommunikation" bzw dem das du mit zb text2command den text selbst auseinandernimmst und kommandos o.ä. ableitest
3.) Es läuft über den iot Adapter und eine Interaktion ist damit ein Request über iot ... Bei iot gibts das "20 Requests pro Tag" Freilimit (oder so), was damit auch gilt ... also eine Pro Cloud Assistentenlizenz sollte sinnvoll sein
@apollon77 @apollon77
Also die normale lizenz hier:
https://iobroker.pro/Aktuell frage ich halt über die history des alexa2 Adapters alles ab.
Gibts nicht auch die Möglicheit aus dem Adapter eine entsprechende ID zurück zu senden, dass man weiter einen dialog aufbauen kann?Sorry war zwar im Dev meeting, aber mein mikro hat es heute gefetzt. :-(
-
@apollon77 @apollon77
Also die normale lizenz hier:
https://iobroker.pro/Aktuell frage ich halt über die history des alexa2 Adapters alles ab.
Gibts nicht auch die Möglicheit aus dem Adapter eine entsprechende ID zurück zu senden, dass man weiter einen dialog aufbauen kann?Sorry war zwar im Dev meeting, aber mein mikro hat es heute gefetzt. :-(
@ben1983 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
Gibts nicht auch die Möglicheit aus dem Adapter eine entsprechende ID zurück zu senden, dass man weiter einen dialog aufbauen kann?
Nein weil du nur Dialoge führen kannst die du auch unter kontrolle hast
-
@ben1983 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
Gibts nicht auch die Möglicheit aus dem Adapter eine entsprechende ID zurück zu senden, dass man weiter einen dialog aufbauen kann?
Nein weil du nur Dialoge führen kannst die du auch unter kontrolle hast
@apollon77 Das war ja die Frage, also kann nur ein eigener skill das tun?
-
@apollon77 Das war ja die Frage, also kann nur ein eigener skill das tun?
-
@apollon77 OK.
Amazon könnte auch einfach mal ne wildcard zulassen bei den routinen :-) -
@apollon77 Das war ja die Frage, also kann nur ein eigener skill das tun?
@ben1983 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
@apollon77 Das war ja die Frage, also kann nur ein eigener skill das tun?
https://forum.iobroker.net/topic/48627/diy-alexa-skill-praktisch-und-einfach-erstellt
-
@ben1983 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
@apollon77 Das war ja die Frage, also kann nur ein eigener skill das tun?
https://forum.iobroker.net/topic/48627/diy-alexa-skill-praktisch-und-einfach-erstellt
@liv-in-sky Am Ende kriegen wir das mit dem neuen Custom Skill auch hin, sogar mit der Option mitzusenden ob die Session offen bleibt oder geschlossen wird mit der Antwort
-
@liv-in-sky Am Ende kriegen wir das mit dem neuen Custom Skill auch hin, sogar mit der Option mitzusenden ob die Session offen bleibt oder geschlossen wird mit der Antwort
@apollon77 Habe nun mal den ioT Adapter installiert.
Wi ebekomme ich denn nun hier auch bspw. die helligkeit zu der passenden lampe herein?

Habe gerade gemerkt, dass wenn man nu den Brightness nimmt geths auch so.
Aber wie ist es bspw. bei einer lampe, die auch noch die fabe ändern kann?Oder wäre es grundsätzlich besser alles über den custom skill zu erledigen?
-
@apollon77 Habe nun mal den ioT Adapter installiert.
Wi ebekomme ich denn nun hier auch bspw. die helligkeit zu der passenden lampe herein?

Habe gerade gemerkt, dass wenn man nu den Brightness nimmt geths auch so.
Aber wie ist es bspw. bei einer lampe, die auch noch die fabe ändern kann?Oder wäre es grundsätzlich besser alles über den custom skill zu erledigen?
-
@ben1983 also die Frage für den Smart Home
Skill ist hier falsch. Mit dem custom skill müsstest du alles alles selbst bauen. Ich denke für alles was standard Gerätefunktionen sind ist der Smart Home skill schon besser.@apollon77 ok, und dann am besten in der Alexa App den Geräten die Räume zuweisen?
-
@apollon77 ok, und dann am besten in der Alexa App den Geräten die Räume zuweisen?
-
Soooo ... war etwas Funkstille hier ... dann jetzt mal Endspurt :-)
generell tut das konzept und das ist cool ... ich finalisiere es gerade und habe jetzt noch die Wortlisten um Geräte und Plätze/Räume ergänzt. Ich habe es hier so ergänzt das man auch "unnatürliche Faule" Wortkonstruktionen wie "sage iobroker Fernseher aus" machen könnte :-)
Aber wie oben schon beschrieben sind wir hier in der Gesamtsumme der Einträge begrenzt.Diese Grenze ist leider etwas niedriger als oben angenommen und wir enden bei in Summe ca "nur" 170 Startworten die wir haben.
Ich habe https://docs.google.com/spreadsheets/d/17h7KKuYwp0atJ6_QFho1FBDulDZh7GNRDnZirP7atSg/edit?usp=sharing aktualisiert und es ist jetzt "recht voll". Es gibt immer noch die Fallback-Logik ebenfalls wie oben beschrieben die ggf noch mehr Worte enthalten kann, dann aber ggf nicht schafft den ganzen Satz korrekt wiederzugeben.
Daher seid Ihr jetzt auch wieder gefragt: Bitte schaut drüber.
- Gibt es Dinge die uuuuunbedingt fehlen?
- Gibt es Einträge wo die "zusammenfassung der Worte in das Haupt- und die Alternativwörter" wichtige informationen verloren gehen (also wo ein Alternativwort unbedingt ein Hauptwort sein muß)
- Gibt es Wörter die man noch weiter zusammenfassen könnte?
Generelle Meinung/Ideen ...
Ingo