From d213e364e8dc789b9478248ba994ff483ebecbff Mon Sep 17 00:00:00 2001 From: martinp876 <> Date: Thu, 8 Nov 2012 22:09:18 +0000 Subject: [PATCH] delay autogeneration of chans to obey global queue issues git-svn-id: https://svn.fhem.de/fhem/trunk@2101 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_CUL_HM.pm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm index f08e32992..2656145a4 100755 --- a/fhem/FHEM/10_CUL_HM.pm +++ b/fhem/FHEM/10_CUL_HM.pm @@ -2348,7 +2348,9 @@ CUL_HM_infoUpdtDevData($$$){ $mId = CUL_HM_getMId($hash);# set helper valiable and use result # autocreate undefined channels + Log 1,"General start timer"; my @chanTypesList = split(',',$culHmModel{$mId}{chn}); + my $startime = gettimeofday()+1; foreach my $chantype (@chanTypesList){ my ($chnTpName,$chnStart,$chnEnd) = split(':',$chantype); my $chnNoTyp = 1; @@ -2357,7 +2359,10 @@ CUL_HM_infoUpdtDevData($$$){ if (!$modules{CUL_HM}{defptr}{$chnId}){ my $chnName = $name."_".$chnTpName.(($chnStart == $chnEnd)? '':'_'.sprintf("%02d",$chnNoTyp)); - DoTrigger("global", 'UNDEFINED '.$chnName.' CUL_HM '.$chnId); + InternalTimer($startime++,"CUL_HM_infoUpdtChanData", + "$chnName,$chnId,$model",0); + Log 1,"General timer:$chnName,$chnId,$model"; + #DoTrigger("global", 'UNDEFINED '.$chnName.' CUL_HM '.$chnId); } $attr{CUL_HM_id2Name($chnId)}{model} = $model; $chnNoTyp++; @@ -2368,6 +2373,15 @@ CUL_HM_infoUpdtDevData($$$){ } } +sub +CUL_HM_infoUpdtChanData(@) +{# delay this to ensure the device is already available + my($in ) = @_; + my($chnName,$chnId,$model ) = split(',',$in); + Log 1,"General updateChannel:".$chnName; + DoTrigger("global", 'UNDEFINED '.$chnName.' CUL_HM '.$chnId); + $attr{CUL_HM_id2Name($chnId)}{model} = $model; +} ################################### sub CUL_HM_Pair(@)