[39_Talk2Fhem.pm] Flexible Sprachsteuerunghilfsmodul

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

Vorheriges Thema - Nächstes Thema

Phill

#225
Tja, wo gehobelt wird fallen Späne.  :) Durch die Umbauten ist einiges zu Bruch gegangen, aber die Version die ich heute einchecken werde ist ausführlich getestet.

Um dir bei deinen Zonen helfen zu können müsste ich wissen wie deine fhem Befehle aussehen.
Ist aber echt einfach umzusetzen. Hier ein Beispiel aus dem Wiki.https://wiki.fhem.de/wiki/Modul_Talk2Fhem#Beispiel_nach_Position
Und die RegExp müsste so aussehen.
musik in zone (\S+) =
Aber man muss sich vorher klar werden was man alles sagen können möchet...
Gruß
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

([RF2:"on"] and $cmd=~"0|3") ({GetHttpFile ("192.168.178.21:8080","/raumserver/controller/addToZone?id=Wohnzimmer&zoneId=K%C3%BCche")}) DOELSEIF (["testo:.*"] and $cmd==1) ({GetHttpFile ("192.168.178.21:8080","/raumserver/controller/addToZone?id=K%C3%BCche&zoneId=Wohnzimmer")}) DOELSEIF (["testo:.*"] and $cmd==2) ({GetHttpFile ("192.168.178.21:8080","/raumserver/controller/addToZone?id=Badezimmer&zoneId=Wohnzimmer")})


ich schalte praktisch mit cmd_1,cmd_2 und cmd_3 durch die zonen

swsmily

Hey.

Ich hab bei mir ja alles so umgestellt, wie in deinem Beispiel:
(Bad\S*|Flur\S*|Schlafzimmer\S*|Küche\S*) && (.*) && ?(rot|grün|blau) =
set $1[Badlicht, Flurlicht, Schlafzimmerlicht, Kuechenlicht] $2{
/hell/ => Hell,
/ganz.(aus|ab)/ => aus,
/farbwechsel/ => Farbwechsel,
/rot|grün|blau/ =>"$3",
true => Weiß, false => auto}

Das funktioniert auch wirklich sehr gut.

Was mir nun aber aufgefallen ist, "wieder" klappt da nicht so richtig.
Beispielsatz: "Mach das Badlicht hell und in 5 Minuten wieder aus" bewirkt, dass das Badlicht auf hell gestellt wird, das generierte AT aber auch "Badlicht hell" beinhaltet und nicht das angegebene aus. Das heißt, der Wieder-Befehl wird nicht richtig ausgewertet.

Nehme ich die Zeile /rot|grün|blau/ =>"$3" raus klappt es so wie es soll.

Habe bei mir nun alles so umgebaut, dass kein =>"$3" mehr enthalten ist.


Aber ich kann nur nochmal sagen, ich bin echt begeistert wie einfach man mit diesem Modul normale Sätze in Befehle umwandeln kann.

Muss mich nun nur mal damit beschäftigen, wie ich es hinbekomme, dass dauerhaft ein Wandtablet zuhört, aber erst nach einem Triggerwort den Satz zu Google schickt. Möchte nicht, dass Google alle Gespräche mitbekommt.
Bis jetzt teste ich über die Texteingabe im Modul oder über ein Tasker-Widget auf dem Handy, um die Spracheingabe zu aktivieren. Aber selbst das manuelle aktivieren der Spracherkennung auf dem Handy ist ein großer Komfortgewinn. "mach in 5 minuten den fernseher aus und in 10 minuten das wohnzimmerlicht aus" - das bekommt man so einfach, schnell und flexibel sonst gar nicht mit FHEM hin  :D

Phill

#228
@Ambercrombie1892
musik in zone (\S+) = set doifdef $1[,cmd_1,cmd_2,cmd_3]
oder
musik in zone (\S+) = set doifdef cmd_$1{numeral=>"$1"}


@swsmily
Danke für die Rückmeldungen und die netten Worte. Da hast du mich an was erinnert. Die "wieder"-Analyse geht davon aus, dass die höchste verwendete Klammer die des Zustandes darstellt. Bedeutet wenn du die Farben-Klammer an den Anfang stellt funktioniert es.  Das hatte ich so gemacht weil es eigentlich immer die letzte Klammer war (bevor es && gab) die den Zustand beschreibt. Dadurch wollte ich vermeiden jede Konfigzeile seperat die Zustandsklammer zu deklarieren. Das sollte unbedingt besser kommuniziert werden.

Gruß...
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

wenn ich deine def so eingebe für die zonensteuerung, dann schaltet er aber immer die musiksteuerung bei mir.

Internals:
   DEF        Fernseher\S* (\S+) = set Nvidia $1{true=>on, false=>off}
?(@rooms) && Musik\b = set StandbyRF $1[@RFStandby]
?(@rooms) && leise\b = set Raumfeld_$1[@RF] volume $1[50,13,13,empty,50]
?(@rooms) && normale lautstärke =  set Raumfeld_$1[@RF] volume $1[65,30,30,empty,65]
?(@rooms) && laut\b = set Raumfeld_$1[@RF] volume $1[90,45,45,empty,90]
?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)  =
{ fhem("set Raumfeld_WZ volume ".(ReadingsVal("Raumfeld_WZ","volume", 0)$2[+,-]$1[3,5,10,empty,7])) }
licht (\S+ ){0,2}(@rooms) (\S+) = set $2[@lights] $3{ true => on, false => off }
musik && zone (\S+) = set AddtoZone $1[,cmd_1,cmd_2,cmd_3]
weiter|vor$ = set RFweiter cmd_1
zurück|anfang$ = set RFweiter cmd_2
   NAME       talk
   NR         167
   NTFY_ORDER 50-talk
   STATE      Initialized
   TYPE       Talk2Fhem
   READINGS:
     2018-03-06 08:50:23   cmds            set StandbyRF
     2018-03-06 08:46:52   err             No match: 'in zone'
     2018-03-06 08:50:23   origin         
     2018-03-05 21:44:01   response        Please define ({GetHttpFile first
     2018-03-06 08:50:23   set             musik in zone 1
     2018-03-06 08:50:23   status          disabled
   helper:
     LOG        Talk2Fhem Version: 0.5.0
Decoding Text: musik in zone 1
After correction:
musik in zone 1
Command part: 'musik in zone 1'
talk Evaluate search:
musik in zone 1 =~ /Fernseher\S* (\S+)/i
talk Evaluate search:
musik in zone 1 =~ /?(@rooms) && Musik\b/i
Keylists: $VAR1 = undef;
$VAR2 = 'rooms';

Filled lists: $VAR1 = '(wohnzimmer|badS*|k\\S\\S?che|haus|\\S\\S?berall|wohnung|toilette|wc|schlafzimmer|kinderzimmer|babyzimmer|flur|balkon|ambilight)';
$VAR2 = 'Musik\\b';

Words: $VAR1 = '';
$VAR2 = undef;

Match:
Unmatch: musik in zone 1
Hit with phrase: qr/?(@rooms) && Musik\b/i
Handle reaction cmd: set StandbyRF $1[@RFStandby]
Advanced bracket replacement. $1@RFStandby = set StandbyRF ###
Adding modlist: "cmd_1","cmd_3","cmd_2"
Keyword (1): '$VAR1 = undef;
'
ARRAY evaluation: else:  empty:
array: cmd_1 cmd_3 cmd_2
Empty word replace with!
Result of cmd: $VAR1 = {
          'cmd' => 'set StandbyRF '
        };

Executing Command: set StandbyRF
Pushed: set StandbyRF

     T2F_andwordlist:
     T2F_keywordlist:
       Multiroom:
         Zone1
         Zone2
         Zone3
       rooms:
         wohnzimmer
         badS*
         küche
         haus|überall|wohnung
         toilette|wc
         schlafzimmer
         kinderzimmer
         babyzimmer
         flur
         balkon
         ambilight
     T2F_modwordlist:
       AddToZone:
         cmd_1
         cmd_2
         cmd_3
       RF:
         WZ
         Badezimmer
         Kueche
         empty
         WZ
       RFPlaylist:
         cmd_1
         cmd_3
         cmd_2
       RFStandby:
         cmd_1
         cmd_3
         cmd_2
       lights:
         Lampen_Wohnzimmer
         Lampen_Badezimmer
         Lampen_Kueche
         Lampen_Wohnung
         Lampen_Gästebad
         Lampen_Schlafzimmer
         Lampen_Kinderzimmer
         Lampen_Babyzimmer
         Flurschalter
         Balkon_LED
         Ambilight
     if:
     notifiers:
     phrase:
       HASH(0x33e4798)
       HASH(0x3325240)
       HASH(0x34cc4e8)
       HASH(0x2c55570)
       HASH(0x2e2de88)
       HASH(0x34cca60)
       HASH(0x2e27d08)
       HASH(0x33e2c48)
       HASH(0x3411980)
       HASH(0x3655af8)
Attributes:
   T2F_keywordlist rooms = wohnzimmer,bad\S*,küche,haus|überall|wohnung,toilette|wc,schlafzimmer,kinderzimmer,babyzimmer,
flur,balkon,ambilight
Multiroom = Zone1,Zone2,Zone3
   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
RF = WZ,Badezimmer,Kueche,empty,WZ
RFPlaylist = cmd_1,cmd_3,cmd_2
RFStandby = cmd_1,cmd_3,cmd_2
AddToZone = cmd_1,cmd_2,cmd_3
   disable    1
   room       Sprachsteuerung
   userReadings 1

Phill

Du könntest der Zeile ein&& !zone hinzufügen oder die Zeile in der Reihenfolge dahinter einreihen. Aber unbedingt updaten heute...
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

Phill

#231
So, meine Tests der neuen Version sind abgeschlossen und das Wiki ist bezüglich der neuen Funktionalität der Objektverundung aktualisiert.
Das bedeutet ihr könnt jetzt Räume, Gegenstände oder was auch immer in den Sätzen aufzählen. Dazu muss im Attribut der Keywords der Liste ein "&" vorangestellt werden dessen Wörter man verunden können möchte. Wenn man noch keine Keywordlisten angelegt hat nimmt man einfach die aus dem Wiki. Damit wird dem Modul mitgeteilt welche Wörter es bei der Verundungsinterpretation beachten soll. 
Mehr ist nicht zu tun um Objektverundung zu erhalten.
ZitatMach den Rollladen im Wohnzimmer, im Esszimmer und in der Küche rauf
oder
Mach den Fernseher, die Soundbar und das licht an
oder sogar
mach das licht und die musik im wohnzimmer und die heizung im bad an

Gruß
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

ich bin einfach nur begeistert. die objektverundung läuft wirklich richtig gut und ist dabei so easy  ;D

hatte meine zoneneinstellung daraufhin nun komplett abgeändert und kann das ganze nun ganz einfach über spiele musik in wohnzimmer und küche zb. starten.

jetzt werd ich mich mal stück für stück an die lampen herantasten

swsmily

Hallo!

ich bin gerade dabei mal ein paar Antworten mit rein zu bringen.
Bei fest eingestellten Befehlen wie
tu was = ( cmd => "set Device on" , answer => ("Erledigt") )
kein Problem.

Aber wie bekomme ich es bei den "dynamischen" Steuerungen hin. Am besten wäre bei on die Antwort "ok, habs angeschaltet", bei off "ok, ist aus". Reichen würde auch nur ein "OK".
Ist es bei dem Code möglich, Answer mit anzugeben, oder klappt das da nicht? Alternative wäre das Reading cmds mit einem DOIF zu überwachen und daraus dann die Antwort generieren zu lassen.


(Deko\S*) && (.*) =
set Dekolicht $2{
true => on, false => off}

Abercrombie1892

ich hab jetzt mal kurz getestet mit den farben verstellen, aber so wirklich seh ich da noch nicht durch  :-\

T2F_types_color Lampe,Licht
T2F_types_switch Lampe,Licht wird in die keywordlist geschrieben?

einzelne lampen schalten will ich garnicht, mir reicht es wenn ich die räume schalten, dimmen und farben ändern kann. lampen sind die philips hue.
spezielle farbkombinationen kann ich ja über Lightszene setzen.

hab jetzt bei modewordlist die rgb zugefügt, nun ist aber fhem komplett verschoben und ich muss ewig hin und her scrolen. weiss jetzt nicht ob das was mit fhem2talk zutun hat oder ein generelles problem bei fhem?

Internals:
   DEF        Fernseher\S* (\S+) = set Nvidia $1{true=>on, false=>off}
?(@rooms) && Musik\b = set StandbyRF $1[@RFStandby]
?(@rooms) && leise\b = set Raumfeld_$1[@RF] volume $1[50,13,13,empty,50]
?(@rooms) && normale lautstärke =  set Raumfeld_$1[@RF] volume $1[65,30,30,empty,65]
?(@rooms) && laut\b = set Raumfeld_$1[@RF] volume $1[90,45,45,empty,90]
?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)  =
{ fhem("set Raumfeld_WZ volume ".(ReadingsVal("Raumfeld_WZ","volume", 0)$2[+,-]$1[3,5,10,empty,7])) }
licht (\S+ ){0,2}(@rooms) (\S+) = set $2[@lights] $3{ true => on, false => off }
zone = set AddtoZone $1[,cmd_1,cmd_2,cmd_3]
weiter|vor$ = set RFweiter cmd_1
zurück|anfang$ = set RFweiter cmd_2

   NAME       talk
   NR         165
   NTFY_ORDER 50-talk
   STATE      Ready
   TYPE       Talk2Fhem
   READINGS:
     2018-03-07 12:40:00   cmds            set Lampen_Wohnzimmer off
     2018-03-07 12:38:03   err             Error in answer eval: "Ich schalte folgende Geräte auf Gr\S\S?n: ".T2F_answer("T2F_types_color=.*Lampe.*:FILTER=T2F_rooms=.*wohnzimmer.*:FILTER=T2F_places=.*Couch.*","T2F_types_color")
     2018-03-07 12:40:00   origin         
     2018-03-07 10:30:50   response        syntax error at (eval 15594) line 1, near ")7"

     2018-03-07 12:40:00   set             . schalte das Licht im Wohnzimmer aus
     2018-03-07 12:40:00   status          done
   helper:
     LOG        Talk2Fhem Version: 0.5.1
Decoding Text: . schalte das Licht im Wohnzimmer aus
After correction:
  schalte das Licht im Wohnzimmer aus
Command part: '  schalte das Licht im Wohnzimmer aus'
Command left: 'schalte das Licht im Wohnzimmer aus'
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /Fernseher\S* (\S+)/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /?(@rooms) && Musik\b/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /?(@rooms) && leise\b/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /?(@rooms) && normale lautstärke/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /?(@rooms) && laut\b/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /?(@rooms) && (ein wenig|etwas|viel)? ?(lauter|leiser)/i
talk Evaluate search:
schalte das Licht im Wohnzimmer aus =~ /licht (\S+ ){0,2}(@rooms) (\S+)/i
Keylists: $VAR1 = undef;
$VAR2 = undef;
$VAR3 = 'rooms';

Filled lists: $VAR1 = 'licht (\\S+ ){0,2}(wohnzimmer|badS*|k\\S\\S?che|haus|\\S\\S?berall|wohnung|toilette|wc|schlafzimmer|kinderzimmer|babyzimmer|flur|balkon|ambilight) (\\S+)';

Words: $VAR1 = '';
$VAR2 = 'im ';
$VAR3 = 'Wohnzimmer';
$VAR4 = 'aus';

Match: Licht im Wohnzimmer aus
Unmatch: schalte das
Hit with phrase: qr/licht (\S+ ){0,2}(@rooms) (\S+)/i
Handle reaction cmd: set $2[@lights] $3{ true => on, false => off }
Advanced bracket replacement. $3 true => on, false => off  = set $2[@lights] ###
Keyword (3): 'aus'
HASH evaluation:
$VAR1 = {
          'false' => {
                       'val' => 'off',
                       'order' => 1
                     },
          'true' => {
                      'order' => 0,
                      'val' => 'on'
                    }
        };

Word found (false): 'aus' replace with 'off'
Advanced bracket replacement. $2@lights = set ### off
Adding modlist: "Lampen_Wohnzimmer","Lampen_Badezimmer","Lampen_Kueche","Lampen_Wohnung","Lampen_G\S\S?stebad","Lampen_Schlafzimmer","Lampen_Kinderzimmer","Lampen_Babyzimmer","Flurschalter","Balkon_LED","Ambilight"
Keyword (2): 'Wohnzimmer'
ARRAY evaluation: else:  empty:
array: Lampen_Wohnzimmer Lampen_Badezimmer Lampen_Kueche Lampen_Wohnung Lampen_GSS?stebad Lampen_Schlafzimmer Lampen_Kinderzimmer Lampen_Babyzimmer Flurschalter Balkon_LED Ambilight
Numeral word found. 'Wohnzimmer' converted to; Wohnzimmer
Searching position of 'Wohnzimmer' in 'wohnzimmer badS* k\S\S?che haus|\S\S?berall|wohnung toilette|wc schlafzimmer kinderzimmer babyzimmer flur balkon ambilight'
Found 'Wohnzimmer' at position 0
Result of cmd: $VAR1 = {
          'cmd' => 'set Lampen_Wohnzimmer off'
        };

Executing Command: set Lampen_Wohnzimmer off
Pushed: set Lampen_Wohnzimmer off

     T2F_andwordlist:
       &rooms:
         wohnzimmer
         badS*
         küche
         haus|überall|wohnung
         toilette|wc
         schlafzimmer
         kinderzimmer
         babyzimmer
         flur
         balkon
         ambilight
     T2F_keywordlist:
       colors:
         Aus
         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
       places:
         Decke
         Couch
         Sofa
       rooms:
         wohnzimmer
         badS*
         küche
         haus|überall|wohnung
         toilette|wc
         schlafzimmer
         kinderzimmer
         babyzimmer
         flur
         balkon
         ambilight
       types_color:
         Lampe
         Licht
       types_switch:
         Lampe
         Licht
     T2F_modwordlist:
       RF:
         WZ
         Badezimmer
         Kueche
         empty
         WZ
       RFPlaylist:
         cmd_1
         cmd_3
         cmd_2
       RFStandby:
         cmd_1
         cmd_3
         cmd_2
       lights:
         Lampen_Wohnzimmer
         Lampen_Badezimmer
         Lampen_Kueche
         Lampen_Wohnung
         Lampen_Gästebad
         Lampen_Schlafzimmer
         Lampen_Kinderzimmer
         Lampen_Babyzimmer
         Flurschalter
         Balkon_LED
         Ambilight
       rgb:
         000000
         000000
         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(0x2f35b50)
       HASH(0x4b5fe08)
       HASH(0x4986be8)
       HASH(0x4855df0)
       HASH(0x4931b30)
       HASH(0x4bd75e0)
       HASH(0x4b54998)
       HASH(0x498de90)
       HASH(0x4a0f8f8)
       HASH(0x4ae9b70)
Attributes:
   T2F_keywordlist &rooms = wohnzimmer,bad\S*,küche,haus|überall|wohnung,toilette|wc,schlafzimmer,kinderzimmer,babyzimmer,
flur,balkon,ambilight
colors = Aus, 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
types_color = Lampe,Licht
places = Decke,Couch,Sofa
types_switch = Lampe,Licht
   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
RF = WZ,Badezimmer,Kueche,empty,WZ
RFPlaylist = cmd_1,cmd_3,cmd_2
RFStandby = cmd_1,cmd_3,cmd_2
rgb = 000000, 000000, 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

Phill

@swsmilyAlso die Sinnhaftigkeit von einer Rückmeldung bezüglich des Lichtschaltens ist mir völligst unklar, immerhin sieht man ja ob das Licht an gegangen ist oder aus. Mich persönlich nerft sogar zu viel gerede. Ein OK ist absolut ausreichend.

Bezüglich der erweiterten Befehle gibt es keine Beschränkung.

(Deko\S*) && (.*) = (
  cmd  => "set Dekolicht $2{ true => on, false => off }",
  answer =>  ("OK") )


Bei Dingen die kein offensichtliches Feedback erzeugen oder wo sogar getoggelt wird, macht es sicherlich Sinn eine Zustandsabhängige Antwort zu geben.
Das würde ich dann so lösen.
(Deko\S*) && (.*) =
set Dekolicht $2{ true => on, false => off};
        defmod atdekofb at +00:00:01 IF ([Dekolicht] eq "on") (set tts speak "Jo is an") ELSE (set tts speak "Ist aus.")


Oder soll die Antwort abhängig vom Erfolg des Befehls sein? Aber wenn der Befehl nicht ausgeführt wird stimmt eigentlich irgendwas anderes nicht und man sollte sich darum kümmern das es schaltet wenn es soll. Egal könnte so aussehen.  ;D
(Deko\S*) && (.*) =
set Dekolicht $2{ true => on, false => off};
        defmod atdekofb at +00:00:01 { fhem('set tts speak "'.((Value($dev) ne "$2{ true => on, false => off}")?"Das hat nicht geklappt.":"OK").'"')  }

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

Phill

Zitatnun ist aber fhem komplett verschoben und ich muss ewig hin und her scrolen.
Was meinst du damit? Verschoben?
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

swsmily

Zitat von: Phill am 07 März 2018, 13:01:39
@swsmilyAlso die Sinnhaftigkeit von einer Rückmeldung bezüglich des Lichtschaltens ist mir völligst unklar, immerhin sieht man ja ob das Licht an gegangen ist oder aus. Mich persönlich nerft sogar zu viel gerede. Ein OK ist absolut ausreichend.
Ja da hast du recht, bei Licht schalten ist eine Rückmeldung überflüssig. Das mit Dekolicht, war auch nur ein Beispiel (weil das kürzeste). Weitere Teile haben eben mehrere Befehle, wollte hier nur ein kurzes Beispiel bringen.
Zitat
Bezüglich der erweiterten Befehle gibt es keine Beschränkung.

(Deko\S*) && (.*) = (
  cmd  => "set Dekolicht $2{ true => on, false => off }",
  answer =>  ("OK") )

Ach ja, manchmal ist man der Lösung so nah und doch so fern. Mir haben nur die Anführungszeichen um den set Befehl gefehlt.... Danke!

Zitat
Bei Dingen die kein offensichtliches Feedback erzeugen oder wo sogar getoggelt wird, macht es sicherlich Sinn eine Zustandsabhängige Antwort zu geben.
Das würde ich dann so lösen.
(Deko\S*) && (.*) =
set Dekolicht $2{ true => on, false => off};
        defmod atdekofb at +00:00:01 IF ([Dekolicht] eq "on") (set tts speak "Jo is an") ELSE (set tts speak "Ist aus.")


Ok, mit at - das ist eine Möglichkeit - werde ich mal testen. Danke!

Abercrombie1892

Zitat von: Phill am 07 März 2018, 13:06:30
Was meinst du damit? Verschoben?

ich hoffe du weisst was ich jetzt meine? die übersicht ist halt nicht mehr schön kompakt.


swsmily

Mir ist gerade aufgefallen, seit dem Update gestern hab ich obwohl Verbose auf 0 immer wieder solche Einträge im Logfile:
2018.03.06 18:40:27.663 1: \b(([ai][nm]|beim?|auf|unter|hinter|über|vo[rnm]) )?((de[rmns]|die|das) )?()\b

oder auch:
2018.03.07 14:11:10.882 1: \b(([ai][nm]|beim?|auf|unter|hinter|über|vo[rnm]) )?((de[rmns]|die|das) )?(Bad\S*|Flur\S*|Schlafzimmer\S*|Küche\S*)\b
2018.03.07 14:11:10.882 1: Bad\S*|Flur\S*|Schlafzimmer\S*|Küche\S*


Diese kommen jedesmal sobald Talk2Fhem genutzt wird - selbst wenn keines der angegeben Räume gerade angesprochen wird. Also selbst der Befehl "tu was", der nur "set test on" schaltet, bewirkt, dass diese Zeilen im Log auftauchen.