Unterstützung bei Talk2Fhem fahre die rollade klein, die rollade groß im wohn...

Begonnen von ahlermi, 29 Oktober 2018, 15:31:08

Vorheriges Thema - Nächstes Thema

ahlermi

Ich habs versucht und auch der Satz im Wiki:
ZitatDamit die Verknüpfung zweier Kommandos mit dem Wort wieder zuverlässig funktioniert, sollte die Klammer die den gewünschten Zustand beschreibt die letzte verwendete sein.
Hilft mir leider nicht so richtig.
Habt ihr noch eine Idee?

Zitat
fahre die rollade klein, die rollade groß im wohnzimmer 5 prozent tiefer


#Rolladen verändern
?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser)) =
  (cmd=>{fhem("define at_talk_rollade_$3_$4 at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.* $7[up,down,volumeUp,volumeDown] $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]}")},
   answer=>'(( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.*","T2F_types_blind")')


Zitat

2018.10.29 15:20:07 5: Talk2Fhem Version: 0.5.3
2018.10.29 15:20:07 3: Decoding Text: fahre die rollade klein, die rollade groß im wohnzimmer 5 prozent tiefer
2018.10.29 15:20:07 5: Using User Filter: \bbitte\b,\bauch\b,\bkann\b,\bsoll\b
2018.10.29 15:20:07 4: After correction:
fahre die rollade klein  die rollade groß im wohnzimmer 5 prozent tiefer
2018.10.29 15:20:07 4: Command part: 'fahre die rollade klein  die rollade groß im wohnzimmer 5 prozent tiefer'
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*telefon.*?klingel/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*anruft/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*zuhause/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*alarm.*/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*fenster.*/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*tür.*/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*dunkel.*/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*hell.*/i
2018.10.29 15:20:07 4: Command left: 'fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer'
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /timer && (lösche|zurück)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /ereignis\S* && (lösche|zurück)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /garage\S* (auf|zu)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /robbi\S* (an|ein|aus)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_color) && ?(@rooms) && ?(@places) && auf (@colors)( schalten| stellen)?$/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@heos_channels)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@denon_inputs)/i
2018.10.29 15:20:07 5: talk Evaluate search:
fahre die rollade klein die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))/i
2018.10.29 15:20:07 5: Command after Phrasecheck: fahre die die groß im
2018.10.29 15:20:07 5: Keylists: $VAR1 = undef;
$VAR2 = undef;
$VAR3 = 'types_blind';
$VAR4 = 'rooms';
$VAR5 = 'properties';

2018.10.29 15:20:07 5: Filled lists: $VAR1 = '(bitte)';
$VAR2 = '(Rollade|Rollos|Lautstärke|Lüfter|Musik)';
$VAR3 = '(Haus|überall|Wohnung|Wohnzimmer|Wohnbereich|BadS*|Toilette|Wc|Büro|Arbeitszimmer|eg|ErdgeschoSS?|Draußen|Schlafzimmer|Esszimmer|Bastelzimmer|Keller|Alice|Flur|Waschküche|Terasse|Küche)';
$VAR4 = '(hell|dunkel|schwach|klein|groß|doof)';
$VAR5 = '((\\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))';

2018.10.29 15:20:07 5: Words: $VAR1 = '';
$VAR2 = undef;
$VAR3 = 'rollade';
$VAR4 = 'wohnzimmer';
$VAR5 = 'klein';
$VAR6 = '5 prozent';
$VAR7 = '5';
$VAR8 = 'tiefer';
$VAR9 = undef;
$VAR10 = 'tiefer';
$VAR11 = undef;
$VAR12 = undef;

2018.10.29 15:20:07 5: Match: rolladewohnzimmerklein5 prozent tiefer
2018.10.29 15:20:07 5: Unmatch: fahre die die groß im
2018.10.29 15:20:07 4: Hit with phrase: qr/?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))/i
2018.10.29 15:20:07 5: Handle reaction cmd: {fhem("define at_talk_rollade_$3_$4 at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.* $7[up,down,volumeUp,volumeDown] $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]}")}
2018.10.29 15:20:07 5: Simple bracket selection (No. 2) with Keyword 0: 'Rollade'
2018.10.29 15:20:07 5: Simple bracket selection (No. 3) with Keyword 1: 'Wohnzimmer|Wohnbereich'
2018.10.29 15:20:07 5: Simple bracket selection (No. 4) with Keyword 3: 'klein'
2018.10.29 15:20:07 5: Simple bracket selection (No. 3): 'wohnzimmer'
2018.10.29 15:20:07 5: Simple bracket selection (No. 4): 'klein'
2018.10.29 15:20:07 5: Simple bracket selection (No. 6): '5'
2018.10.29 15:20:07 4: Replaced bracket: {fhem("define at_talk_rollade_$3_$4 at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.* $7[up,down,volumeUp,volumeDown] $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]}")} -> {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]}")}
2018.10.29 15:20:07 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>###}")}
2018.10.29 15:20:07 4: Keyword (5): '5 prozent'
2018.10.29 15:20:07 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.29 15:20:07 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.29 15:20:07 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.29 15:20:07 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.29 15:20:07 1: ARRAY Replacement Failed! {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>###}")}
2018.10.29 15:20:07 4: Advanced bracket replacement. $6integer=>5, empty=>### = {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* $7[up,down,volumeUp,volumeDown] ###")}
2018.10.29 15:20:07 4: Keyword (6): '5'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'integer' => {
                         'order' => 0,
                         'val' => '5'
                       },
          'empty' => {
                       'val' => '###',
                       'order' => 1
                     }
        };

2018.10.29 15:20:07 5: Word found (integer): '5' replace with '5'
2018.10.29 15:20:07 4: Advanced bracket replacement. $7up,down,volumeUp,volumeDown = {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* ### 5")}
2018.10.29 15:20:07 4: Keyword (7): 'tiefer'
2018.10.29 15:20:07 5: ARRAY evaluation: else:  empty:
array: up down volumeUp volumeDown
2018.10.29 15:20:07 5: Numeral word found. 'tiefer' converted to; tiefer
2018.10.29 15:20:07 5: Clipnumber 7 is no array! Try to extract by seperator '|'
2018.10.29 15:20:07 4: Searching position of 'tiefer' in '(höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf) (niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer) (lauter) (leiser)'
2018.10.29 15:20:07 5: Found 'tiefer' at position 1
2018.10.29 15:20:07 4: Advanced bracket replacement. $2empty=>.+, else=>Rollade = {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*###.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* down 5")}
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'empty' => {
                       'order' => 0,
                       'val' => '.+'
                     },
          'else' => {
                      'val' => 'Rollade',
                      'order' => 1
                    }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'Rollade'
2018.10.29 15:20:07 3: Result of cmd: $VAR1 = {
          'cmd' => '{fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* down 5")}'
        };

2018.10.29 15:20:07 5: Handle reaction answer: (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.*","T2F_types_blind")
2018.10.29 15:20:07 5: Simple bracket selection (No. 2) with Keyword 0: 'Rollade'
2018.10.29 15:20:07 5: Simple bracket selection (No. 3) with Keyword 1: 'Wohnzimmer|Wohnbereich'
2018.10.29 15:20:07 5: Simple bracket selection (No. 4) with Keyword 3: 'klein'
2018.10.29 15:20:07 5: Simple bracket selection (No. 2): 'rollade'
2018.10.29 15:20:07 5: Simple bracket selection (No. 6): '5'
2018.10.29 15:20:07 5: Simple bracket selection (No. 2): 'rollade'
2018.10.29 15:20:07 5: Simple bracket selection (No. 6): '5'
2018.10.29 15:20:07 4: Replaced bracket: (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.*","T2F_types_blind") -> (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Advanced bracket replacement. $2empty=>.+, else=>Rollade = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*###.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'empty' => {
                       'order' => 0,
                       'val' => '.+'
                     },
          'else' => {
                      'val' => 'Rollade',
                      'order' => 1
                    }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'Rollade'
2018.10.29 15:20:07 4: Advanced bracket replacement. $2/Lautstärke/=>leiser, else=>runter = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} ###: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          '/Lautstärke/' => {
                               'order' => 0,
                               'val' => 'leiser'
                             },
          'else' => {
                      'order' => 1,
                      'val' => 'runter'
                    }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'runter'
2018.10.29 15:20:07 4: Advanced bracket replacement. $2/Lautstärke/=>Prozent, else=>Prozent = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} ### runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          '/Lautstärke/' => {
                               'order' => 0,
                               'val' => 'Prozent'
                             },
          'else' => {
                      'val' => 'Prozent',
                      'order' => 1
                    }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'Prozent'
2018.10.29 15:20:07 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (5): '5 prozent'
2018.10.29 15:20:07 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.29 15:20:07 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.29 15:20:07 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.29 15:20:07 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.29 15:20:07 1: ARRAY Replacement Failed! (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Advanced bracket replacement. $6integer=>5, empty=>### = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  ### Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (6): '5'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'empty' => {
                       'order' => 1,
                       'val' => '###'
                     },
          'integer' => {
                         'order' => 0,
                         'val' => '5'
                       }
        };

2018.10.29 15:20:07 5: Word found (integer): '5' replace with '5'
2018.10.29 15:20:07 4: Advanced bracket replacement. $1/bitte/=>Gern\, = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "### ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (1): ''
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          '/bitte/' => {
                         'val' => 'Gern,',
                         'order' => 0
                       }
        };

2018.10.29 15:20:07 5: Empty word replace with ''
2018.10.29 15:20:07 4: Advanced bracket replacement. $2/Lautstärke/=>lauter, else=>rauf = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} ###: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'order' => 1,
                      'val' => 'rauf'
                    },
          '/Lautstärke/' => {
                               'val' => 'lauter',
                               'order' => 0
                             }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'rauf'
2018.10.29 15:20:07 4: Advanced bracket replacement. $2/Lautstärke/=>Prozent, else=>Prozent = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} ### rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (2): 'rollade'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'val' => 'Prozent',
                      'order' => 1
                    },
          '/Lautstärke/' => {
                               'val' => 'Prozent',
                               'order' => 0
                             }
        };

2018.10.29 15:20:07 5: Unkown word 'rollade' replace with 'Prozent'
2018.10.29 15:20:07 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (5): '5 prozent'
2018.10.29 15:20:07 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.29 15:20:07 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.29 15:20:07 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.29 15:20:07 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.29 15:20:07 1: ARRAY Replacement Failed! (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Advanced bracket replacement. $6integer=>5, empty=>### = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  ### Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (6): '5'
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          'integer' => {
                         'val' => '5',
                         'order' => 0
                       },
          'empty' => {
                       'order' => 1,
                       'val' => '###'
                     }
        };

2018.10.29 15:20:07 5: Word found (integer): '5' replace with '5'
2018.10.29 15:20:07 4: Advanced bracket replacement. $1/bitte/=>Gern\, = (( "$7[up,down,up,down]" eq "up") ? "### ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (1): ''
2018.10.29 15:20:07 5: HASH evaluation:
$VAR1 = {
          '/bitte/' => {
                         'order' => 0,
                         'val' => 'Gern,'
                       }
        };

2018.10.29 15:20:07 5: Empty word replace with ''
2018.10.29 15:20:07 4: Advanced bracket replacement. $7up,down,up,down = (( "###" eq "up") ? " ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:07 4: Keyword (7): 'tiefer'
2018.10.29 15:20:07 5: ARRAY evaluation: else:  empty:
array: up down up down
2018.10.29 15:20:07 5: Numeral word found. 'tiefer' converted to; tiefer
2018.10.29 15:20:07 5: Clipnumber 7 is no array! Try to extract by seperator '|'
2018.10.29 15:20:07 4: Searching position of 'tiefer' in '(höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf) (niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer) (lauter) (leiser)'
2018.10.29 15:20:07 5: Found 'tiefer' at position 1
2018.10.29 15:20:07 4: Answer eval: (( "down" eq "up") ? " ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*","T2F_types_blind")
2018.10.29 15:20:08 3: T2F_answer Filter: T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.*Type: T2F_types_blind
2018.10.29 15:20:08 3: Result of answer: $VAR1 = ' ich fahre die rollade in folgenden Räumen  5 Prozent runter: Rollade klein im Wohnzimmer  ';

2018.10.29 15:20:08 5: Executing Command: {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* down 5")}
2018.10.29 15:20:08 5: Pushed: {fhem("define at_talk_rollade_wohnzimmer_klein at +00:00:01 set T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*klein.* down 5")}
2018.10.29 15:20:08 3: ich nicht gesetzt
2018.10.29 15:20:09 3: CUL_HM set HM_54640B down 5
2018.10.29 15:20:09 3: HM_54640B(Rollade Wohnzimmer Garten) Level: 85
2018.10.29 15:20:13 3: HM_54640B(Rollade Wohnzimmer Garten) Level: 80
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Phill

Schnellschuss vorab. Fehlt da ein und wo das Komma steht? Damit eine verundung erkannt wird braucht es mindestens ein und.
Rolladen klein und Rolladen gross...
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

ahlermi

Zitat
answers
   
ich fahre die rollade in folgenden Räumen 5 Prozent runter: Rollade groß im Wohnzimmer
   
2018-10-30 11:00:23
cmds
   
   
2018-10-30 11:00:23
err
   
No match: 'fahre die rollade klein'
   
2018-10-30 11:00:23
origin
   
   
2018-10-30 11:00:23
set
   
fahre die rollade klein und die rollade groß im wohnzimmer 5 prozent tiefer
   
2018-10-30 11:00:23
status
   
err

Zitat
2018.10.30 11:00:23 5: Talk2Fhem Version: 0.5.3
2018.10.30 11:00:23 3: Decoding Text: fahre die rollade klein und die rollade groß im wohnzimmer 5 prozent tiefer
2018.10.30 11:00:23 5: Using User Filter: \bbitte\b,\bauch\b,\bkann\b,\bsoll\b
2018.10.30 11:00:23 4: After correction:
fahre die rollade klein
die rollade groß im wohnzimmer 5 prozent tiefer
2018.10.30 11:00:23 4: Command part: 'fahre die rollade klein'
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*telefon.*?klingel/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*anruft/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*zuhause/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*alarm.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*fenster.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*tür.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*dunkel.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /wenn .*hell.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /timer && (lösche|zurück)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /ereignis\S* && (lösche|zurück)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /garage\S* (auf|zu)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /robbi\S* (an|ein|aus)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_color) && ?(@rooms) && ?(@places) && auf (@colors)( schalten| stellen)?$/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@heos_channels)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@denon_inputs)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && (auf (\d+) (?:prozent|%|db)|(\S+$))( stellen| setzen| einstellen| ein)?$/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && ?(@properties) && (@types_switch) && ?(@rooms) && ?(@places) && (\S+)(schalten|machen)?$/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && ?(@types_heos) && ?(@rooms) && ?(@places) && (@heos_commands)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /(bescheid|informire mich|benachrichtige mich)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /?(bitte) && (@types_heating) && ?(@rooms) && (auf (\d+)(?: )(\d+)){0,1} (grad|auto\S*)( stellen| setzen| einstellen| ein)?$/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /Wie && ?(@properties) && (@types_info) && ?(@rooms) && ?(@places)/i
2018.10.30 11:00:23 5: talk Evaluate search:
fahre die rollade klein =~ /(zustand|status)( \S+)* (\S+)/i
2018.10.30 11:00:23 1: No match: 'fahre die rollade klein'
2018.10.30 11:00:23 4: Command part: 'die rollade groß im wohnzimmer 5 prozent tiefer'
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*telefon.*?klingel/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*anruft/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*zuhause/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*alarm.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*fenster.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*tür.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*dunkel.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /wenn .*hell.*/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /timer && (lösche|zurück)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /ereignis\S* && (lösche|zurück)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /garage\S* (auf|zu)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /robbi\S* (an|ein|aus)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_color) && ?(@rooms) && ?(@places) && auf (@colors)( schalten| stellen)?$/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@heos_channels)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_heos) && ?(@rooms) && ?(@places) && (@denon_inputs)/i
2018.10.30 11:00:23 5: talk Evaluate search:
die rollade groß im wohnzimmer 5 prozent tiefer =~ /?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))/i
2018.10.30 11:00:23 5: Command after Phrasecheck: die im
2018.10.30 11:00:23 5: Keylists: $VAR1 = undef;
$VAR2 = undef;
$VAR3 = 'types_blind';
$VAR4 = 'rooms';
$VAR5 = 'properties';

2018.10.30 11:00:23 5: Filled lists: $VAR1 = '(bitte)';
$VAR2 = '(Rollade|Rollos|Lautstärke|Lüfter|Musik)';
$VAR3 = '(Haus|überall|Wohnung|Wohnzimmer|Wohnbereich|BadS*|Toilette|Wc|Büro|Arbeitszimmer|eg|ErdgeschoSS?|Draußen|Schlafzimmer|Esszimmer|Bastelzimmer|Keller|Alice|Flur|Waschküche|Terasse|Küche)';
$VAR4 = '(hell|dunkel|schwach|klein|groß|doof)';
$VAR5 = '((\\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))';

2018.10.30 11:00:23 5: Words: $VAR1 = '';
$VAR2 = undef;
$VAR3 = 'rollade';
$VAR4 = 'wohnzimmer';
$VAR5 = 'groß';
$VAR6 = '5 prozent';
$VAR7 = '5';
$VAR8 = 'tiefer';
$VAR9 = undef;
$VAR10 = 'tiefer';
$VAR11 = undef;
$VAR12 = undef;

2018.10.30 11:00:23 5: Match: rolladewohnzimmergroß5 prozent tiefer
2018.10.30 11:00:23 5: Unmatch: die im
2018.10.30 11:00:23 4: Hit with phrase: qr/?(bitte) && (@types_blind) && ?(@rooms) && ?(@properties) && ((\d+) (?:prozent|%|db)|1 wenig|etwas|viel)? ?((höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf)|(niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer)|(lauter)|(leiser))/i
2018.10.30 11:00:23 5: Handle reaction cmd: {fhem("define at_talk_rollade_$3_$4 at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.* $7[up,down,volumeUp,volumeDown] $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]}")}
2018.10.30 11:00:23 5: Simple bracket selection (No. 2) with Keyword 0: 'Rollade'
2018.10.30 11:00:23 5: Simple bracket selection (No. 3) with Keyword 1: 'Wohnzimmer|Wohnbereich'
2018.10.30 11:00:23 5: Simple bracket selection (No. 4) with Keyword 4: 'groß'
2018.10.30 11:00:23 5: Simple bracket selection (No. 3): 'wohnzimmer'
2018.10.30 11:00:23 5: Simple bracket selection (No. 4): 'groß'
2018.10.30 11:00:23 5: Simple bracket selection (No. 6): '5'
2018.10.30 11:00:23 4: Replaced bracket: {fhem("define at_talk_rollade_$3_$4 at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.* $7[up,down,volumeUp,volumeDown] $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]}")} -> {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]}")}
2018.10.30 11:00:23 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>###}")}
2018.10.30 11:00:23 4: Keyword (5): '5 prozent'
2018.10.30 11:00:23 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.30 11:00:23 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.30 11:00:23 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.30 11:00:23 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.30 11:00:23 1: ARRAY Replacement Failed! {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>###}")}
2018.10.30 11:00:23 4: Advanced bracket replacement. $6integer=>5, empty=>### = {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* $7[up,down,volumeUp,volumeDown] ###")}
2018.10.30 11:00:23 4: Keyword (6): '5'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'empty' => {
                       'val' => '###',
                       'order' => 1
                     },
          'integer' => {
                         'val' => '5',
                         'order' => 0
                       }
        };

2018.10.30 11:00:23 5: Word found (integer): '5' replace with '5'
2018.10.30 11:00:23 4: Advanced bracket replacement. $7up,down,volumeUp,volumeDown = {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* ### 5")}
2018.10.30 11:00:23 4: Keyword (7): 'tiefer'
2018.10.30 11:00:23 5: ARRAY evaluation: else:  empty:
array: up down volumeUp volumeDown
2018.10.30 11:00:23 5: Numeral word found. 'tiefer' converted to; tiefer
2018.10.30 11:00:23 5: Clipnumber 7 is no array! Try to extract by seperator '|'
2018.10.30 11:00:23 4: Searching position of 'tiefer' in '(höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf) (niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer) (lauter) (leiser)'
2018.10.30 11:00:23 5: Found 'tiefer' at position 1
2018.10.30 11:00:23 4: Advanced bracket replacement. $2empty=>.+, else=>Rollade = {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*###.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* down 5")}
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'val' => 'Rollade',
                      'order' => 1
                    },
          'empty' => {
                       'val' => '.+',
                       'order' => 0
                     }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'Rollade'
2018.10.30 11:00:23 3: Result of cmd: $VAR1 = {
          'cmd' => '{fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* down 5")}'
        };

2018.10.30 11:00:23 5: Handle reaction answer: (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.*","T2F_types_blind")
2018.10.30 11:00:23 5: Simple bracket selection (No. 2) with Keyword 0: 'Rollade'
2018.10.30 11:00:23 5: Simple bracket selection (No. 3) with Keyword 1: 'Wohnzimmer|Wohnbereich'
2018.10.30 11:00:23 5: Simple bracket selection (No. 4) with Keyword 4: 'groß'
2018.10.30 11:00:23 5: Simple bracket selection (No. 2): 'rollade'
2018.10.30 11:00:23 5: Simple bracket selection (No. 6): '5'
2018.10.30 11:00:23 5: Simple bracket selection (No. 2): 'rollade'
2018.10.30 11:00:23 5: Simple bracket selection (No. 6): '5'
2018.10.30 11:00:23 4: Replaced bracket: (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die $2 in folgenden Räumen $DATE $6{integer=>$6, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>$2@}.*:FILTER=T2F_rooms=.*($3@).*:FILTER=T2F_properties=.*$4@.*","T2F_types_blind") -> (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Advanced bracket replacement. $2empty=>.+, else=>Rollade = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>leiser, else=>runter}: ").T2F_answer("T2F_types_blind=.*###.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'val' => 'Rollade',
                      'order' => 1
                    },
          'empty' => {
                       'order' => 0,
                       'val' => '.+'
                     }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'Rollade'
2018.10.30 11:00:23 4: Advanced bracket replacement. $2/Lautstärke/=>leiser, else=>runter = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} ###: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'order' => 1,
                      'val' => 'runter'
                    },
          '/Lautstärke/' => {
                               'order' => 0,
                               'val' => 'leiser'
                             }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'runter'
2018.10.30 11:00:23 4: Advanced bracket replacement. $2/Lautstärke/=>Prozent, else=>Prozent = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} ### runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'else' => {
                      'order' => 1,
                      'val' => 'Prozent'
                    },
          '/Lautstärke/' => {
                               'order' => 0,
                               'val' => 'Prozent'
                             }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'Prozent'
2018.10.30 11:00:23 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (5): '5 prozent'
2018.10.30 11:00:23 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.30 11:00:23 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.30 11:00:23 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.30 11:00:23 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.30 11:00:23 1: ARRAY Replacement Failed! (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Advanced bracket replacement. $6integer=>5, empty=>### = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  ### Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (6): '5'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'integer' => {
                         'order' => 0,
                         'val' => '5'
                       },
          'empty' => {
                       'val' => '###',
                       'order' => 1
                     }
        };

2018.10.30 11:00:23 5: Word found (integer): '5' replace with '5'
2018.10.30 11:00:23 4: Advanced bracket replacement. $1/bitte/=>Gern\, = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} $2{/Lautstärke/=>lauter, else=>rauf}: " : "### ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (1): ''
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          '/bitte/' => {
                         'val' => 'Gern,',
                         'order' => 0
                       }
        };

2018.10.30 11:00:23 5: Empty word replace with ''
2018.10.30 11:00:23 4: Advanced bracket replacement. $2/Lautstärke/=>lauter, else=>rauf = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} $2{/Lautstärke/=>Prozent, else=>Prozent} ###: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          '/Lautstärke/' => {
                               'val' => 'lauter',
                               'order' => 0
                             },
          'else' => {
                      'val' => 'rauf',
                      'order' => 1
                    }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'rauf'
2018.10.30 11:00:23 4: Advanced bracket replacement. $2/Lautstärke/=>Prozent, else=>Prozent = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>$5[0,0,3,7,15,empty,7]} ### rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (2): 'rollade'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          '/Lautstärke/' => {
                               'order' => 0,
                               'val' => 'Prozent'
                             },
          'else' => {
                      'val' => 'Prozent',
                      'order' => 1
                    }
        };

2018.10.30 11:00:23 5: Unkown word 'rollade' replace with 'Prozent'
2018.10.30 11:00:23 4: Advanced bracket replacement. $50,0,3,7,15,empty,7 = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (5): '5 prozent'
2018.10.30 11:00:23 5: ARRAY evaluation: else:  empty: 7
array: 0 0 3 7 15
2018.10.30 11:00:23 5: Numeral word found. '5 prozent' converted to; 5 prozent
2018.10.30 11:00:23 5: Clipnumber 5 is no array! Try to extract by seperator '|'
2018.10.30 11:00:23 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.30 11:00:23 1: ARRAY Replacement Failed! (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  $6{integer=>5, empty=>###} Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Advanced bracket replacement. $6integer=>5, empty=>### = (( "$7[up,down,up,down]" eq "up") ? "$1{/bitte/=>Gern\,} ich fahre die rollade in folgenden Räumen  ### Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (6): '5'
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          'integer' => {
                         'val' => '5',
                         'order' => 0
                       },
          'empty' => {
                       'order' => 1,
                       'val' => '###'
                     }
        };

2018.10.30 11:00:23 5: Word found (integer): '5' replace with '5'
2018.10.30 11:00:23 4: Advanced bracket replacement. $1/bitte/=>Gern\, = (( "$7[up,down,up,down]" eq "up") ? "### ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (1): ''
2018.10.30 11:00:23 5: HASH evaluation:
$VAR1 = {
          '/bitte/' => {
                         'order' => 0,
                         'val' => 'Gern,'
                       }
        };

2018.10.30 11:00:23 5: Empty word replace with ''
2018.10.30 11:00:23 4: Advanced bracket replacement. $7up,down,up,down = (( "###" eq "up") ? " ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 4: Keyword (7): 'tiefer'
2018.10.30 11:00:23 5: ARRAY evaluation: else:  empty:
array: up down up down
2018.10.30 11:00:23 5: Numeral word found. 'tiefer' converted to; tiefer
2018.10.30 11:00:23 5: Clipnumber 7 is no array! Try to extract by seperator '|'
2018.10.30 11:00:23 4: Searching position of 'tiefer' in '(höher|größer|weiter auf|weiter hoch|weiter öffnen|erhöhen|weiter rauf) (niedriger|kleiner|weiter zu|weiter runter|weiter schließen|verringern|tiefer) (lauter) (leiser)'
2018.10.30 11:00:23 5: Found 'tiefer' at position 1
2018.10.30 11:00:23 4: Answer eval: (( "down" eq "up") ? " ich fahre die rollade in folgenden Räumen  5 Prozent rauf: " : " ich fahre die rollade in folgenden Räumen  5 Prozent runter: ").T2F_answer("T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*","T2F_types_blind")
2018.10.30 11:00:23 3: T2F_answer Filter: T2F_types_blind=.*Rollade.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.*Type: T2F_types_blind
2018.10.30 11:00:23 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/99_myT2FUtils.pm line 126.
2018.10.30 11:00:23 1: PERL WARNING: Use of uninitialized value within @entries in string ne at ./FHEM/99_myT2FUtils.pm line 132.
2018.10.30 11:00:23 3: Result of answer: $VAR1 = ' ich fahre die rollade in folgenden Räumen  5 Prozent runter: Rollade groß im Wohnzimmer  ';

2018.10.30 11:00:23 1: Nothing to do: fahre die rollade klein und die rollade groß im wohnzimmer 5 prozent tiefer
2018.10.30 11:00:23 3: ich nicht gesetzt
2018.10.30 11:00:23 3: No nicht gesetzt
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Phill

Also:
Am besten erst mal die Loglevel 1-3 anschauen, dann wird man nicht so erschlagen.

Mir ist aufgefallen dass die verundung immer noch nicht richtig erkannt wird. Ist das hier berücksichtigt.
Der Raumkeyliste muss ein "&" vorangestellt werden.

Weiter ist ein Problem hier:
Zitat2018.10.30 11:00:23 4: Searching position of '5 prozent' in '(\d+)  (?:prozent|%|db) 1 wenig etwas viel'
2018.10.30 11:00:23 1: ARRAY Replacement Failed! {fhem("define at_talk_rollade_wohnzimmer_groß at +00:00:01 set T2F_types_blind=.*$2{empty=>.+, else=>Rollade}.*:FILTER=T2F_rooms=.*(Wohnzimmer|Wohnbereich).*:FILTER=T2F_properties=.*groß.* $7[up,down,volumeUp,volumeDown] $6{integer=>5, empty=>###}")}

Und zwar scheint hier wirklich ein Fehler vorzuliegen, da zwischen den zwei Klammern ein Leerzeichen hinzugefügt wird. Warum kann ich jetzt erst mal nicht sagen, ist auch absolut nicht trivial.
Meint Tipp:
Wenn die Klammern zu lang werden und vorallem wenn sie öfters genutzt werden, diese in Keylisten auslagern.
Also T2F_keylist:
mengenrollo = '(\d+) (?:prozent|%|db)?',1 wenig,etwas,viel

Und dann per @mengenrollo ansprechen.  Ist denn das ?: wirklich notwendig? Ist doch ein Fragezeichen rechts von der Klammer.

Es ist auch Sinnvoll zur Fehlersuche die Konfigurationen, zu vereinfachen indem man ein Test Talk2Fhem anlegen. Und darin nur die zu testende Zeile eintragen und zum experimentieren. Das macht es auch nochmal wesentlich übersichtlicher.

Dann bitte, wenn du hier weiter Hilfe bekommen möchtest. Mehr Input liefern. Nicht einfach nur Logs posten. Mitteilen was die Zielsetzung ist, was schon probiert wurde, was geändert wurde...

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

ahlermi

das & ist berücksichtigt.

das  ?: sorgt im regex dafür das die ganze klammer nicht als treffer erkannt wird.

Ich habe gerade 30 minuten versucht das Statement auf mengenrollo = '(\d+) (?:prozent|%|db)?',1 wenig,etwas,viel   umzubauen, aber dann passen reienfolgen nicht mehr etc. habe es gerade erst mal auf Eis gelegt.

Die idee ein eigenes talk für den test eines Statements aufzubauen war gut, hätte ich auf drauf kommen können  ::)
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN