From 566b18d0efb4fc811d7448976e6af3ab465cf02d Mon Sep 17 00:00:00 2001 From: borisneubert <> Date: Sat, 11 Jun 2016 19:22:44 +0000 Subject: [PATCH] 67_ECMDDevice: optimization; honor param in expect git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@11649 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/67_ECMDDevice.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/FHEM/67_ECMDDevice.pm b/FHEM/67_ECMDDevice.pm index 3cb9b0cb8..179a5323f 100644 --- a/FHEM/67_ECMDDevice.pm +++ b/FHEM/67_ECMDDevice.pm @@ -151,12 +151,11 @@ ECMDDevice_Changed($$$) ################################### sub -ECMDDevice_PostProc($$$) +ECMDDevice_PostProc($$$%) { - my ($hash, $postproc, $value)= @_; + my ($hash, $postproc, $value, %specials)= @_; if($postproc) { - my %specials= ECMDDevice_GetCachedSpecials($hash); my $command= ECMDDevice_ReplaceSpecials($postproc, %specials); $_= $value; Log3 $hash, 5, "Postprocessing \"" . escapeLogLine($value) . "\" with perl command $command."; @@ -237,12 +236,13 @@ ECMDDevice_Get($@) } } $ecmd= ECMDDevice_ReplaceSpecials($ecmd, %specials); + $expect= ECMDDevice_ReplaceSpecials($expect, %specials); my $r = ECMDDevice_AnalyzeCommand($hash, $ecmd); my $v= IOWrite($hash, $r, $expect); - $v= ECMDDevice_PostProc($hash, $postproc, $v); + $v= ECMDDevice_PostProc($hash, $postproc, $v, %specials); return ECMDDevice_Changed($hash, $cmdname, $v); } @@ -284,12 +284,13 @@ ECMDDevice_Set($@) } } $ecmd= ECMDDevice_ReplaceSpecials($ecmd, %specials); + $expect= ECMDDevice_ReplaceSpecials($expect, %specials); my $r = ECMDDevice_AnalyzeCommand($hash, $ecmd); my $v= IOWrite($hash, $r, $expect); - $v= ECMDDevice_PostProc($hash, $postproc, $v); + $v= ECMDDevice_PostProc($hash, $postproc, $v, %specials); ECMDDevice_Changed($hash, $cmdname, $v); # was: return ECMDDevice_Changed($hash, $cmdname, $v); return undef;