39_Talk2Fhem.pm: bracket decoding bug fixed
git-svn-id: https://svn.fhem.de/fhem/trunk@16331 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -98,6 +98,10 @@
|
||||
# replace ; to ;; in timecommands
|
||||
# Add 1 day if timecode is in past in hour phrases
|
||||
# Added async warning if keywordlist is unkown
|
||||
# 04.03.2018 0.4.6
|
||||
# Breacket decoding bug fixed
|
||||
#
|
||||
#
|
||||
################################################################
|
||||
# TODO:
|
||||
#
|
||||
@@ -109,6 +113,9 @@
|
||||
# zusätzlich unmodifizierte zeit greifbar machen
|
||||
# timephrase kombies morgen früh um 9 uhr ist unzuverlässig. evtl order einführen, dann kann auch die splittung weg
|
||||
# viertel zeitphrasen
|
||||
# - regexp
|
||||
#vordefinierte regex zu verfügung stellen
|
||||
# (i[nm]|vor|auf|unter|hinter)? ?(de[rmn]|die|das)? ?
|
||||
|
||||
package main;
|
||||
|
||||
@@ -123,7 +130,7 @@ use Encode qw(decode encode);
|
||||
my %Talk2Fhem_globals;
|
||||
|
||||
|
||||
$Talk2Fhem_globals{version}="0.4.5";
|
||||
$Talk2Fhem_globals{version}="0.4.6";
|
||||
|
||||
$Talk2Fhem_globals{EN}{erase} = ['\bplease\b', '\balso\b', '^msgtext:'];
|
||||
$Talk2Fhem_globals{EN}{numbers} = {
|
||||
@@ -552,13 +559,13 @@ sub Talk2Fhem_Set($@)
|
||||
{
|
||||
my ( $hash, $name, @args ) = @_;
|
||||
(return "\"set $name\" needs at least one argument") unless(scalar(@args));
|
||||
(return "Unknown argument ?, choose one of ! cleartriggers:noArg cleartimers:noArg") if($args[0] eq "?");
|
||||
(return "Unknown argument ?, choose one of ! cleartriggers:noArg cleartimers:noArg") if($args[0] eq "?");
|
||||
|
||||
if ($hash->{STATE} ne "Initialized") {
|
||||
#Fülle nur cmds array
|
||||
} elsif ($args[0] eq "cleartimers") {
|
||||
} elsif ($args[0] eq "cleartimers") {
|
||||
AnalyzeCommand($hash->{CL}, "delete at_".$name."_.*");
|
||||
} elsif ($args[0] eq "cleartriggers") {
|
||||
} elsif ($args[0] eq "cleartriggers") {
|
||||
|
||||
$$hash{helper}{notifies} = [];
|
||||
Talk2Fhem_UpdND($hash);
|
||||
@@ -767,11 +774,11 @@ sub Talk2Fhem_Get($$@)
|
||||
sub Talk2Fhem_Attr(@)
|
||||
{
|
||||
my ( $cmd, $name, $attrName, $attrValue ) = @_;
|
||||
|
||||
# $cmd - Vorgangsart - kann die Werte "del" (löschen) oder "set" (setzen) annehmen
|
||||
|
||||
# $cmd - Vorgangsart - kann die Werte "del" (löschen) oder "set" (setzen) annehmen
|
||||
# $name - Gerätename
|
||||
# $attrName/$attrValue sind Attribut-Name und Attribut-Wert
|
||||
return unless $init_done;
|
||||
return unless $init_done;
|
||||
#Log 1, Dumper @_;
|
||||
if ($attrName eq "T2F_keywordlist" or $attrName eq "T2F_modwordlist") {
|
||||
$defs{$name}{helper}{phrase} = undef;
|
||||
@@ -893,9 +900,12 @@ my $list = (shift || AttrVal($hash->{NAME}, $type, ""));
|
||||
$list = Talk2Fhem_parseParams($list);
|
||||
#Log 1, Dumper $list;
|
||||
return ("Error while parsing Keywordlist.\n$list" ) unless(ref($list) eq "HASH");
|
||||
delete $hash->{helper}{T2F_andwordlist};
|
||||
delete $hash->{helper}{$type};
|
||||
foreach (keys %$list) {
|
||||
# $$list{$_} = Talk2Fhem_parseArray($$list{$_});
|
||||
$hash->{helper}{$type}{$_} = Talk2Fhem_parseArray($$list{$_});
|
||||
$hash->{helper}{T2F_andwordlist}{$_} = Talk2Fhem_parseArray($$list{$_}) if /^\&/;
|
||||
$hash->{helper}{$type}{s/^\&//r} = Talk2Fhem_parseArray($$list{$_});
|
||||
}
|
||||
|
||||
# my $modlist = Talk2Fhem_parseParams(AttrVal($name, "T2F_modwordlist", ""));;
|
||||
@@ -978,13 +988,20 @@ my @cmds = split(/ und (?!$Talk2Fhem_globals{DE}{numberre})/, $txt);
|
||||
# CHECK if $cmd[0] hit Talk2Fhem_test. Unless dont split. And make a deeper analysis.
|
||||
#if ($#cmd)
|
||||
# before test remove time and if phrases simple
|
||||
# unless (Talk2Fhem_test($me, $cmds[0])) {
|
||||
# unless (Talk2Fhem_test($me, $cmds[0]))
|
||||
# Nun schauen wir mal was vor und nach dem und ist.
|
||||
# könnte phrasentreffer auf kompletten satz ausschluss geben
|
||||
#
|
||||
# }
|
||||
|
||||
|
||||
# Tiefe UND analyse
|
||||
#for (@cmd) {
|
||||
|
||||
#}
|
||||
|
||||
#print Dumper $$me{helper}{T2F_andwordlist};
|
||||
|
||||
#return;
|
||||
|
||||
|
||||
|
||||
foreach (@cmds) {
|
||||
@@ -1215,7 +1232,7 @@ my $punmatch = $cmd;
|
||||
my @dir = ($$spec{origin});
|
||||
T2FL($myname, 5, "$myname Evaluate search:\n$cmd =~ /$$phr{key}/i") if ref $res;
|
||||
for my $fphr (@fphrs) {
|
||||
# if (my @d = ($cmd =~ qr/$fphr/i)){
|
||||
# if (my @d = ($cmd =~ qr/$fphr/i))
|
||||
if ($fphr =~ s/^\?//){
|
||||
my @d = (eval { $cmd =~ /$fphr/i});
|
||||
my $m = $&;
|
||||
@@ -1517,9 +1534,12 @@ my %react;
|
||||
# my @cs = map { my @t = split('\|', $_ =~ s/^\(|\)$//gr); \@t } $$phr{key} =~ /(?<!\\)\((?!\?).*?\)/g;
|
||||
# my @cs = map { my @t = split('\|', $_ =~ s/^\(|\)$//gr); \@t } $$phr{key} =~ /(?<! \\ ) \( (?! \? ) (?: (?R) | [^()]+ )+ \) /xg;
|
||||
# Klammern extrahieren
|
||||
my @cs = ($$phr{key});
|
||||
my @cs = ("onlysometext".$$phr{key});
|
||||
#unshift(@cs, undef) if $$phr{key} =~ /^\(/;
|
||||
for (my $i=0; $i<=$#cs; $i++) {
|
||||
my $c = $cs[$i];
|
||||
#T2FL($myname, 5, "C: ".Dumper $c);
|
||||
|
||||
if ($c =~ /^\(\?.*\)$/) {
|
||||
# Perl Special bracket delete it.
|
||||
splice(@cs, $i, 1);
|
||||
@@ -1531,15 +1551,18 @@ my %react;
|
||||
last if $i > 10;
|
||||
}
|
||||
|
||||
|
||||
#T2FL($myname, 5, "CS: ".Dumper @cs);
|
||||
|
||||
# @keywords = @{$cs[($clipno-1)]};
|
||||
# Log 1, Dumper @cs;
|
||||
# @cs = grep { /^\(/ } @cs;
|
||||
# Log 1, Dumper @cs;
|
||||
# Log 1, "-----> ".$cs[($clipno-1)];
|
||||
(my $clip = $cs[($clipno)]) =~ s/^\(|\)$//g;
|
||||
#T2FL($myname, 5, "clip: ".Dumper $clip);
|
||||
# push(@keywords, split('\|', $clip) extract_bracketed($clip, '()'));
|
||||
@keywords = map { /^\(/ ? $_ : split('\|', $_=~s/^\||\|$//gr) } extract_multiple($clip, [sub { extract_bracketed($_[0], '()') }]);
|
||||
#T2FL($myname, 5, "keywords: ".Dumper @keywords);
|
||||
# @keywords = split('\|',);
|
||||
|
||||
#Log 1, Dumper @keywords;
|
||||
@@ -1551,7 +1574,7 @@ my %react;
|
||||
} else {
|
||||
@keywords = @{$keylist{$hitnokeylist[$clipno]}};
|
||||
}
|
||||
T2FL($myname, 4, "Searching position of $d in @keywords");
|
||||
# T2FL($myname, 4, "Searching position of $d in @keywords");
|
||||
@keywords = map { Talk2Fhem_escapeumlauts($_, $disu) } @keywords;
|
||||
T2FL($myname, 4, "Searching position of $d in @keywords");
|
||||
my $i=0;
|
||||
@@ -1686,36 +1709,36 @@ return($_[2]);
|
||||
<a name="Talk2Fhem"></a>
|
||||
<h3>Talk2Fhem</h3>
|
||||
<ul>
|
||||
The module <i>Talk2Fhem</i> is a connection between natural language and FHEM commands.
|
||||
The module <i>Talk2Fhem</i> is a connection between natural language and FHEM commands.
|
||||
The configuration is carried out conveniently via the FHEM web frontend.<br>
|
||||
For a more detailed description and further examples see <a href="http://wiki.fhem.de/wiki/Modul_Talk2Fhem">Talk2Fhem Wiki</a>.
|
||||
<br><br>
|
||||
<a name="Talk2Fhemdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> Talk2Fhem</code>
|
||||
<br><br>
|
||||
Example: <code>define talk Talk2Fhem</code>
|
||||
<br><br>
|
||||
The actual configuration should first be done on the FHEM side.
|
||||
<br><br>
|
||||
<a name="Talk2Fhemdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> Talk2Fhem</code>
|
||||
<br><br>
|
||||
Example: <code>define talk Talk2Fhem</code>
|
||||
<br><br>
|
||||
The actual configuration should first be done on the FHEM side.
|
||||
<br><br>
|
||||
The individual language phrases are configured line by line. A configuration
|
||||
always starts by the regular expression, followed by at least one space or tab
|
||||
from an equal sign. <br>
|
||||
The command part begins after the equals sign with a space, tab, or newline. <br> <br>
|
||||
<code><regexp> = <command></code>
|
||||
<br><br>
|
||||
<b>Short refernce:</b>
|
||||
<br>
|
||||
<code><RegExpPart> [&& [?!]<RegExpPart_n>] = [ <FHEM command> | { <Perl code> } | (<option> => '<wert>' , ... ) ]</code>
|
||||
<br><br>
|
||||
Example: <code>helo world = {Log 1, Helo World}</code>
|
||||
<br><br>
|
||||
<code><regexp> = <command></code>
|
||||
<br><br>
|
||||
<b>Short refernce:</b>
|
||||
<br>
|
||||
<code><RegExpPart> [&& [?!]<RegExpPart_n>] = [ <FHEM command> | { <Perl code> } | (<option> => '<wert>' , ... ) ]</code>
|
||||
<br><br>
|
||||
Example: <code>helo world = {Log 1, Helo World}</code>
|
||||
<br><br>
|
||||
Everything after a hashtag '#' is ignored until the end of the line.
|
||||
<br><br>
|
||||
<br><br>
|
||||
<regexp>
|
||||
<ul>Regular expression describing the text at which the command should be executed</ul>
|
||||
<br><br>
|
||||
<br><br>
|
||||
<command>
|
||||
<ul>
|
||||
The executive part. The following formats are allowed:
|
||||
@@ -1774,47 +1797,47 @@ return($_[2]);
|
||||
<li><b>$0</b> Contains the text of the detected T2F_origin regexp.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemset"></a>
|
||||
<b>Set</b><br>
|
||||
<ul>
|
||||
<code>set <name> [!]<text></code>
|
||||
<br><br>
|
||||
The text is sent to the module via the <i>set</i> command.
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemset"></a>
|
||||
<b>Set</b><br>
|
||||
<ul>
|
||||
<code>set <name> [!]<text></code>
|
||||
<br><br>
|
||||
The text is sent to the module via the <i>set</i> command.
|
||||
See <a href="http://fhem.de/commandref.html#set">commandref#set</a> for more help.
|
||||
<li>cleartimers</li> Removes the pending time-related commands
|
||||
<li>cleartriggers</li> Removes the pending event-related commands
|
||||
</ul>
|
||||
<br>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemget"></a>
|
||||
<b>Get</b><br>
|
||||
<code>get <name> <option></code>
|
||||
<br><br>
|
||||
<a name="Talk2Fhemget"></a>
|
||||
<b>Get</b><br>
|
||||
<code>get <name> <option></code>
|
||||
<br><br>
|
||||
Information can be read from the module via <i>get</i>.
|
||||
See <a href="http://fhem.de/commandref.html#get">commandref#get</a> for more information on "get". <br><br>
|
||||
<option>
|
||||
<option>
|
||||
<ul>
|
||||
<li><i>@keywordlist</i> <i>@modwordlist</i><br>
|
||||
Compare the two lists word by word.</li>
|
||||
<li><i>keylistno</i><br>
|
||||
A list of the configured "keyword" lists. For easier positioning of "modword" lists </li>
|
||||
<li><i>log</i><br>
|
||||
Shows the log entries of the last command </li>
|
||||
<li><i>modificationtypes</i><br>
|
||||
Shows the regexp of the modificationtypes. </li>
|
||||
<li><i>standardfilter</i><br>
|
||||
Load the standartfilter and print it in the Attribute T2F_filter if its empty </li>
|
||||
<li><i>version</i><br>
|
||||
The module version</li>
|
||||
</ul>
|
||||
<li><i>@keywordlist</i> <i>@modwordlist</i><br>
|
||||
Compare the two lists word by word.</li>
|
||||
<li><i>keylistno</i><br>
|
||||
A list of the configured "keyword" lists. For easier positioning of "modword" lists </li>
|
||||
<li><i>log</i><br>
|
||||
Shows the log entries of the last command </li>
|
||||
<li><i>modificationtypes</i><br>
|
||||
Shows the regexp of the modificationtypes. </li>
|
||||
<li><i>standardfilter</i><br>
|
||||
Load the standartfilter and print it in the Attribute T2F_filter if its empty </li>
|
||||
<li><i>version</i><br>
|
||||
The module version</li>
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemreadings"></a>
|
||||
<b>Readings</b>
|
||||
<ul>
|
||||
<b>Readings</b>
|
||||
<ul>
|
||||
<li><i>set</i><br>
|
||||
Contains the last text sent via "set".
|
||||
</li>
|
||||
@@ -1845,37 +1868,37 @@ return($_[2]);
|
||||
<li><i>notifies</i><br>
|
||||
Contains a list of the devices that are relevant for the currently waiting conditional commands. There is an internal notify on these devices.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemattr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<code>attr <name> <attribute> <value></code>
|
||||
<br><br>
|
||||
See <a href="http://fhem.de/commandref.html#attr">commandref#attr</a> for more information about the attributes.
|
||||
<br><br>
|
||||
Attributes:
|
||||
<ul>
|
||||
<li><i>T2F_keywordlist</i> <name> = <list><br>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemattr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<code>attr <name> <attribute> <value></code>
|
||||
<br><br>
|
||||
See <a href="http://fhem.de/commandref.html#attr">commandref#attr</a> for more information about the attributes.
|
||||
<br><br>
|
||||
Attributes:
|
||||
<ul>
|
||||
<li><i>T2F_keywordlist</i> <name> = <list><br>
|
||||
A comma-separated list of keywords such as: rooms, names, colors, etc ... <br>
|
||||
In other words, things named with a natural name. </li>
|
||||
<li><i>T2F_modwordlist</i> <name> = <list><br>
|
||||
<li><i>T2F_modwordlist</i> <name> = <list><br>
|
||||
A comma seperated list of substitution words used for the keywords.
|
||||
For example: device names in FHEM <br> </li>
|
||||
<li><i>T2F_if</i><br>
|
||||
<li><i>T2F_if</i><br>
|
||||
A collection of event-driven configurations. The syntax is that of the definition. Command part is an IF condition. <br>
|
||||
z.B.: (when|if) .*?door = [door] eq "open"
|
||||
</li>
|
||||
<li><i>T2F_filter</i><br>
|
||||
<li><i>T2F_filter</i><br>
|
||||
Comma-separated list of RegExp generally removed. <br>
|
||||
Standard: \bplease\b,\balso\b
|
||||
</li>
|
||||
<li><i>T2F_origin</i><br>
|
||||
<li><i>T2F_origin</i><br>
|
||||
A RegExp which is generally removed and whose output can be accessed via $0. <br>
|
||||
Can be used for user mapping.</li>
|
||||
<li><i>T2F_language</i>DE|EN<br>
|
||||
<li><i>T2F_language</i>DE|EN<br>
|
||||
The used language can be set via the global attribute "language". Or overwritten with this attribute.
|
||||
</li>
|
||||
<li><i>T2F_disableumlautescaping</i> <0|1><br>
|
||||
@@ -1883,9 +1906,9 @@ return($_[2]);
|
||||
<li><i>disable</i> <0|1><br>
|
||||
Can be used for test purposes. If the attribute is set to 1, the FHEM command is not executed
|
||||
but written in reading cmds.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1895,36 +1918,36 @@ return($_[2]);
|
||||
<a name="Talk2Fhem"></a>
|
||||
<h3>Talk2Fhem</h3>
|
||||
<ul>
|
||||
Das Modul <i>Talk2Fhem</i> stellt eine Verbindung zwischen natürlicher Sprache und FHEM Befehlen her.
|
||||
Das Modul <i>Talk2Fhem</i> stellt eine Verbindung zwischen natürlicher Sprache und FHEM Befehlen her.
|
||||
Die Konfiguration erfolgt dabei komfortabel über das FHEM Webfrontend.<br>
|
||||
Für eine genauere Beschreibung und weiterführende Beispiele siehe <a href="http://wiki.fhem.de/wiki/Modul_Talk2Fhem">Talk2Fhem Wiki</a>.
|
||||
<br><br>
|
||||
<a name="Talk2Fhemdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> Talk2Fhem</code>
|
||||
<br><br>
|
||||
Beispiel: <code>define talk Talk2Fhem</code>
|
||||
<br><br>
|
||||
Die eigentliche Konfigration sollte erst auf der FHEM Seite erfolgen.
|
||||
<br><br>
|
||||
<br><br>
|
||||
<a name="Talk2Fhemdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> Talk2Fhem</code>
|
||||
<br><br>
|
||||
Beispiel: <code>define talk Talk2Fhem</code>
|
||||
<br><br>
|
||||
Die eigentliche Konfigration sollte erst auf der FHEM Seite erfolgen.
|
||||
<br><br>
|
||||
Die einzelnen Sprachphrasen werden Zeile für Zeile konfiguriert. Hierbei fängt eine Konfiguration
|
||||
immer mit dem Regulärem Ausdruck an, gefolgt von mindestens einem Leerzeichen oder Tabulator gefolgt
|
||||
von einem Gleichheitszeichen.<br>
|
||||
Der Kommandoteil fängt nach dem Gleichheitszeichen mit einem Leerzeichen, Tabulator oder Zeilenumbruch an.<br><br>
|
||||
<code><regexp> = <command></code>
|
||||
<br><br>
|
||||
<b>Kurzreferenz:</b>
|
||||
<br>
|
||||
<code><RegExpPart> [&& [?!]<RegExpPart_n>] = [ <FHEM command> | { <Perl code> } | (<option> => '<wert>' , ... ) ]</code>
|
||||
<br><br>
|
||||
Beispiel: <code>hallo welt = {Log 1, Hallo Welt}</code>
|
||||
<br><br>
|
||||
<code><regexp> = <command></code>
|
||||
<br><br>
|
||||
<b>Kurzreferenz:</b>
|
||||
<br>
|
||||
<code><RegExpPart> [&& [?!]<RegExpPart_n>] = [ <FHEM command> | { <Perl code> } | (<option> => '<wert>' , ... ) ]</code>
|
||||
<br><br>
|
||||
Beispiel: <code>hallo welt = {Log 1, Hallo Welt}</code>
|
||||
<br><br>
|
||||
Alles nach einem Hashtag '#' wird bis zum Zeilenende ignoriert.
|
||||
<br><br>
|
||||
<br><br>
|
||||
<regexp>
|
||||
<ul>Regulärer Ausdruck der den Text beschreibt, bei dem das Kommando ausgeführt werden soll</ul>
|
||||
<br><br>
|
||||
<br><br>
|
||||
<command>
|
||||
<ul>
|
||||
Der ausführende Teil. Folgende Formate sind Zulässig:
|
||||
@@ -1983,48 +2006,48 @@ return($_[2]);
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemset"></a>
|
||||
<b>Set</b><br>
|
||||
<ul>
|
||||
<code>set <name> [!]<text></code>
|
||||
<br><br>
|
||||
Über das <i>set</i> Kommando wird der zu interpretierende Text an das Modul gesendet.
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemset"></a>
|
||||
<b>Set</b><br>
|
||||
<ul>
|
||||
<code>set <name> [!]<text></code>
|
||||
<br><br>
|
||||
Über das <i>set</i> Kommando wird der zu interpretierende Text an das Modul gesendet.
|
||||
Schaue unter <a href="http://fhem.de/commandref.html#set">commandref#set</a> für weiterführende Hilfe.
|
||||
<li>cleartimers</li> Entfernt die wartenden zeitbezogenen Kommandos
|
||||
<li>cleartriggers</li> Entfernt die wartenden ereignisbezogenen Kommandos
|
||||
</ul>
|
||||
<br>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemget"></a>
|
||||
<b>Get</b><br>
|
||||
<code>get <name> <option></code>
|
||||
<br><br>
|
||||
Über <i>get</i> lassen sich Informationen aus dem Modul auslesen.
|
||||
Siehe <a href="http://fhem.de/commandref.html#get">commandref#get</a> für weitere Informationen zu "get".
|
||||
<br><br>
|
||||
<option>
|
||||
<a name="Talk2Fhemget"></a>
|
||||
<b>Get</b><br>
|
||||
<code>get <name> <option></code>
|
||||
<br><br>
|
||||
Über <i>get</i> lassen sich Informationen aus dem Modul auslesen.
|
||||
Siehe <a href="http://fhem.de/commandref.html#get">commandref#get</a> für weitere Informationen zu "get".
|
||||
<br><br>
|
||||
<option>
|
||||
<ul>
|
||||
<li><i>@keywordlist</i> <i>@modwordlist</i><br>
|
||||
Vergleich der zwei Listen Wort für Wort</li>
|
||||
<li><i>keylistno</i><br>
|
||||
Eine Auflistung der Konfigurierten "Keyword"-Listen. Zur einfacheren Positionierung der "Modword"-Listen</li>
|
||||
<li><i>log</i><br>
|
||||
Zeigt die Logeinträge des letzten Kommandos</li>
|
||||
<li><i>modificationtypes</i><br>
|
||||
Zeigt die RegExp der Modifikationstypen. </li>
|
||||
<li><i>standardfilter</i><br>
|
||||
Lädt den Standardfilter und schreibt ihn in das Attribut T2F_filter wenn er leer ist</li>
|
||||
<li><i>version</i><br>
|
||||
Die Modulversion</li>
|
||||
</ul>
|
||||
<li><i>@keywordlist</i> <i>@modwordlist</i><br>
|
||||
Vergleich der zwei Listen Wort für Wort</li>
|
||||
<li><i>keylistno</i><br>
|
||||
Eine Auflistung der Konfigurierten "Keyword"-Listen. Zur einfacheren Positionierung der "Modword"-Listen</li>
|
||||
<li><i>log</i><br>
|
||||
Zeigt die Logeinträge des letzten Kommandos</li>
|
||||
<li><i>modificationtypes</i><br>
|
||||
Zeigt die RegExp der Modifikationstypen. </li>
|
||||
<li><i>standardfilter</i><br>
|
||||
Lädt den Standardfilter und schreibt ihn in das Attribut T2F_filter wenn er leer ist</li>
|
||||
<li><i>version</i><br>
|
||||
Die Modulversion</li>
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemreadings"></a>
|
||||
<b>Readings</b>
|
||||
<ul>
|
||||
<b>Readings</b>
|
||||
<ul>
|
||||
<li><i>set</i><br>
|
||||
Enthält den zuletzt über "set" gesendeten Text.
|
||||
</li>
|
||||
@@ -2055,50 +2078,50 @@ return($_[2]);
|
||||
<li><i>notifies</i><br>
|
||||
Enthält eine Auflistung der Devices die für die aktuell wartenden bedingten Kommandos relevant sind. Auf diesen Devices liegt ein internes notify.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemattr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<code>attr <name> <attribute> <value></code>
|
||||
<br><br>
|
||||
Siehe <a href="http://fhem.de/commandref.html#attr">commandref#attr</a> für weitere Informationen zu den Attributen.
|
||||
<br><br>
|
||||
Attribute:
|
||||
<ul>
|
||||
<li><i>T2F_keywordlist</i> <name> = <list><br>
|
||||
Eine Komma seperierte Liste von Schlüsselwörtern wie z.B.: Räumen, Namen, Farben usw...<br>
|
||||
<br>
|
||||
|
||||
<a name="Talk2Fhemattr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<code>attr <name> <attribute> <value></code>
|
||||
<br><br>
|
||||
Siehe <a href="http://fhem.de/commandref.html#attr">commandref#attr</a> für weitere Informationen zu den Attributen.
|
||||
<br><br>
|
||||
Attribute:
|
||||
<ul>
|
||||
<li><i>T2F_keywordlist</i> <name> = <list><br>
|
||||
Eine Komma seperierte Liste von Schlüsselwörtern wie z.B.: Räumen, Namen, Farben usw...<br>
|
||||
Mit anderen Worten, mit natürlichem Namen benannte Sachen.
|
||||
</li>
|
||||
<li><i>T2F_modwordlist</i> <name> = <list><br>
|
||||
Eine Komma seperierte Liste von Ersetzungswörten die für die Schlüsselwörter eingesetzt werden.
|
||||
</li>
|
||||
<li><i>T2F_modwordlist</i> <name> = <list><br>
|
||||
Eine Komma seperierte Liste von Ersetzungswörten die für die Schlüsselwörter eingesetzt werden.
|
||||
z.B.: Gerätenamen in FHEM<br>
|
||||
</li>
|
||||
<li><i>T2F_if</i><br>
|
||||
</li>
|
||||
<li><i>T2F_if</i><br>
|
||||
Eine Auflistung von ereignisgesteuerten Konfigurationen. Die Syntax ist die der Definition. Kommandoteil ist eine IF Bedingung.<br>
|
||||
z.B.: wenn .*?tür = [door] eq "open"
|
||||
</li>
|
||||
<li><i>T2F_filter</i><br>
|
||||
<li><i>T2F_filter</i><br>
|
||||
Kommaseparierte Liste von RegExp die generell entfernt werden.<br>
|
||||
Standard: \bbitte\b,\bauch\b,\bkann\b,\bsoll\b
|
||||
</li>
|
||||
<li><i>T2F_origin</i><br>
|
||||
<li><i>T2F_origin</i><br>
|
||||
Eine RegExp die generell entfernt wird und deren Ausgabe über $0 angesprochen werden kann.<br>
|
||||
Kann für eine Benutzerzuordnung verwendet werden.
|
||||
</li>
|
||||
<li><i>T2F_language</i>DE|EN<br>
|
||||
<li><i>T2F_language</i>DE|EN<br>
|
||||
Die verwendete Sprache kann über das globale Attribut "language" gesetzt werden. Oder über dieses Attribut überschrieben werden.
|
||||
</li>
|
||||
<li><i>T2F_disableumlautescaping</i> <0|1><br>
|
||||
Deaktiviert das Konvertieren der Umlaute in "\S\S?"</li>
|
||||
<li><i>disable</i> <0|1><br>
|
||||
Kann zu Testzwecken verwendet werden. Steht das Attribut auf 1, wird das FHEM-Kommando nicht ausgeführt
|
||||
<li><i>disable</i> <0|1><br>
|
||||
Kann zu Testzwecken verwendet werden. Steht das Attribut auf 1, wird das FHEM-Kommando nicht ausgeführt
|
||||
aber in das Reading cmds geschrieben.
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user