FHEM Sprachsteuerung mit AMAD 2.6 und AutoVoice/Automagic

Begonnen von CoolTux, 11 August 2016, 14:15:31

Vorheriges Thema - Nächstes Thema

Amenophis86

Jop, habe ich schon eingebaut. Aber sobald ich in meinem Kopp wieder nicht dran denke und den Satz doch wieder mit was Neuem Beginne klappt es nicht, weil er halt genau auf die Reihenfolge bzw. von Anfang an Vergleicht. Komme wohl nicht drum herum meine Sätze so gut es geht einfach abzubilden. Aber ich danke dir trotzdem für die Tipps :)

Und ich bin ja auch trotzdem sehr davon begeistert, was alles geht und dankbar, dass du uns die Möglichkeit bereitgestellt hast :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Gerne doch. Sicherlich wäre es mit Echo komfortabler. Aber leider fehlt mir das Kleingeld um mir 3-4 von den Teilen zu holen  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

dieda

Es gibt doch imo den Developer Kit und ne Anleitung für den Raspberry.
Komponenten:
Sensoren und Aktoren: FS20, Max!, Zigbee, Zwave
IODev:  Cul1101, MaxLan, ZWAVE, Deconz
Router: KD-Fritte (6360)
Sonstiges: Raspberries,  1x LMS,1 FHEM, 1 x zum Testen,  Logitech-Clients,  Onkyo, SamsungTV, Squeezebox, TabletUIs

Amenophis86

Zitat von: dieda am 06 Januar 2017, 15:13:29
Es gibt doch imo den Developer Kit und ne Anleitung für den Raspberry.

Da werde ich mich mal einlesen. Gibt es wohl schon ganz gute Anleitungen. Danke für den Hinweis.


Eine weitere Frage von mir:
Wie kann ich in einem Flow über TTS eine Frage stellen und die Antwort im Verlauf des Flow bearbeiten. Aktuell gehe ich den Umweg über die CommandBridge und FHEM, aber das ist sehr Fehler anfällig. Daher die Frage ob es schon jemand hinbekommen. Ein Beispiel:

Tablet: "Soll ich die Hessenschau einschalten"
Ich: "Ja"
Tablet: "Ok, ich schalte die Hessenschau ein"
Tablet: Sendet Befehl an FHEM die Hessenschau einzuschalten.

Dem ganze könnte man natürlich noch einen drauf setzen mit:
Tablet: "Soll ich die Heizung runter drehen?"
Ich: "Ja"
Tablet: "Auf wieviel Grad?"
Ich: "18 Grad"

Natürlich kann man nur 2 auch direkt in der ersten Frage abfragen, aber es soll ja ein Beispiel sein für eine zweistufige Abfrage :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Ja das geht
Aber Du brauchst dennoch einen Trigger. Sprich irgendwas sollte die Fragestellung auslösen. Uhrzeit, Anwesenheit oder oder
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

Das ist klar. Aber ich habe noch nicht verstanden, wie ich es im Flow umsetze. Also genauer gesagt, wie ich meine Antwort in einer Variablen speicher und diese dann überprüfe. Diese Systematik habe ich noch nicht verstanden.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Im Grunde genommen ist es genau das was wir bisher haben. Nur das die Variable avcomm nicht durch den Trigger sondern erst später durch die Aktion spracheingabe geschieht. Dann nimmst du eine Condition und prüfst ob in deiner Antwort avcomm ein bestimmtes Wort oder Teilsatz vorkommt (RegEx). Und machst dann ja nein weg und entsprechend ja nein stellst du weitere Fragen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Amenophis86

#128
Bin gerade ein Stück weiter gekommen. Werde mal weiter testen.

Danke für den Tipp.

Edit:
übrigens, wenn man bei match mit "(.*)Wert(.*)" arbeitet, dann ist egal, ob das gesucht Wort am Anfang, Mitte oder Ende im String steht. Das hatte ich schon länger gesucht beim Abgleich mit dem String von der Spracheingabe im Script. Das war es, was ich hier gesucht hatte:
Zitat von: Amenophis86 am 04 Januar 2017, 22:53:16
Ich suche mich tod und finde es nicht, daher frage ich dich. Wie kann ich die avcom Abfrage eines Wortes machen ohne darauf zu achten, ob es am Anfang, Ende oder Mitte eines Satzes sitzt? Geht das nicht und finde ich deswegen keine Antwort?

Hilft zwar noch nicht beim Trigger mehr Varianten zu bringen, aber zumindest schon mal im Flow dahinter :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Zitat von: Amenophis86 am 11 Januar 2017, 16:44:36
Bin gerade ein Stück weiter gekommen. Werde mal weiter testen.

Danke für den Tipp.

Edit:
übrigens, wenn man bei match mit "(.*)Wert(.*)" arbeitet, dann ist egal, ob das gesucht Wort am Anfang, Mitte oder Ende im String steht. Das hatte ich schon länger gesucht beim Abgleich mit dem String von der Spracheingabe im Script. Das war es, was ich hier gesucht hatte:
Hilft zwar noch nicht beim Trigger mehr Varianten zu bringen, aber zumindest schon mal im Flow dahinter :)

Interessant

"(.*)Wert(.*)"

Der Punkt steht in regulären Ausdrücken ansonsten für ein beliebiges anderes Zeichen (außer Zeilenumbrüchen).

Es sollte also wenigstens ein Zeichen erwartet werden. Dem zu folge sollte folgendes nicht gehen

Wohnzimmerheizung ist 12 Grad

"(.*)Wohnzimmerheizung(.*)"

Das sollte so nicht gehen, da am Anfang, also noch vor Wohnzimmerheizung ein Zeichen erwartet wird.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

olliwood

Steht der Stern denn in Perl nicht auch für eine beliebige Anzahl der vorgenannten Zeichen!? Dann würde es doch passen.  :)

Gruß
Oliver

CoolTux

ja steht er, aber der . steht für mindestens ein Zeichen glaube ich. Kann aber auch für kein oder wenigstens ein zeichen stehen. Weiß nicht mehr so genau. Dann würde es passen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

olliwood

Der Punkt an sich steht schon für ein beliebiges Zeichen. Durch den Stern dahinter müsste aber quantifiziert werden, soweit ich das grad richtig im Kopf habe.

Amenophis86

Also ich habe es heute Mittag versucht und konnte sowohl mit "ja sollst du", "Test ja sollst du" und "ja" das gleiche Ergebnis erzielen. Immer wurde die richtige if Bedingung getriggert. Daher scheint es zu funktionieren.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Code006

Zitat von: CoolTux am 12 Dezember 2016, 19:52:29
Wie zufrieden seit Ihr denn so mit dieser Art der Sprachsteuerung?

Hi CoolTux,
ich habe dieses Wochenende deine Sprachsteuerung eingebaut und angepasst. Nach dem ich mich in die neue Materie eingefunden hatte, funktioniert alles super.
Ich steuere die Heizung und schalte meine Lichter und hab am RGB-Farbwechsler auch eine Sprachsteuereung ;D

Ich habe nur eine Frage zu AutoVoice. Lässt du es im "Continouos Mode" laufen oder hast du Google Now anderweitig aktiviert?

Viele Grüße und Danke

Code006