NEWS
NEU ioBroker Alexa Custom Skill verfügbar!
-
Hi All,
nach einer recht langen Testphase kann ich nun verkünden das der ioBroker Custom Skill endlich für Alexa verfügbar ist:
https://www.amazon.de/ioBroker-Custom/dp/B01MQL6Z1N/
Einfach suchen und installieren.
Aktuelle Bedingung ist ein Account auf der Pro-Cloud und der iot-Adapter aus dem Latest Repository. Folgender Ablauf gilt hier auch für die Einrichtung und Verknüpfung:
1. Aus latest Repository ioBroker.iot Adapter installieren und konfigurieren. Da werden Login und Password von ioBroker.pro benötigt.
2. ioBroker.iot Instanz starten.
3. Danach sollte man eine Email mit Login und TempPassword bekommen. Diese Email kommt jetzt von ioBroker und nicht von Amazon.
4. Neuen ioBroker Custom Skill finden und aktivieren.
8. Dabei Login und tenporäres Password aus der Email benutzen.
9. Man wird gebeten den Password zu ändern.
10. Verknüpfung erfolgreich
11. im iot-Adapter die gewünschte text2command Instanz konfigurieren
12. text2command so konfigurieren wie man es will.
Der Skill wird in der nächsten version alles gesprochene erfassen und an text2command weitergeben. Dazu müssen wir aber die "Satzanfänge" definieren (alles und immer alles geht leider doch nicht).
Aktuell ist die Idee das es 8 Typen von Fragen gibt und hier brauchen wir alle aus Eurer Sicht sinnvollen "Steuereworte"/"Anfangsworte"
Alle folgenden Sätze gehen immer mit "Alexa, sage/frage i o Broker …" los. Ich habe in der Liste der aktuell gesammelten "Anfangsworte" immer in Klammern eine mögliche Beispielfrage hingeschrieben ... Als Kleiner Tip: Das "i" Deutsch (also ein "i" und nicht englisch wie "ei") auszusprechen hilft ungemein das er den Skill korrekt nutzt, sonst kommen komische Antworten von Alexa.
1.) Statusabfragen (Typ-Text für Text2Command: askDevice) - Implementiert
-
... welche (Fenster offen sind)
-
... welcher (Rollladen offen ist)
-
... welches (Fenster noch offen ist)
-
... wie (warm es im Wohnzimmer ist)
-
... ob (die Markise eingefahren ist)
-
... berichte (den Haus Status)
-
... Status (vom Haus)
-
... sind (alle Fenster geschlossen)
-
... ist (die Waschmaschine angeschaltet)
-
... läuft (der Fernseher)? (Dann schnell hinterher! :lol: )
-
... nach (dem Status der Spühlmaschine)
-
... über (den Status der Spühlmaschine)
-
... prüfe (den Sicherheitsstastus)
-
... über (den Status der Waschmaschine)
-
... zum (Status ds Wäschetrockners)
-
... zu (...)
-
... zur (...)
2.) Steueranfragen (Typ-Text für Text2Command: controlDevice) - Implementiert
-
... setze (die Temperatur im Wohnzimmer auf 15 Grad)
-
... schalte (den Fernseher auf Pro Sieben)
-
... ändere (die Farbe auf rot)
-
... steuere (...)
-
... fahre (die Rollladen hoch)
-
... lass (den Rasenmäher losfahren)
-
... stelle (Ventile auf 37%)
-
... mache (Tor auf)
-
... mach (Tür auf)
-
... (sie/es/er) soll (das Licht einschalten)
-
... (sie/es/er) muss (die Tür öffnen)
-
... alle (Lampen ausschalten)
3.) Starte-Aktion-Steuerung (Typ-Text für Text2Command: actionStart) - Implementiert
-
... starte (die Spühlmaschine)
-
... öffne (die Tür)
-
... aktiviere (die Alarmanlage)
4.) Beende-Aktion-Steuerung (Typ-Text für Text2Command: actionEnd) - Implementiert
-
... stoppe (die Rolladen)
-
... schliesse (die Tür) [Sonderfall "schliesse … auf" kann dann in den text2Command Regeln behandelt werden]
-
… deaktiviere (die Alarmanlage)
5.) Zeitabfragen (Typ-Text für Text2Command: askWhen) - Implementiert
- ... wann (wurde die Eingangstür zuletzt geöffnet)
6.) Ortsabfragen (Typ-Text für Text2Command: askWhere) - Implementiert
- ... wo (ist mein Handy)
7.) Personenabfragen (Typ-Text für Text2Command: askWho) - Implementiert
- ... wer (hat zuletzt das Haus betreten)
text2command bekommt neben den erkannten Wörtern (alles nach dem Anfangswort) auch eine Info zum Fragetyp (die 7 Kategorien "Typ-Text") bekommen.
Bei mir läuft das ganze super und ich kann endlich so mit Alexa reden wie ich es will
Die Herausforderung ist deutlich zu reden und die text2Command Konfig ggf so anzupassen wie Alexa einen versteht ... vor allem bei Dialekt-Aussprache
Einen achten Anfrage Typ hatten wir mal überlegt, aber bisher komme ich und die anderen teste r eigentlich gut ohne Ihn aus ... von daher bitte Feedback geben ob Ihr Ihn braucht.
8.) Direkte Ansprache (kann am Ende alles von oben sein, je nachdem was "ioBroker" für einen ist ;-)) (Typ-Text für Text2Command: directCommunication) - Braucht man es wirklich?? NIcht Implementiert!!
-
... ich (brauche den Status der Tür)
-
... du (sollst die Tür aufmachen)
-
... er (schalte bitte den Fernseher ein)
-
... sie (...)
-
... es (soll den Status berichten)
-
... wir (wollen raus)
-
... dass (er den Rasenmäher starten soll)
-
... das (...)
-
... dass (...)
-
... der (...)
-
... die (...)
-
andere Anfragen die direkt mit dem relevanten Gerät starten (also keine echt natürlichen Sätze sind)
Ingo
-
-
Erstmal vielen Dank für die Info.
Den iot Adapter habe ich installiert und der läuft auch bisher stabil.
Das mit dem custom Skill habe ich noch nicht so ganz verstanden ?
Ich habe jetzt nicht alles von den Ausführungen bzw. der Beschreibung in Gebrauch, aber das geht doch über Scripte und Routinen und den Alexa2 Adapter auch ohne den Skill ?
-
Hi,
ja über den Umweg den Du beschreibst geht das auch. Der Aufwand ist das Du Routinen anlegen musst für alles was Du willst (genaue forumulierungen und so) und dann auf ioBroker-Seite die Skripte um darauf zu reagieren.
Der Ansatz vom Custom Skill ist für einfache Anfragen flexibler weil Du per text2command den text direkt parsen kannst und auch flexibel reagieren kannst. Beispiel wäre "schalte Kabelreceiver ein" oder "schalte auf Kabelreceiver um" oder "mache Kabel an" bekommst Du in text2command erkannt mit "Kabel/Kabelreceiver ein/an/um" und kannst direkt einen State setzen und eine Antwort vorgeben. Das ganze nur über Konfiguration! Kein Skript involviert.
Für komplexere Dinge kannst Du auch Skripte ansteuern und so.
Am Ende ist es Geschmackssache.
Mit "Alexa, schalte Kabel ein" als Routine kann ich einfacher reden, muss aber die exakten Formulierungen einhalten.
Mit "Alexa, sage i. o. broker, schalte Kabel ein" muss ich mehr sagen bin aber in dem was ich sage (nach dem "Alexa, sage i. o. broker") viel flexibler.
Der Custom-Skill ergänzt die Möglichkeiten. Als wir den gestartet haben gabs den Alexa2 Adapter in der aktuellen Form auch noch gar nicht
-
Moinsens,
zu allererst einmal mehr vielen Dank für einen weiteren Adapter/Funktion
Hochgradig verwirrend empfinde ich allerdings:
-
der Adapter heisst "Cloud MQTT connection"
-
wie soll en Normalsterblicher darauf kommen, dass sich dahinter der "ioBroker.iot" Adapter verbergen könnte?? :?
-
bei Amazon heisst das ganze "Custom ioBroker"
-
die Instanz in ioBroker dann wieder einfach "iot.0"
… das Verwirrspiel ist für einfache Anwender sicher nicht hilfreich
Ich habe gesehen, dass in den Einstellungen des iot-Adapters auch die Smart-Geräte, die ich bisher im Cloud-Adapter gefunden/konfiguriert habe, aufgeführt sind.
Kann ich entsprechend den Cloud-Adapter nun entfernen und alles unter dem neuen Adapter konfigurieren?
Und nun das wichtigste
Habt ihr ggf. ein paar Beispiele von text2command Eiinstellungen um den Einstieg hier einfacher zu gestalten?!
Danke Euch 8-)
-
-
Hochgradig verwirrend empfinde ich allerdings:
-
der Adapter heisst "Cloud MQTT connection"
-
wie soll en Normalsterblicher darauf kommen, dass sich dahinter der "ioBroker.iot" Adapter verbergen könnte?? :?
-
bei Amazon heisst das ganze "Custom ioBroker"
-
die Instanz in ioBroker dann wieder einfach "iot.0"
… das Verwirrspiel ist für einfache Anwender sicher nicht hilfreich `
Jupp, der Name "Cloud MQTT connection" muss in "iot Cloud connection" oder so geändert werden. Der iot-Adapter ist aber nicht nur hinter dem Custom-Skill sondern auch demnächst hinter dem Pro-Smarthome-Skill.
Mehr dazu: viewtopic.php?f=37&t=16882&start=40#p180135
Ich habe gesehen, dass in den Einstellungen des iot-Adapters auch die Smart-Geräte, die ich bisher im Cloud-Adapter gefunden/konfiguriert habe, aufgeführt sind.
Kann ich entsprechend den Cloud-Adapter nun entfernen und alles unter dem neuen Adapter konfigurieren? `
Wenn Du Deinen Pro-Skill auch auf dem Beta wechselst (siehe oben) dann ja.
Hier ist der künftige Plan (und ja befinden uns hier "mitten im Umbau":
-
iot-Adapter regelt Alexa, IFTTT, Services, Google Home, Alexa-Custom
-
cloud-Adapter regelt Cloud-Zugriff auf Deine Visualisierungen und Editoren
Wir trennen also hier Funktionen. Ist aktuell etwas verwirrend weil Wir mit den Usern Ustellen müssen, der neue Pro-Smart-HOme-Skill aber noch Beta ist und so weiter …
Und nun das wichtigste
Habt ihr ggf. ein paar Beispiele von text2command Eiinstellungen um den Einstieg hier einfacher zu gestalten?! `
Jetzt aus der hohlen Hand nicht vielmehr als das im letzten Post geschriebene
https://github.com/ioBroker/ioBroker.text2command
… hilft auch und hier muss ich sagen zähle ich gerade auf Euch.
Grundsätzlich gibst Du im text2command Adapter an was Du grob tun willst und auf welchen text er reagieren soll. Die Logik sucht am Ende ob alle geforderten Wörter oder im Falle von Wort1/Wort2/Wort3 Optionen an Texten getroffen wurden im Eingangstext und dann wird die Aktion ausgeführt und die definierte Antwort zurückgegeben.
Beispiele:
"Kabelreceiver ein" als Erkennungstext reagiert exakt auf diese zwei Worte. Wenn irgendwas fehlt wird es nicht erkannt. In dem Fall reisst Alexa gern mal Kabelreceiver in zwei Worte auseinander was dann nicht gematcht werden würde. Daher geht sowas wie:
"Kabelreceiver/Kabel/Receiver ein/um/an" als Erkennungstext und schon reagiert er auf alle hier definierten möglichen Kombinationen. Wenn noch mehr worte drin sind werden die ignoriert.
Der Anfragetyp steht auch zur Verfügung, also könnte man "controlDevice" nutzen wenn der Skill eine eher steuernde Anfrage erkannt hat oder "askDevice" bei einer eher fragenden. SO könnten damit die gleichen weiteren Triggerworte zei Dinge tun und so zwischen "frage ioBroker ob Kabel an ist" und "sage ioBroker schalte kabel an" unterschieden werden.
Hier muss man sehr viel "rumspielen" um das für einen Selbst und die Erkennungsgenauigkeit von Alexa sinnvolle zu finden.
Die Reihenfolge der Einträge in der Text2Command-Konfig ist wichtig weil von oben nach unten abgearbeitet wird.
Hier im Anhang mal meine Teststeuerung die noch nicht fertig ist was so ein bissl was zeigt.
Ihr seid gern eingeladen hier oder in einem neuen Thread Erfahrungen und Beispiele zu text2command auszutauschen Hat ja bei Alexa2 super geklappt.
-
-
Danke dir
-
Hab noch einen Absatz ergänzt
-
Vielen Dank dafür. Echt genial. Funktioniert auch gleich auf Anhieb (die ersten Tests zumindest).
Ich glaube ja soweit verstanden zu haben wo die Reise hingeht mit IoT bzw. Cloud Adaptern/Skills.
Was bedeuten aber die aktuellen Umbauarbeiten?
Kann man jetzt im Grunde mal munter drauf los testen und die Möglichkeiten von text2command in Kombination mit Adapter/Skill erkunden, oder ist auch in text2command mit gröberen Änderungen zu rechnen?
Nur zur Orientierung damit ich weiss ob ich die (text2command) Liste schon füllen soll oder es mal bei ein paar Testeinträgen belassen :-).
Gruß
Roland
-
Die "Umbauarbeiten" beziehen sich nur auf die Trennung von Cloud und iot und sowas … text2command und die Funktionen bleiben wie Sie sind
-
Habe inzwischen auch den Custom iobroker skill und den iot Adapter laufen.
Soweit so gut, text2command tut auch was es soll, und eine Antwort lasse ich aktuell per script generieren und gebe diese über Alexa2 >> speak wieder aus.
Wirklich klasse wäre es jedoch, wenn Text2 command auch wüsste/mitteilen könnte, von welchem meiner Echo dots die Anfrage kam, damit die Antwort am selben Gerät ausgegeben werden kann.
-
Bei text2Command kannst Du die Antwort direkt definieren die zurückgegeben wird bzw nutze die text2command Möglichkeiten, dann kommt die Antwort genau da raus wo Du reingesprochen hast.
Nur wenn Du sowas wie an der Stelle mit Alexa2-Speak machst dann ist das so.
-
Das war mir im Prinzip klar, jedoch wird meine Antwort von einem script erstellt.
Wie bekomme ich die Ausgabe vom Script in die Ausgabe vom text2command?
Die Info, von welchem Gerät der Befehl kommt, wäre aber auch in vielen anderen Anwendungen sinnvoll und hilfreich!
Zum Adapter selbst: Klasse Sache, da habe ch jede Menge Ideen!
Den 8ten Ansprache-Typ könnte ich übrigens ganz gut brauchen…
Da "Sage iobroker gute Nacht " nicht funktioniert und "schalte gute nacht ein" nicht gut klingt, wäre "sage iobroker, ich gehe schlafen" eine gute Möglichkeit.
Ich verlasse das Haus, ich bin bis 15 Uhr außer Haus, ich .....
wären andere Beispiele... "Du" wäre sicher auch manchmal nützlich..
"Er", "Sie" etc halte ich auch nicht für sehr hilfreich...
-
Bei mir läuft der Skill nach dem heutigen Upgrade auf den Pro Account auch. Aber ein Problem habe ich aktuell, ich möchte den Status der Fenster abfragen (dafür habe ich ein ZWave Sensor vor mir liegen und einen an der Haustür bereits installiert den ich als Fenster missbrauche) ich habe in Text2Command alles korrekt eingetragen und er sagt mir auch Fenster ist geöffnet/geschlossen aber er arbeitet nur den ersten Eintrag im T2C ab und stoppt dann. Ich möchte aber das er mir alle "Fenster" Stati ansagt. Wo ist mein Ansatz im T2C falsch?
-
Dann musst Du den Haken in der einen Spalte rausnehmen der sagt "Wenn gematcht hat höre hier auf"
-
Guter Hinweis und ein Zwischenziel ist erreicht.
Aber jetzt liesst er mir alle drei aufgeführten Stati vor. Sprich Suris Fenster geöffnet und danach gleich Fenster geschlossen obwohl der Sensor im geschlossenen Zustand ist.
-
Das macht auch keinen Sinn was Du da konfiguriert hast. Du hast gewählt das beimatching ein state-wert geschrieben werden soll und das wird getan. Das ist keine "if else" logik.
-
Okayyy jetzt habe ich es gerafft. Er liesst mir alle Stati, vor unabhängig vom Status.
Sprich, er sagt mir welches "Fenster" sich in welchen Zustand befindet.
Ich dachte aufgrund der Doku,
…..
1.) Statusabfragen (Typ-Text für Text2Command: askDevice) - Implementiert
- ... welche (Fenster offen sind)
.....
habe ich die Möglichkeit, nur die offenen Fenster abzufragen. Aber Echo sagt mir eigentlich nur in welchen Zustand, sich die jeweiligen Fenster befinden (Auf oder Zu) und das arbeitet er für jeden eingetragenen T2C bzw. Aktor ab.
Also nur die offenen Fenster aufzuzählen ist an der Stelle nicht möglich.
Sry für mein Denkfehler
-
Das geht über Helfer-States. Also ich habe mehrere "Zähl-Skripte" die Dinge prüfen und Anzahlen und Listen in States schreiben weil ich die an mehreren Stellen verwende. Die nutze ich dann hier für die Ausgabe und auch für Telegram und all sowas.
-
Das war mir im Prinzip klar, jedoch wird meine Antwort von einem script erstellt.
Wie bekomme ich die Ausgabe vom Script in die Ausgabe vom text2command?
Die Info, von welchem Gerät der Befehl kommt, wäre aber auch in vielen anderen Anwendungen sinnvoll und hilfreich!
Zum Adapter selbst: Klasse Sache, da habe ch jede Menge Ideen!
Den 8ten Ansprache-Typ könnte ich übrigens ganz gut brauchen…
Da "Sage iobroker gute Nacht " nicht funktioniert und "schalte gute nacht ein" nicht gut klingt, wäre "sage iobroker, ich gehe schlafen" eine gute Möglichkeit.
Ich verlasse das Haus, ich bin bis 15 Uhr außer Haus, ich .....
wären andere Beispiele... "Du" wäre sicher auch manchmal nützlich..
"Er", "Sie" etc halte ich auch nicht für sehr hilfreich... `
Also die Worte kommen schon durch, aber ggf als "komischer Anfragetyp".
"… Guten Tag", "ich gehe schlafen" kommt bei mir mit askDevice problemlos an
"... ich bin bis um 3 unterwegs" kommt als "controlDevice ich bin um drei unterwegs bis" an
Also von daher ist es so das das alles schon ankommt, nur der Anfragetyp ist ggf unpassend. Der Aufwand diese Optionen alle zu erkennen und mit einem eigenen Anfragetyp durchzureichen ohne das wieder bestimmte "trigger-Worte" verschwinden ist recht hoch.
Faktisch kannst Du unter "ignoranz" des Anfragetyps (der in dem Fall eh nicht "mehrfach verwendet" sinn macht) alles schon genau so umsetzen.
-
Danke, ich werde das ausprobieren! 8-)
Was mir noch aufgefallen ist:
Wenn man eine Anfrage stellt, wird ab und an eine Alexa Standard-Ansage gestartet, irgendwas von wegen " ich kann kein…", welche dann aber sofort von der gewünschten Ansage unterbrochen wird.
MfG Mike