mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 19:36:02 +00:00
fhem.pl: better devStateIcon check (Forum #71897)
git-svn-id: https://svn.fhem.de/fhem/trunk@14304 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
69ab8b1fed
commit
c9082d1c83
19
fhem/fhem.pl
19
fhem/fhem.pl
@ -2721,14 +2721,24 @@ CommandAttr($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my %ra = ("suppressReading" => { s=>"\n" },
|
my %ra = (
|
||||||
|
"suppressReading" => { s=>"\n" },
|
||||||
"event-on-update-reading" => { s=>"," },
|
"event-on-update-reading" => { s=>"," },
|
||||||
"event-on-change-reading" => { s=>",", r=>":.*" },
|
"event-on-change-reading" => { s=>",", r=>":.*" },
|
||||||
"timestamp-on-change-reading"=> { s=>"," },
|
"timestamp-on-change-reading"=> { s=>"," },
|
||||||
"event-min-interval" => { s=>",", r=>";.*" },
|
"event-min-interval" => { s=>",", r=>";.*" },
|
||||||
"devStateIcon" => { s=>" ", r=>":.*" } );
|
"devStateIcon" => { s=>" ", r=>":.*", p=>"^{.*}\$",
|
||||||
if(defined($a[2]) && $ra{$attrName}) {
|
pv=>{"%name"=>1, "%state"=>1, "%type"=>1} },
|
||||||
my $lval = $a[2];
|
);
|
||||||
|
|
||||||
|
if(defined($a[2]) && $ra{$attrName} && $init_done) {
|
||||||
|
my ($lval,$rp) = ($a[2], $ra{$attrName}{p});
|
||||||
|
|
||||||
|
if($rp && $lval =~ m/$rp/) {
|
||||||
|
my $err = perlSyntaxCheck($a[2], %{$ra{$attrName}{pv}});
|
||||||
|
return "attr $sdev $a[1]: $err" if($err);
|
||||||
|
|
||||||
|
} else {
|
||||||
for my $v (split($ra{$attrName}{s}, $lval)) {
|
for my $v (split($ra{$attrName}{s}, $lval)) {
|
||||||
$v =~ s/$ra{$attrName}{r}// if($ra{$attrName}{r});
|
$v =~ s/$ra{$attrName}{r}// if($ra{$attrName}{r});
|
||||||
my $err = "Argument $v for attr $sdev $a[1] is not a valid regexp";
|
my $err = "Argument $v for attr $sdev $a[1] is not a valid regexp";
|
||||||
@ -2737,6 +2747,7 @@ CommandAttr($$)
|
|||||||
return "$err: $@" if($@);
|
return "$err: $@" if($@);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$ret = CallFn($sdev, "AttrFn", "set", @a);
|
$ret = CallFn($sdev, "AttrFn", "set", @a);
|
||||||
if($ret) {
|
if($ret) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user