NEWS
Wie spricht man mit ioBroker? iobroker Custom-Skill 2022
-
@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
-
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
@apollon77 Passt von meiner Seite. Bzgl "Reinige"... würde ich von der Sortierung (falls das wichtig ist für die Doku) eher bei Saugen, Wischen, etc. einordnen.
-
@apollon77 Passt von meiner Seite. Bzgl "Reinige"... würde ich von der Sortierung (falls das wichtig ist für die Doku) eher bei Saugen, Wischen, etc. einordnen.
@rkccorian sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
Bzgl "Reinige"... würde ich von der Sortierung (falls das wichtig ist für die Doku) eher bei Saugen, Wischen, etc. einordnen.
Habe bisher noch keinen großen wert auf Rehenfolge gesetzt weil man die eh unterschiedlich machen kann. Habe reinige erstmal getrennt gelassen weil es ggf je nach "Umgangssprache" was anderes sein soll ..... da kann der user frei entscheiden.
Danke für Dein Feedback! Gern noch mehr von anderen! Will nicht nach Release hören wie blöd doch alles ist ;-))
Wir bereiten gerade noch Dinge vor (und ich bin gerade 2 Wochen in Urlaub) und danach bereiten wir uns auf die Veröffentlichung des neuen Skills vor. Wir auch noch ein paar "fette Zusatzfeatures" geben, aber mehr dazu verrate ich erst später ;-)
-
@rkccorian sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
Bzgl "Reinige"... würde ich von der Sortierung (falls das wichtig ist für die Doku) eher bei Saugen, Wischen, etc. einordnen.
Habe bisher noch keinen großen wert auf Rehenfolge gesetzt weil man die eh unterschiedlich machen kann. Habe reinige erstmal getrennt gelassen weil es ggf je nach "Umgangssprache" was anderes sein soll ..... da kann der user frei entscheiden.
Danke für Dein Feedback! Gern noch mehr von anderen! Will nicht nach Release hören wie blöd doch alles ist ;-))
Wir bereiten gerade noch Dinge vor (und ich bin gerade 2 Wochen in Urlaub) und danach bereiten wir uns auf die Veröffentlichung des neuen Skills vor. Wir auch noch ein paar "fette Zusatzfeatures" geben, aber mehr dazu verrate ich erst später ;-)
@apollon77 Na dann bin ich mal gespannt und freue mich schon :+1: :blush:
-
@rkccorian sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
Bzgl "Reinige"... würde ich von der Sortierung (falls das wichtig ist für die Doku) eher bei Saugen, Wischen, etc. einordnen.
Habe bisher noch keinen großen wert auf Rehenfolge gesetzt weil man die eh unterschiedlich machen kann. Habe reinige erstmal getrennt gelassen weil es ggf je nach "Umgangssprache" was anderes sein soll ..... da kann der user frei entscheiden.
Danke für Dein Feedback! Gern noch mehr von anderen! Will nicht nach Release hören wie blöd doch alles ist ;-))
Wir bereiten gerade noch Dinge vor (und ich bin gerade 2 Wochen in Urlaub) und danach bereiten wir uns auf die Veröffentlichung des neuen Skills vor. Wir auch noch ein paar "fette Zusatzfeatures" geben, aber mehr dazu verrate ich erst später ;-)
@apollon77 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
...und ich bin gerade 2 Wochen in Urlaub...
Genieße mal deinen Urlaub und lass das Forum für die 2 Wochen Forum sein!
-
@apollon77 sagte in Wie spricht man mit ioBroker? iobroker Custom-Skill 2022:
...und ich bin gerade 2 Wochen in Urlaub...
Genieße mal deinen Urlaub und lass das Forum für die 2 Wochen Forum sein!
@ofbeqnpolkkl6mby5e13 alles gut. Hier und da mal ne willkommen Ablenkung. ;-) aber ja ist deutlich weniger im Normalfall
PS: Und im urlaub in ruhigen Momenten komm ich auch die besten Ideen ;-))