2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-08 07:24:21 +00:00

fhem.pl: add resolveAttrRename (Forum #82337)

git-svn-id: https://svn.fhem.de/fhem/trunk@15926 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2018-01-19 12:15:44 +00:00
parent 82ed049cf3
commit 9835ea0971

View File

@ -136,6 +136,7 @@ sub readingsEndUpdate($$);
sub readingsSingleUpdate($$$$);
sub redirectStdinStdErr();
sub rejectDuplicate($$$);
sub resolveAttrRename($$);
sub restoreDir_init();
sub restoreDir_rmTree($);
sub restoreDir_saveFile($$);
@ -2685,6 +2686,8 @@ CommandAttr($$)
push @rets, "$sdev: unknown attribute $attrName, choose one of $list";
next;
}
$attrName = resolveAttrRename($sdev,$attrName);
if(" $list " !~ m/ ${attrName}[ :;]/) {
my $found = 0;
@ -4049,6 +4052,21 @@ setGlobalAttrBeforeFork($)
}
}
sub
resolveAttrRename($$)
{
my ($d,$n) = @_;
return $n if(!$d || !$defs{$d});
my $m = $modules{$defs{$d}{TYPE}};
if($m->{AttrRenameMap} && defined($m->{AttrRenameMap}{$n})) {
Log 3, "WARNING: $d attribute $n was renamed to ".$m->{AttrRenameMap}{$n};
return $m->{AttrRenameMap}{$n};
}
return $n;
}
###########################################
# Functions used to make fhem-oneliners more readable,
@ -4151,6 +4169,7 @@ sub
AttrVal($$$)
{
my ($d,$n,$default) = @_;
$n = resolveAttrRename($d, $n);
return $attr{$d}{$n} if(defined($attr{$d}) && defined($attr{$d}{$n}));
return $default;
}