NEWS
Wert vergleichen nach Spracheingabe über "Alexa"
-
Nabend werte Community...
Vorab ein Hinweis zu meiner Person
Ich bin ein totaler Laie was JS, Blockly usw. betrifft, also bitte nicht gleich erhängen.Ich verwende bei mir im Haus als Smart Home System:
- CCU3 mit Raspberrymatic
- Homematic IP Wired und nicht Wired Komponenten
- einen Raspberry Pi mit IoBroker und NodeRed
So nun zu meinem Anliegen.
Ich nutze für die Kommunikation mit meinem Smart Home Alexa's.
Das grundlegende bei den Spracheingaben und dem schalten von den Aktoren funktioniert bis jetzt eigentlich schon recht gut.Was allerdings etwas nervig ist, das Alexa oft zickt wenn der Sprachbefehl nicht exakt gemacht wird.
An dieser Stelle möchte ich nur kurz darauf hinweisen das ich die Sprachsteuerung über Blockly angelegt,
da es mir über NodeRed doch komplizierter erscheint. NodeRed nutze ich nur zur Visualisierung auf einem Tablet.Dazu ein Beispiel:
Vorgegeben ist in der Alexa APP "Alexa, Licht Arbeitszimmer an"
Wenn ich jetzt aber sage "Alexa, schalte das Licht im Arbeitszimmer ein", oder "Alexa, Licht Arbeitszimmer ein", oder...
bekomme ich oft Fehlermeldungen vom Echo.Ich habe diverse Dummy Routinen in der Alexa App angelegt damit die Fehlermeldungen ausbleiben.
In Blockly sieht es zum Beispiel so aus:
Die Dummy Routinen sind identisch zu den Screens.
Kann man das so etwas eleganter lösen?
Sprich z.B. das man nicht für jeden "Mist" dutzende Varianten als Routinen in der Alexa App hinterlegen muss
und in Blockly z.B. eine "JSON" Datei oder eine andere Datei / Variable anlegen mit den hinterlegten Varianten der Spracheingabe um sie dann in Blockly zu vergleichen? Also das der Wert aus "summary" mit den hinterlegten Werten aus der Datei verglichen werden, damit die oder Endlos-Kette in Blockly nicht ist...Falls sich einer fragt wie ich darauf komme...
Jeder Mensch hat durch sein Wohn/Geburtsort lokale sprachliche Gewohnheiten, Dialekte, usw.
Diese würde ich gerne berücksichtigen, ohne dabei ein Übermaß an Daten zu produzieren.Hat jemand Erfahrungen damit und kann mir weiterhelfen?
Gruß Jörg
-
@jörg-winterstein sagte: In Blockly sieht es zum Beispiel so aus:
Von Alexa habe ich keine Ahnung, aber das Blockly sollte sich so vereinfachen lassen:
-
@paul53 Moin... vielen Dank für Deine Antwort, das sieht interessant aus. Ich lese das so... Es wird überprüft ob in meinem Fall, die Spracheingabe über das Echo im Arbeitszimmer der Textteil "licht" gefunden wird oder von einem anderen Echo "licht" im Zusammenhang mit dem Wort "arbeitszimmer". Dann wird wenn das Wort "licht" gefunden wurde überprüft ab weiter die Worte "an" oder "ein" im Text enthalten sind... bis dahin ist es nachvollziehbar für mich.
Jetzt der letzte "falls Block". Ich verstehe nicht wirklich wie das mit dem ein und aus schalten des "licht" funktioniert, aber es funktioniert wirklich gut.
Vielen Dank Paul
Dazu würde ich bitte noch ein Frage stellen...
Kann man zu suchende Worte in einer Datei oder sonst wie hinterlegen und abfragen?Mein Gedanke an der Stelle...
wenn man verschiedene Sprachen oder auch ortsgepflogene Begriffe verwenden möchte, die man beliebig erweitern könnte ohne dabei den gesamten Block überarbeiten zu müssen. -
@jörg-winterstein sagte in Wert vergleichen nach Spracheingabe über "Alexa":
Jetzt der letzte "falls Block". Ich verstehe nicht wirklich wie das mit dem ein und aus schalten des "licht" funktioniert
im vorletzten Block wird die Variable Licht auf true oder false gesetzt, je nachdem Arbeitszimmer an oder ein enthält, oder eben nicht.
Im letzten Block wird nun das Licht entsprechend dem Wert der Variable geschaltet, aber nur wenn das Licht noch nicht den Zielstatus hat.
-
@homoran bedeutet das Blockly bei "an" oder "ein" automatisch den Wert "true" erkennt und zuordnet, dann den Wert von "licht" mit dem Wert von "Objekt ID" vergleicht und bei nicht identischen Wert den Status der Objekt ID auf "true" ändert. Und im Umkehrschluß alles was nicht "ein" oder "an" ist automatisch auf "false" ändert?
-
@jörg-winterstein sagte in Wert vergleichen nach Spracheingabe über "Alexa":
bedeutet das Blockly bei "an" oder "ein" automatisch den Wert "true" erkennt und zuordnet,
jein!
es wird abgefragt ob ein oder an enthalten ist.
Diese Abfrage wird mit true oder false beantwortet. -
@jörg-winterstein Das funktioniert recht gut. Hat bei mir nur den Nachteil, dass Alexa erstmal versucht, ein bekanntes Gerät zu finden. "Ich kann das Gerät Arbeitszimmer Licht nicht finden" - schaltet aber trotzdem.
-
@rene55 Ja man muss Alexa eben erklären das so ein "Gerät" vorhanden ist und die Routinen dazu anlegen. Aber ja es funktioniert wirklich sehr gut.
Und wie müsste es aussehen wenn man einen Dimmer ansteuern möchte?
Da geht ja kein true oder false. Ich denke man kann an oder ein je so einsetzen das der Level Wert auf 100 oder 0% gesetzt wird... aber der gesprochene Wert? -
@jörg-winterstein Mag sein. Aber wenn ich so ein Gerät anlege, brauche ich das Script ja nicht mehr. Oder wo siehst du da die Vorteile?
-
@rene55 Ich nutze Alexa nicht über die Cloud, sondern über die CCU respektive der Raspberrymatic.
Um ein "Gerät" zu erzeugen was Alexa erkennt, verwende ich NodeRed Smart Home Control... leider habe ich noch keinen funktionierden Weg gefunden meine Homematic mit Alexa zu verbinden... Ich bin da gerne offen für Vorschläge. -
@jörg-winterstein Alexa ohne Cloud stelle ich mir schwierig vor. Egal. Ich habe meine zu steuernden Geräte mit dem "iot"-Adapter eingebunden. Da sind sowohl Homematic-Geräte, als auch HUE oder Zigbee drin. Damit gehen dann auch Dimmen oder Farbeinstellungen.
-
@rene55 Dann frage ich mal wieviele Geräte unter IOT laufen? Und was kostet das dann im Jahr?
Mein bestreben war Cloud unabhängig zu sein, also nicht auf das WWW angewiesen zu sein.
-
@rene55 Bin mal etwas länger weg... Antworte dann später. Bis dahin auf jeden Fall vielen Dank an euch
-
@jörg-winterstein Nunja, ich brauche Alexa nicht wirklich, meine bessere Hälfte hält da eh nichts von. Zum Spielen habe ich da aktuell ca. 40 Geräte drin. Ich habe mir dazu (auch zur Unterstützung von ioBroker) die Assistenten-Lizenz gegonnt - ca. 20€ im Jahr.
Der Gedanke ohne WWW zu agieren scheint sehr reizvoll, aber ohne wird dir Alexa wohl nicht antworten! -
@jörg-winterstein sagte in Wert vergleichen nach Spracheingabe über "Alexa":
Vorgegeben ist in der Alexa APP "Alexa, Licht Arbeitszimmer an"
Wenn ich jetzt aber sage "Alexa, schalte das Licht im Arbeitszimmer ein", oder "Alexa, Licht Arbeitszimmer ein", oder...
bekomme ich oft Fehlermeldungen vom Echo.Also eigentlich sollte Alexa mit all diesen Dingen ab Werk klar kommen. Bei mir funktionieren alle diese Sätze.
"Alexa, schalte ... ein/aus" sollte dabei der Standard sein.Und noch besser: Wenn du in der App Räume definierst und die Geräte diesen zuordnest, mit korrektem Typ (Steckdose oder Lampe), reicht ein "Alexa, Licht an" und es werden alle Lampen im Raum eingeschaltet (oder aus). Also Also alles was vom Typ "Licht" ist.
Hast du Alexa einmal auf dich trainiert, am Anfang kam doch so ein Assistent (müsste mal mal googeln wie man das wiederholt).
Ich hatte nur einmal ein Problem mit "Fernseher", Das Wort hatte Alexa bei mir partout missverstanden. Da habe ich in der App eine Routine angelegt in der ich alle Möglichkeiten hinterlegt habe - "Fernsehen, Fernseh , fennseher fernsehens" und so weiter, dann war Ruhe
-
@bananajoe Moin... also Alexa kann uns als 3 köpfige Familie auseinanderhalten, das funktioniert. Allerdings haben wir "öfter" mal russischsprachigen Besuch, natürlich auch deutschen Besuch... aber teils mit Dialekt oder mit einem Wortschatz der sich eben lokal von unserem "normalen" hochdeutsch unterscheidet... da würde ich gerne eben das eine oder andere mit einbauen, gerade die russische Sprache, damit die Personen die im dunkeln nicht Wissen wo die Schalter sind es leichter haben.
Mit den Fernsehern musste ich auch etwas machen, aber das war dann doch recht easy.
Beim Licht ist es etwas komplizierter... so empfinde ich es im Moment, da es ja diverse "Lichtquellen" in den meisten Haushalten gibt. Ich habe zum Beispiel im Flur 5 verschiedene "Lichter" verbaut.
- Deckenlicht
- Gardrobe
- einen beleuchteten Eckschrank
- zwei beleuchtete Kommoden
Damit habe ich mindestens drei verschiedene Spracheingaben, die allein schon wegen der russischen Sprache anders behandelt werden müssen.
-
@rene55 Meine Frau hat auch für meine "Spielereien" wenig übrig, aber die sind teils notwendig weil allein Energie sparen bei den beiden ein schweres unterfangen ist. Aber glücklicherweise findet meine Frau an der einen oder anderen Sache doch langsam Gefallen... so wie bei dem Saug und Wischroboter. Habe noch ein paar schöne Dinge auf der To Do Liste die Ihr bestimmt gefallen werden
Und ja natürlich geht es eben nicht ohne WWW und der Alexa, aber ich versuche eben die Abhängigkeit mit Clouddiensten usw. so gering wie möglich zu halten.
Nächste Etappe wäre jetzt tatsächlich die sprachliche Erweiterung für die Smart Geschichte, die Dimmer und die Rollladen Steuerung. Bis jetzt bin ich noch nicht dahinter gekommen wie man die Prozentangabe über die Spracheingabe auswertet.