diff --git a/fhem/FHEM/10_ZWave.pm b/fhem/FHEM/10_ZWave.pm index b4bac4abe..b8a0e16aa 100755 --- a/fhem/FHEM/10_ZWave.pm +++ b/fhem/FHEM/10_ZWave.pm @@ -4569,7 +4569,7 @@ ZWave_Parse($$@) if(!$hash) { if(!$baseHash) { - Log3 $ioName, 4, "ZWave: unknown message $msg"; + Log3 $ioName, 4, "ZWave: unknown message $msg for ID $id"; return ""; } # autocreate the device when pressing the remote button (Forum #43261) diff --git a/fhem/FHEM/33_readingsChange.pm b/fhem/FHEM/33_readingsChange.pm index 26f0baefe..338ee8c89 100755 --- a/fhem/FHEM/33_readingsChange.pm +++ b/fhem/FHEM/33_readingsChange.pm @@ -69,6 +69,7 @@ readingsChangeExec($$) return if(!$events); my $max = int(@{$events}); + my $matched=0; for (my $i = 0; $i < $max; $i++) { my $EVENT = $events->[$i]; next if(!defined($EVENT) || $EVENT !~ m/^([^ ]+): (.+)/); @@ -76,6 +77,7 @@ readingsChangeExec($$) next if($rg !~ m/$re->[1]/ || !$dev->{READINGS}{$rg}); Log3 $SELF, 5, "Changing $NAME:$rg $val via $SELF"; + $matched++; if($rc->{".isPerl"}) { eval "\$val =~ s/$re->[2]/$re->[3]/ge"; } else { @@ -84,6 +86,7 @@ readingsChangeExec($$) $events->[$i] = "$rg: $val"; $dev->{READINGS}{$rg}{VAL} = $val; } + evalStateFormat($dev) if($matched); return undef; } @@ -116,7 +119,16 @@ readingsChangeExec($$) <device>, <readingName> and <toReplace> are regular expressions, and are not allowed to contain whitespace. If replaceWith is enclosed in {}, then the content will be executed as a - perl expression for each match. + perl expression for each match.
+ Notes:

Examples: