[39_Talk2Fhem.pm] Flexible Sprachsteuerunghilfsmodul

Begonnen von Phill, 12 Dezember 2017, 12:24:09

Vorheriges Thema - Nächstes Thema

Abercrombie1892

#270
Zitat von: Phill am 22 März 2018, 07:27:01
Nur der Vollständigkeit halber:
Das Komma kannst geschützt werden. Siehe Attribute im Wiki.

Gruß

Wieder was dazu gelernt. Danke
Hattest du dir das mit den vorspulen nochmal genauer angeschaut?

Ich weiß nicht ob es möglich wäre oder ob es möglich ist, einen Befehl zeitverzögert abzusenden aus t2f ohne jetzt über ein doif oder notify zugehen?

Mit freundlichen Grüßen

Phill

Bei der Minuten/Sekunden... Erkennung wird jetzt explicit ein in, und oder nach erwartet. Also:
in 3 minuten und 5 sekunden oder nach 3 minuten
Bedeutet: Ein "spule um 3 minuten vor" oder "spule auf 3 minuten" wird jetzt nicht mehr als Zeitphrase erkannt und kann selbst ausgewertet werden.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Abercrombie1892

Zitat von: Phill am 22 März 2018, 14:53:30
Bei der Minuten/Sekunden... Erkennung wird jetzt explicit ein in, und oder nach erwartet. Also:
in 3 minuten und 5 sekunden oder nach 3 minuten
Bedeutet: Ein "spule um 3 minuten vor" oder "spule auf 3 minuten" wird jetzt nicht mehr als Zeitphrase erkannt und kann selbst ausgewertet werden.

Was meinst du mit selbst ausgewertet werden?

Phill

Indem du die Zahlen per RegExp erfasst und in den Kommandoteil überführst. Du kannst ja dann mit der Zahl machen was du willst. Sprich "selbst auswerten".



Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Abercrombie1892

Zitat von: Phill am 22 März 2018, 15:31:09
Indem du die Zahlen per RegExp erfasst und in den Kommandoteil überführst. Du kannst ja dann mit der Zahl machen was du willst. Sprich "selbst auswerten".

Ich probiere heut Abend mal mein Glück. Ich musste ja die Zahl noch umrechnen auf Sekunden

Mit freundlichen Grüßen

n4rrOx

Hallo Phill,

habe mir deine Erläuterungen nochmals in Ruhe angeschaut und versucht meine Erkenntnisse mit einigen weiteren Fragezeichen mal rauszuschreiben.
RegExp ist absolutes Neuland für mich ^^

?(link\S+|recht\S+) && rolll?(os?|\S\S?den) ?(\S+ ){0,2}(Küche|Kinderzimmer|Schlafzimmer|Wohnzimmer) (\S+ )?(auf )?(\S+)
#####################################################################################################################################################

?(link\S+|recht\S+) = optional, ob link... oder recht..., wobei "..." irgwendwelche Zeichen sein können, die keine Leerzeichen sind

rolll?(os?|\S\S?den) = l? => l ist optional, dann entweder Endung os oder ein oder zwei Zeichen, wobei ein Umlaut wie ä umgeschrieben wird

?(\S+ ){0,2} = 0 bis 2 Wörter => wäre auch das richtig: ?(\S+){0,2} ?????

< Wieso kommt nachfolgend kein Leerzeichen bzw. darf eins kommen ????? >

(Küche|Kinderzimmer|Schlafzimmer|Wohnzimmer) = Eins der Zimmer ...

(\S+ )? = irgendeine optionale Zeichenfolge (außer Leerzeichen) => wäre auch das richtig: ?(\S+) ??????

< Wieso kommt nachfolgend kein Leerzeichen bzw. darf eins kommen ????? >

(auf )? = auf ist optional

(\S+) = irgendeine Zeichenfolge (außer Leerzeichen)


Bzgl. der Sprach-Befehlszusammensetzung kann "links/rechts" irgendwo im Satz sein ... nach "roll..." kommen ggf. bis zu 2 Wörter dann MUSS ein Raum kommen, gefolgt von ggf. einem Wort, sowie ggf. "auf" sowie noch einer abschließenden Zeichenfolge, richtig?

Also kann ich nicht sagen:
Fahre in der Küche den Rolladen auf 50 % ???

=> Wo müsste oder könnte ich noch weitere && setzen?
___________
Hätte noch einen Vorschlag, abseits meiner RegEx-Fragen:
Es ist ja möglich zu sagen, dass z. B. das Licht in 5 min ausgeschaltet werden soll.
Anschließend wird ein Timer generiert, welcher die Lampe in 5 min ausschaltet.
Wenn jetzt die Lampe aber gar nicht an war, wird einfach nach 5 min trotzdem ein off Befehl gesendet.

Wäre es nicht bei solchen Zeitangaben sinnvoll immer zu prüfen, ob das Gerät bereits den gegenteiligen Zustand hat (in diesem Fall Lampe bereits an) und wenn nicht diese anzuschalten und dann nach der vorgegebenen Zeit wieder zu deaktivieren? Weil mit diesem Befehl geht man ja davon aus, dass diese momentan an ist.

Somit könnte der Sprachbefehl wie folgt verkürzt werden (Ausgangszustand: Lampe aus):
Schalte die Lampe an und in 5 min wieder aus.      =>      Schalte die Lampe in 5 min aus.


Gruß
Mathias

Abercrombie1892

#276
(minuten|sekunden) && vorspulen|spule auf (\S+) =
  {GetHttpFile("192.168.178.21:8080","/raumserver/controller/seek?id=Wohnzimmer&value=".($2{numeral=>"$2"}*$1[60,1,empty,60]))}


funzt jetzt perfekt. danke für deine arbeit. geniales modul

mich würde trotzdem mal interessieren ob man hier ein wait einbauen könnte.? ::)

Phill

Zitat von: Abercrombie1892 am 22 März 2018, 20:44:27
(minuten|sekunden) && vorspulen|spule auf (\S+) =
  {GetHttpFile("192.168.178.21:8080","/raumserver/controller/seek?id=Wohnzimmer&value=".($2{numeral=>"$2"}*$1[60,1,empty,60]))}

funzt jetzt perfekt. danke für deine arbeit. geniales modul
mich würde trotzdem mal interessieren ob man hier ein wait einbauen könnte.? ::)
Danke für die Blumen. Wie meinst du das nochmal mit dem wait? 


Zitat von: n4rrOx am 22 März 2018, 17:12:09
RegExp ist absolutes Neuland für mich ^^
Ich finde es klasse, dass ich durch mein Modul zum Verständnis von RegExp beitrage. :)

Zitatrolll?(os?|\S\S?den)   =   l? => l ist optional, dann entweder Endung os oder ein oder zwei Zeichen, wobei ein Umlaut wie ä umgeschrieben wird
Damit hab ich folgende Wörter erfasst.
Rollladen, rollläden, rollo, rollos. Vielleicht würde auch ein roll\S+ genügen, wenn man sonst kein Wort mehr beginnend mit roll verwendet. 

Zitat?(\S+ ){0,2}      =   0 bis 2 Wörter => wäre auch das richtig: ?(\S+){0,2} ?????
Damit werden die Präpositionen und Artikel erfasst.
Im, in der, auf der, in, usw...
Zur Frage: Nein. Weil ich nach mindestens 2 Wörtern suche. Und diese werden nun mal in der Regel mit einem Leerzeichen getrennt.  ;)
Ich benutze innerhalb von T2F auch das dafür. Ist etwas expliziter wenn es interssiert.
'(([ai][nm]|beim?|auf|unter|hinter|über|vo[rnm]) )?((de[rmns]|die|das) )?'
Ich sehe gerade das "?" am Anfang ist überflüssig wenn nicht sogar schädlich.

Zitat< Wieso kommt nachfolgend kein Leerzeichen bzw. darf eins kommen ????? >
Das ist ja in der Klammer schon drin. (\S+ ) bedeutet ja beliebig lange Zeichenkette mit anschließendem Leerzeichen.

Zitat(\S+ )?         =   irgendeine optionale Zeichenfolge (außer Leerzeichen) => wäre auch das richtig: ?(\S+) ??????
Für den fall das hier rechts/links steht. Das kann mittlerweile weg, denn dein Problem hat mich dazu veranlasst in der aktuellen Version eine Änderung umzusetzen, womit die gefundenen RegExp-Teile (&&) aus der Zeichenkette entfernt werden.
Wenn du "_?(\S+)_" meinst, Jein. Geht aber würde ich nicht machen, da dann eventuell gar kein Leerzeichen mehr übrig bleibt.
Zitat< Wieso kommt nachfolgend kein Leerzeichen bzw. darf eins kommen ????? >
Selbe wie oben

ZitatBzgl. der Sprach-Befehlszusammensetzung kann "links/rechts" irgendwo im Satz sein ... nach "roll..." kommen ggf. bis zu 2 Wörter dann MUSS ein Raum kommen, gefolgt von ggf. einem Wort, sowie ggf. "auf" sowie noch einer abschließenden Zeichenfolge, richtig?
Ja.

ZitatAlso kann ich nicht sagen:
Fahre in der Küche den Rolladen auf 50 % ???
=> Wo müsste oder könnte ich noch weitere && setzen?

Wenn "alles" an unbekannten Stellen steht. Entsteht das Problem das man die Richtung des Rolladen von hinten Suchen muss. Man könnte auch zwei Konfigs erstellen in dem Raum und Rollo gedreht sind. Oder man sucht das Adejktiv wie gesagt von hinten. 
?(link\S+|recht\S+) && rolll?(os?|\S\S?den) && (Küche|Kinderzimmer|Schlafzimmer|Wohnzimmer) && ([^\s%]+)(%| %| prozent)?$ =
set $3[ku_Rolladenaktor, kz_Rolladenaktor, sz_Rolladenaktor,
$1[wz_Rolladenaktor_links, wz_Rolladenaktor_rechts, empty, "'wz_Rolladenaktor_links,wz_Rolladenaktor_rechts'"]] pct $4{ true => 100 , false => 0 , integer => "$4" }
Erklärung:
\S ist das selbe wie [^\s]. Mit [^\s%] schließe ich ebenso das % aus, weil ich das nicht benötige.
(%| %| prozent)?$ bedeutet Satzende mit optionalem Prozent in verschiedenen Schreibweisen.

Teste das mal bitte mit allen möglichen Satzkonstellationen. Gefällt mir fast besser und könnte dann ins wiki.
-------------------------------------------------------------------------------------------------------------------------------
ZitatWäre es nicht bei solchen Zeitangaben sinnvoll immer zu prüfen, ob das Gerät bereits den gegenteiligen Zustand hat (in diesem Fall Lampe bereits an) und wenn nicht diese anzuschalten und dann nach der vorgegebenen Zeit wieder zu deaktivieren? Weil mit diesem Befehl geht man ja davon aus, dass diese momentan an ist.
Somit könnte der Sprachbefehl wie folgt verkürzt werden (Ausgangszustand: Lampe aus):
Schalte die Lampe an und in 5 min wieder aus.      =>      Schalte die Lampe in 5 min aus.
Immer halte ich es für sehr riskant. Aus unterschiedlichen Gründen u.a. weil es ja nicht immer nur 2 Zustände gibt. Optional könnte ich es mir vorstellen. Das muss ich mir aber erst mal in Ruhe durch den Kopf gehen lassen.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Abercrombie1892

Zitat von: Phill am 23 März 2018, 09:21:32
Danke für die Blumen. Wie meinst du das nochmal mit dem wait?

Ich meinte damit einen Befehl zeitverzögert abzusenden direkt aus t2f, ähnlich wie bei einem doif.

Phill

Hast du mal offset=300 versucht? Zeitenmodifikation
Ich in Bezug auf Verzögerung ehrlich gesagt noch nicht.  ;) Kann also sein das vorher explizit eine Zeit angegeben werden muss. Probiers mal bitte. Ansonsten wirds gefixt.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

Abercrombie1892

#280
Bisher hab ich noch nix weiter getestet. Werd es heut Abend mal probieren ob ich das ganze umsetzen kann.

edit: ich weiss jetzt nicht ob ich das so richtig gemacht habe, aber er schaltet sofort an und wartet nicht mit dem befehl 10 sekunden

Test\S* (\S+) = (offset=>10, cmd=>'set Nvidia on')


ich schalte ja hiermit die raumfeld geräte ein

#Musik Wohnzimmer,Küche und Badezimmer an#
?(@rooms) && Musik\b (\S*) = set StandbyRF $1[@RFStandby] $1[cmd_1,cmd_3,cmd_2,cmd_5,empty,cmd_1]

ich hätte nun gerne auch das er mir die geräte abschaltet. im moment schaltet er ja die geräte auch ein wenn ich sage mach musik im wohnzimmer aus. ::)

swsmily

ZitatIch finde es klasse, dass ich durch mein Modul zum Verständnis von RegExp beitrage

Dafür kann ich mich auch nur bedanken. RegEx ist zwar für mich immernoch sehr verworren, aber schon die Ansätze, durch dieses Modul haben mir sogar beruflich schon geholfen  ;D

Abercrombie1892

#282
hallo,

hab ein kleines problem bei der lampensteuerung aus dem wiki für bunte lampen.

#Fernseher#
Fernseher\S* (\S+) = set Nvidia $1{true=>on, false=>off}
Test\S* (\S+) = (offset=>10, cmd=>'set Nvidia on')

#Musik Wohnzimmer,Küche und Badezimmer an#
?(@rooms) && Musik\b (\S*) = set StandbyRF $1[@RFStandby] $1[cmd_1,cmd_3,cmd_2,cmd_5,empty,cmd_1]
überall && Musik an\b = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/leaveStandby")};'{GetHttpFile("192.168.178.21:8080","/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=Livesets")}
überall aus\b = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/enterManualStandby")}
spiele && (@Playlist) = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=$1[@RFPlaylisttest]")}
   

#Lautstärkeregelung Raumfeld#
überall leise\b = set Raumfeld_WZ volume 50; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 13
überall (entspannte|normale lautstärke) = set Raumfeld_WZ volume 60; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 30
überall laut\b = set Raumfeld_WZ volume 80; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 45
?(@rooms) && leise\b = set Raumfeld_$1[@RF] volume $1[50,13,13,(65,30,30),empty,50]
?(@rooms) && (entspannte|normale) lautstärke =  set Raumfeld_$1[@RF] volume $1[60,30,30,empty,60]
?(@rooms) && alles|laut\b = set Raumfeld_$1[@RF] volume $1[80,55,55,empty,80]
?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)  =
  { fhem("set Raumfeld_$1[@RF] volume ".(ReadingsVal("Raumfeld_$1[@RF]","volume", 0)$3[+,-]$2[3,6,11,empty,7])) }

#Titel vor/zurück und spulen#
weiter|vor$ = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/next")};set EchoDot_WZ next
zurück|anfang$ = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/prev")};set EchoDot_WZ previous
(minuten|sekunden) && vorspulen|spule auf (\S+) =
  {GetHttpFile("192.168.178.21:8080","/raumserver/controller/seek?id=Wohnzimmer&value=".($2{numeral=>"$2"}*$1[60,1,empty,60]))}


#Lichtsteuerung#
licht (\S+ ){0,2}(@rooms) (\S+) = set $2[@lights] $3{ true => on, false => off }


#   1              2               3             4              5               6
?(bitte) && (@T2F_types_color) && ?(@T2F_rooms) && ?(@T2F_places) && (@colors)( schalten| stellen)?$ =
(cmd=>'set T2F_types_color=.*$2@.*:FILTER=T2F_rooms=.*$3@.*:FILTER=T2F_places=.*$4@.* rgb $5[@rgb]')


?(@rooms) && (ein wenig|etwas|viel)? ?(heller|dunkler)  =
  { fhem("set Lampen_$1[@dimmen] pct ".(ReadingsVal("Lampen_$1[@dimmen]","pct", 0)$3[+,-]$2[10,15,30,empty,10])) }

#Spiegelschrank Badezimmer
Spiegelschrank\S* (\S+) = set Spiegelschrank_BZ $1{true=>on, false=>off}
#Deckenlampe (\S+ ){0,2}(@rooms) (\S+) = set Deckenlampe_$1[@deckenlampen] $2{ true => on, false => off }



alle lampen haben jetzt ihre attribute bekommen. nur hab ich immer das problem wenn ich zb sage mach das licht im wohnzimmer blau, reagieren immer 2 lampen garnicht ( immer 2 andere ) und es gehen auch in den anderen räumen die lampen an.

den fehler hab ich im log

2018.03.30 15:51:34 1: 192.168.178.40:23 reappeared (WZ.Pioneer)
2018.03.30 17:34:04 3: Decoding Text: MACH DAS LICHT IM WOHNZIMMER GRÜN
2018.03.30 17:34:04 3: Result of cmd: $VAR1 = {
          'cmd' => 'set T2F_types_color=.*Licht.*:FILTER=T2F_rooms=.*.*:FILTER=T2F_places=.*.* rgb 006400'
        };

2018.03.30 17:34:04 2: HUEDevice: http request failed: http://192.168.178.43/api/3ZoNBpdIjaWubmWzan856OuQjYbrByx5tErr0VaX/lights/2/state: empty answer received

RoBra81

Kannst du bitte mal noch die Attribute vom talk-Device posten?

Gesendet von meinem SM-G935F mit Tapatalk


Abercrombie1892


Internals:
   DEF        #Fernseher#
Fernseher\S* (\S+) = set Nvidia $1{true=>on, false=>off}
Test\S* (\S+) = (offset=>10, cmd=>'set Nvidia on')

#Musik Wohnzimmer,Küche und Badezimmer an#
?(@rooms) && Musik\b (\S*) = set StandbyRF $1[@RFStandby] $1[cmd_1,cmd_3,cmd_2,cmd_5,empty,cmd_1]
überall && Musik an\b = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/leaveStandby")};'{GetHttpFile("192.168.178.21:8080","/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=Livesets")}
überall aus\b = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/enterManualStandby")}
spiele && (@Playlist) = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=$1[@RFPlaylisttest]")}
   

#Lautstärkeregelung Raumfeld#
überall leise\b = set Raumfeld_WZ volume 50; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 13
überall (entspannte|normale lautstärke) = set Raumfeld_WZ volume 60; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 30
überall laut\b = set Raumfeld_WZ volume 80; set Raumfeld_Badezimmer,Raumfeld_Kueche volume 45
?(@rooms) && leise\b = set Raumfeld_$1[@RF] volume $1[50,13,13,(65,30,30),empty,50]
?(@rooms) && (entspannte|normale) lautstärke =  set Raumfeld_$1[@RF] volume $1[60,30,30,empty,60]
?(@rooms) && alles|laut\b = set Raumfeld_$1[@RF] volume $1[80,55,55,empty,80]
?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)  =
  { fhem("set Raumfeld_$1[@RF] volume ".(ReadingsVal("Raumfeld_$1[@RF]","volume", 0)$3[+,-]$2[3,6,11,empty,7])) }

#Titel vor/zurück und spulen#
weiter|vor$ = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/next")};set EchoDot_WZ next
zurück|anfang$ = {GetHttpFile("192.168.178.21:8080","/raumserver/controller/prev")};set EchoDot_WZ previous
(minuten|sekunden) && vorspulen|spule auf (\S+) =
  {GetHttpFile("192.168.178.21:8080","/raumserver/controller/seek?id=Wohnzimmer&value=".($2{numeral=>"$2"}*$1[60,1,empty,60]))}


#Lichtsteuerung#
#licht (\S+ ){0,2}(@rooms) (\S+) = set $2[@lights] $3{ true => on, false => off }


#   1              2               3             4              5               6
?(bitte) && (@T2F_types_color) && ?(@T2F_rooms) && ?(@T2F_places) && (@colors)( schalten| stellen)?$ =
(cmd=>'set T2F_types_color=.*$2@.*:FILTER=T2F_rooms=.*$3@.*:FILTER=T2F_places=.*$4@.* rgb $5[@rgb]')


?(@rooms) && (ein wenig|etwas|viel)? ?(heller|dunkler)  =
  { fhem("set Lampen_$1[@dimmen] pct ".(ReadingsVal("Lampen_$1[@dimmen]","pct", 0)$3[+,-]$2[10,15,30,empty,10])) }

#Spiegelschrank Badezimmer
Spiegelschrank\S* (\S+) = set Spiegelschrank_BZ $1{true=>on, false=>off}
#Deckenlampe (\S+ ){0,2}(@rooms) (\S+) = set Deckenlampe_$1[@deckenlampen] $2{ true => on, false => off }



   NAME       talk
   NR         163
   NTFY_ORDER 50-talk
   STATE      Ready
   TYPE       Talk2Fhem
   READINGS:
     2018-03-30 19:12:45   cmds            set StandbyRF cmd_5 cmd_5
     2018-03-30 19:13:17   err             No match: '  Spiele die neueste Musik'
     2018-03-30 19:13:17   origin         
     2018-03-30 11:41:50   response        {"requestUrl":"/raumserver/controller/seek?id=Wohnzimmer&value=2280","action":"seek","error":false,"msg":"","data":{"udn":"uuid:c090ca62-2696-494f-b9ee-9954dbd66781"}}
     2018-03-30 19:13:17   set             . Spiele die neueste Musik
     2018-03-30 19:13:17   status          err
   helper:
     LOG        Talk2Fhem Version: 0.5.3
Decoding Text: . Spiele die neueste Musik
After correction:
  Spiele die neueste Musik
Command part: '  Spiele die neueste Musik'
Command left: 'Spiele die neueste Musik'
talk Evaluate search:
Spiele die neueste Musik =~ /Fernseher\S* (\S+)/i
talk Evaluate search:
Spiele die neueste Musik =~ /Test\S* (\S+)/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && Musik\b (\S*)/i
talk Evaluate search:
Spiele die neueste Musik =~ /überall && Musik an\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /überall aus\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /spiele && (@Playlist)/i
talk Evaluate search:
Spiele die neueste Musik =~ /überall leise\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /überall (entspannte|normale lautstärke)/i
talk Evaluate search:
Spiele die neueste Musik =~ /überall laut\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && leise\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && (entspannte|normale) lautstärke/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && alles|laut\b/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)/i
talk Evaluate search:
Spiele die neueste Musik =~ /weiter|vor$/i
talk Evaluate search:
Spiele die neueste Musik =~ /zurück|anfang$/i
talk Evaluate search:
Spiele die neueste Musik =~ /(minuten|sekunden) && vorspulen|spule auf (\S+)/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(bitte) && (@T2F_types_color) && ?(@T2F_rooms) && ?(@T2F_places) && (@colors)( schalten| stellen)?$/i
talk Evaluate search:
Spiele die neueste Musik =~ /?(@rooms) && (ein wenig|etwas|viel)? ?(heller|dunkler)/i
talk Evaluate search:
Spiele die neueste Musik =~ /Spiegelschrank\S* (\S+)/i
No match: '  Spiele die neueste Musik'
Nothing to do: . Spiele die neueste Musik

     T2F_andwordlist:
       &rooms:
         wohnzimmer
         bad\S*
         küche
         haus|überall|wohnung
         toilette|wc
         schlafzimmer
         kinderzimmer
         babyzimmer
         flur
         balkon|draussen
         ambilight
     T2F_keywordlist:
       Playlist:
         Radiosender
         PureFM
         Spreeradio
         Nick Groove
         aktuelle hits|aktuelle musik
         elektronische tanzmusik|elektronische musik
       T2F_places:
         vorne
         oben
         unten
         hinten
         Lautsprecher
         Heizung
         Couch
         Balkon
         Lautsprechern
         Box
         Boxen
         Sideboard
         Toilette
         Spiegelschrank
         Palme
         links
         rechts
         kleiner tisch
       T2F_rooms:
         Küche
         Schlafzimmer
         Badezimmer
         Gästebad
         Kinderzimmer
         Babyzimmer
         !Wohnzimmer
         Deckenlampe
       T2F_types_color:
         Lampe
         Licht
         Deckenlampe
       T2F_types_switch:
         Lampe
         Licht
         Deckenlampe
       colors:
         Aus
         An
         Schwarz
         Dunkles Schiefergrau
         Schiefergrau
         Helles Schiefergrau
         Helles Stahlblau
         Mattes Grau
         Grau
         Dunkelgrau
         Silber
         Hellgrau
         Gainsboro
         Rauchiges Weiß
         Geisterweiß
         Weiß
         Schneeweiß
         Elfenbein
         Blütenweiß
         Muschel
         Altgold
         Leinenfarbe
         Antikes Weiß
         Mandelweiß
         Cremiges Papaya
         Beige
         Mais
         Helles Goldrutengelb
         Hellgelb
         Chiffongelb
         Blasse Goldrutenfarbe
         Khaki
         Gelb
         Gold
         Orange
         Dunkles Orange
         Goldrute
         dunkle Goldrutenfarbe
         Peru
         Schokolade
         Sattelbraun
         Ocker
         Braun
         Dunkelrot
         Kastanienbraun
         Ziegelfarbe
         Indischrot
         Karmesinrot
         Rot
         Orangenrot
         Tomatenrot
         Koralle
         Lachs
         Helles Korallenrot
         Dunkle Lachsfarbe
         Helle Lachsfarbe
         Sandbraun
         Rosiges Braun
         Gelbbraun
         Grobes Braun
         Weizen
         Pfirsich
         Navajoweiß
         Tomatencreme
         Rosige Lavenderfarbe
         Altrosa
         Rosa
         Hellrosa
         Leuchtendes Rosa
         Fuchsie
         Magentarot
         Tiefrosa
         Mittleres Violettrot
         Blasses Violettrot
         Pflaume
         Distel
         Lavendelfarbe
         Violett
         Orchidee
         Dunkles Magentarot
         Violett
         Indigo
         Blauviolett
         Dunkles Violett
         Dunkle Orchideenfarbe
         Mittleres Violett
         Mittlere Orchideenfarbe
         Mittleres Schieferblau
         Schieferblau
         Dunkles Schieferblau
         Mitternachtsblau
         Marineblau
         Dunkelblau
         Mittelblau
         Blau
         Königsblau
         Stahlblau
         Kornblumenblau
         Dodger-Blau
         Tiefes Himmelblau
         Helles Himmelblau
         Himmelblau
         Hellblau
         Zyanblau
         Blaugrün
         Taubenblau
         Helles Cyanblau
         Aliceblau
         Himmelblau
         Cremig Pfefferminz
         Honigmelone
         Aquamarinblau
         Türkis
         Blasses Türkis
         Mittleres Türkis
         Dunkles Türkis
         Mittleres Aquamarinblau
         Helles Seegrün
         Dunkles Zyanblau
         Entenbraun
         Kadettblau
         Mittleres Seegrün
         Dunkles Seegrün
         Hellgrün
         Blassgrün
         Mittleres Frühlingsgrün
         Frühlingsgrün
         Zitronengrün
         Gelbgrün
         Seegrün
         Waldgrün
         Grün
         Dunkelgrün
         Olivfarbiges Graubraun
         Dunkles Olivgrün
         Olivgrün
         Dunkles Khaki
         Gelbgrün
         Hellgrün
         Grüngelb
       rooms:
         wohnzimmer
         bad\S*
         küche
         haus|überall|wohnung
         toilette|wc
         schlafzimmer
         kinderzimmer
         babyzimmer
         flur
         balkon|draussen
         ambilight
     T2F_modwordlist:
       RF:
         WZ
         Badezimmer
         Kueche
         WG
         empty
         WZ
       RFPlaylist:
         cmd_1
         cmd_3
         cmd_2
       RFPlaylisttest:
         Radiosender
         purefm
         Spreeradio
         Dance%20Music
         neue%20Musik
         elektronische%20musik
       RFStandby:
         cmd_1
         cmd_3
         cmd_2
         cmd_5
       deckenlampen:
         WZ
         Bad
         Kueche
       dimmen:
         Wohnzimmer
         Badezimmer
         Kueche
         Wohnung
         Gästebad
         Schlafzimmer
         Kinderzimmer
         Babyzimmer
       lights:
         Lampen_Wohnzimmer
         Lampen_Badezimmer
         Lampen_Kueche
         Lampen_Wohnung
         Lampen_Gästebad
         Lampen_Schlafzimmer
         Lampen_Kinderzimmer
         Lampen_Babyzimmer
         Flurschalter
         Balkon_LED
         Ambilight
       rgb:
         000000
         FF8608
         8FBC8F
         708090
         778899
         B0C4DE
         696969
         808080
         A9A9A9
         C0C0C0
         D3D3D3
         DCDCDC
         F5F5F5
         F8F8FF
         FFFFFF
         FFFAFA
         FFFFF0
         FFFAF0
         FFF5EE
         FDF5E6
         FAF0E6
         FAEBD7
         FFEBCD
         FFEFD5
         F5F5DC
         FFF8DC
         FAFAD2
         FFFFE0
         FFFACD
         EEE8AA
         F0E68C
         FFFF00
         FFD700
         FFA500
         FF8C00
         DAA520
         B8860B
         CD853F
         D2691E
         8B4513
         A0522D
         A52A2A
         8B0000
         800000
         B22222
         CD5C5C
         DC143C
         FF0000
         FF4500
         FF6347
         FF7F50
         FA8072
         F08080
         E9967A
         FFA07A
         F4A460
         BC8F8F
         D2B48C
         DEB887
         F5DEB3
         FFDAB9
         FFDEAD
         FFE4C4
         FFF0F5
         FFE4E1
         FFC0CB
         FFB6C1
         FF69B4
         FF00FF
         FF00FF
         FF1493
         C71585
         DB7093
         DDA0DD
         D8BFD8
         E6E6FA
         EE82EE
         DA70D6
         8B008B
         800080
         4B0082
         8A2BE2
         9400D3
         9932CC
         9370DB
         BA55D3
         7B68EE
         6A5ACD
         483D8B
         191970
         000080
         00008B
         0000CD
         0000FF
         4169E1
         4682B4
         6495ED
         1E90FF
         00BFFF
         87CEFA
         87CEEB
         ADD8E6
         00FFFF
         00FFFF
         B0E0E6
         E0FFFF
         A0CE00
         F0FFFF
         F5FFFA
         F0FFF0
         7FFFD4
         40E0D0
         AFEEEE
         48D1CC
         00CED1
         66CDAA
         20B2AA
         008B8B
         008080
         5F9EA0
         3CB371
         8FBC8F
         90EE90
         98FB98
         00FA9A
         00FF7F
         00FF00
         32CD32
         2E8B57
         228B22
         008000
         006400
         6B8E23
         556B2F
         808000
         BDB76B
         9ACD32
         7FFF00
         ADFF2F
     if:
     notifiers:
     phrase:
       HASH(0x4e6d938)
       HASH(0x4eb5b18)
       HASH(0x4f10040)
       HASH(0x40444b0)
       HASH(0x4f280f0)
       HASH(0x4f42480)
       HASH(0x4daf8a0)
       HASH(0x4e426a0)
       HASH(0x4f21cd0)
       HASH(0x4e86008)
       HASH(0x4b4c0c8)
       HASH(0x4eca558)
       HASH(0x4eb4420)
       HASH(0x4ec37e8)
       HASH(0x4e75e38)
       HASH(0x4da63b8)
       HASH(0x4eb6cf0)
       HASH(0x4df4190)
       HASH(0x4f119e8)
Attributes:
   T2F_keywordlist &rooms = wohnzimmer,bad\\S*,küche,haus|überall|wohnung,toilette|wc,schlafzimmer,kinderzimmer,babyzimmer,
flur,balkon|draussen,ambilight
colors = Aus, An, Schwarz, Dunkles Schiefergrau, Schiefergrau,
Helles Schiefergrau, Helles Stahlblau, Mattes Grau, Grau, Dunkelgrau,
Silber, Hellgrau, Gainsboro, Rauchiges Weiß, Geisterweiß, Weiß, Schneeweiß,
Elfenbein, Blütenweiß, Muschel, Altgold, Leinenfarbe, Antikes Weiß, Mandelweiß,
Cremiges Papaya, Beige, Mais, Helles Goldrutengelb, Hellgelb, Chiffongelb,
Blasse Goldrutenfarbe, Khaki, Gelb, Gold, Orange, Dunkles Orange, Goldrute,
dunkle Goldrutenfarbe, Peru, Schokolade, Sattelbraun, Ocker, Braun, Dunkelrot,
Kastanienbraun, Ziegelfarbe, Indischrot, Karmesinrot, Rot, Orangenrot, Tomatenrot,
Koralle, Lachs, Helles Korallenrot, Dunkle Lachsfarbe, Helle Lachsfarbe, Sandbraun,
Rosiges Braun, Gelbbraun, Grobes Braun, Weizen, Pfirsich, Navajoweiß, Tomatencreme,
Rosige Lavenderfarbe, Altrosa, Rosa, Hellrosa, Leuchtendes Rosa, Fuchsie, Magentarot,
Tiefrosa, Mittleres Violettrot, Blasses Violettrot, Pflaume, Distel, Lavendelfarbe, Violett,
Orchidee, Dunkles Magentarot, Violett, Indigo, Blauviolett, Dunkles Violett,
Dunkle Orchideenfarbe, Mittleres Violett, Mittlere Orchideenfarbe, Mittleres Schieferblau,
Schieferblau, Dunkles Schieferblau, Mitternachtsblau, Marineblau, Dunkelblau, Mittelblau,
Blau, Königsblau, Stahlblau, Kornblumenblau, Dodger-Blau, Tiefes Himmelblau,
Helles Himmelblau, Himmelblau, Hellblau, Zyanblau, Blaugrün, Taubenblau,
Helles Cyanblau, Aliceblau, Himmelblau, Cremig Pfefferminz, Honigmelone,
Aquamarinblau, Türkis, Blasses Türkis, Mittleres Türkis, Dunkles Türkis,
Mittleres Aquamarinblau, Helles Seegrün, Dunkles Zyanblau, Entenbraun,
Kadettblau, Mittleres Seegrün, Dunkles Seegrün, Hellgrün, Blassgrün, Mittleres Frühlingsgrün,
Frühlingsgrün, Zitronengrün, Gelbgrün, Seegrün, Waldgrün, Grün, Dunkelgrün, Olivfarbiges Graubraun,
Dunkles Olivgrün, Olivgrün, Dunkles Khaki, Gelbgrün, Hellgrün, Grüngelb
Playlist = Radiosender,PureFM,Spreeradio,Nick Groove,aktuelle hits|aktuelle musik,elektronische tanzmusik|elektronische musik
T2F_places = vorne,oben,unten,hinten,Lautsprecher,Heizung,Couch,Balkon,Lautsprechern,Box,Boxen,Sideboard,Toilette,Spiegelschrank,Palme,
links,rechts,kleiner tisch
T2F_rooms = Küche,Schlafzimmer,Badezimmer,Gästebad,Kinderzimmer,Babyzimmer,!Wohnzimmer,Deckenlampe
T2F_types_color = Lampe,Licht,Deckenlampe
T2F_types_switch = Lampe,Licht,Deckenlampe
   T2F_language DE
   T2F_modwordlist lights = Lampen_Wohnzimmer,Lampen_Badezimmer,Lampen_Kueche,Lampen_Wohnung,Lampen_Gästebad,
Lampen_Schlafzimmer,Lampen_Kinderzimmer,Lampen_Babyzimmer,Flurschalter,Balkon_LED,Ambilight
deckenlampen = WZ,Bad,Kueche
dimmen = Wohnzimmer,Badezimmer,Kueche,Wohnung,Gästebad,Schlafzimmer,Kinderzimmer,Babyzimmer
RF = WZ,Badezimmer,Kueche,WG,empty,WZ
RFPlaylist = cmd_1,cmd_3,cmd_2
RFPlaylisttest = Radiosender,purefm,Spreeradio,Dance%20Music,neue%20Musik,elektronische%20musik
RFStandby = cmd_1,cmd_3,cmd_2,cmd_5
rgb = 000000, FF8608, 8FBC8F, 708090, 778899, B0C4DE,
696969, 808080, A9A9A9, C0C0C0, D3D3D3, DCDCDC, F5F5F5,
F8F8FF, FFFFFF, FFFAFA, FFFFF0, FFFAF0, FFF5EE, FDF5E6,
FAF0E6, FAEBD7, FFEBCD, FFEFD5, F5F5DC, FFF8DC, FAFAD2,
FFFFE0, FFFACD, EEE8AA, F0E68C, FFFF00, FFD700, FFA500,
FF8C00, DAA520, B8860B, CD853F, D2691E, 8B4513, A0522D,
A52A2A, 8B0000, 800000, B22222, CD5C5C, DC143C, FF0000,
FF4500, FF6347, FF7F50, FA8072, F08080, E9967A, FFA07A,
F4A460, BC8F8F, D2B48C, DEB887, F5DEB3, FFDAB9, FFDEAD,
FFE4C4, FFF0F5, FFE4E1, FFC0CB, FFB6C1, FF69B4, FF00FF,
FF00FF, FF1493, C71585, DB7093, DDA0DD, D8BFD8, E6E6FA,
EE82EE, DA70D6, 8B008B, 800080, 4B0082, 8A2BE2, 9400D3,
9932CC, 9370DB, BA55D3, 7B68EE, 6A5ACD, 483D8B, 191970,
000080, 00008B, 0000CD, 0000FF, 4169E1, 4682B4, 6495ED,
1E90FF, 00BFFF, 87CEFA, 87CEEB, ADD8E6, 00FFFF, 00FFFF,
B0E0E6, E0FFFF, A0CE00, F0FFFF, F5FFFA, F0FFF0, 7FFFD4,
40E0D0, AFEEEE, 48D1CC, 00CED1, 66CDAA, 20B2AA, 008B8B,
008080, 5F9EA0, 3CB371, 8FBC8F, 90EE90, 98FB98, 00FA9A,
00FF7F, 00FF00, 32CD32, 2E8B57, 228B22, 008000, 006400,
6B8E23, 556B2F, 808000, BDB76B, 9ACD32, 7FFF00, ADFF2F

   disable    0
   room       Sprachsteuerung
   userReadings 1


kann mir mal einer erklären was das hier ist?

phrase:
       HASH(0x4e6d938)
       HASH(0x4eb5b18)
       HASH(0x4f10040)
       HASH(0x40444b0)
       HASH(0x4f280f0)
       HASH(0x4f42480)
       HASH(0x4daf8a0)
       HASH(0x4e426a0)
       HASH(0x4f21cd0)
       HASH(0x4e86008)
       HASH(0x4b4c0c8)
       HASH(0x4eca558)
       HASH(0x4eb4420)
       HASH(0x4ec37e8)
       HASH(0x4e75e38)
       HASH(0x4da63b8)
       HASH(0x4eb6cf0)
       HASH(0x4df4190)
       HASH(0x4f119e8)