From 2b3621f6d47bf68833c604cce865a830ce3c27df Mon Sep 17 00:00:00 2001 From: igami Date: Sun, 22 Dec 2019 06:49:26 +0000 Subject: [PATCH] 98_archetype: fix perl evaluation for actual_attr git-svn-id: https://svn.fhem.de/fhem/trunk@20798 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_archetype.pm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/98_archetype.pm b/fhem/FHEM/98_archetype.pm index 810b746c4..40019fc31 100755 --- a/fhem/FHEM/98_archetype.pm +++ b/fhem/FHEM/98_archetype.pm @@ -515,6 +515,10 @@ sub archetype_attrCheck($$$$;$) { return if(AttrVal($name, "attributesExclude", "") =~ /$attribute/); + if(AttrVal($SELF, "actual_$attribute", undef)){ + $desired = eval($desired) if($desired =~ m/^\{.*\}$/); + $desired = archetype_evalSpecials($name, $desired) if($desired =~ m/%/); + } if($desired =~ m/^least(\((.*)\))?:(.+)/){ my $seperator = $2 ? $2 : " "; @@ -527,11 +531,6 @@ sub archetype_attrCheck($$$$;$) { $desired = (split(":", $desired, 2))[1]; } - if($hash->{DEF} eq "derive attributes"){ - $desired = eval($desired) if($desired =~ m/^\{.*\}$/); - $desired = archetype_evalSpecials($name, $desired) if($desired =~ m/%/); - } - return unless($desired); if($actual ne $desired){