diff --git a/FHEM/21_OWAD.pm b/FHEM/21_OWAD.pm index 17c7dd0d4..01908231a 100644 --- a/FHEM/21_OWAD.pm +++ b/FHEM/21_OWAD.pm @@ -90,7 +90,7 @@ use ProtoThreads; no warnings 'deprecated'; sub Log($$); -my $owx_version="5.17"; +my $owx_version="5.18"; #-- fixed raw channel name, flexible channel name my @owg_fixed = ("A","B","C","D"); my @owg_channel = ("A","B","C","D"); @@ -1571,7 +1571,7 @@ sub OWXAD_PT_GetPage($$$) { #-- issue the match ROM command \x55 and the start conversion command $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev, "\x3C\x0F\x00\xFF\xFF", 0 ); - $thread->{ExecuteTime} = gettimeofday() + 0.05; # was 0.02 + $thread->{ExecuteTime} = gettimeofday() + 0.07; # was 0.02 $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; diff --git a/FHEM/21_OWMULTI.pm b/FHEM/21_OWMULTI.pm index 209ffe45b..5cdcaeb4f 100644 --- a/FHEM/21_OWMULTI.pm +++ b/FHEM/21_OWMULTI.pm @@ -82,7 +82,7 @@ no warnings 'deprecated'; sub Log($$); -my $owx_version="5.17"; +my $owx_version="5.18"; #-- flexible channel name my $owg_channel; @@ -1079,11 +1079,10 @@ sub OWXMULTI_PT_GetValues($) { #"ds2438.temperaturconversionvdd" $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev,"\x44",0); $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout + $thread->{ExecuteTime} = gettimeofday() + 0.03; # was 0.012 PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; die $thread->{pt_execute}->PT_CAUSE() if ($thread->{pt_execute}->PT_STATE() == PT_ERROR); - - $thread->{ExecuteTime} = gettimeofday() + 0.012; PT_YIELD_UNTIL(gettimeofday() >= $thread->{ExecuteTime}); delete $thread->{ExecuteTime}; @@ -1093,11 +1092,10 @@ sub OWXMULTI_PT_GetValues($) { #"ds2438.voltageconversionvdd" $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev,"\xB4",0); $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout + $thread->{ExecuteTime} = gettimeofday() + 0.02; # was 0.006 PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; die $thread->{pt_execute}->PT_CAUSE() if ($thread->{pt_execute}->PT_STATE() == PT_ERROR); - - $thread->{ExecuteTime} = gettimeofday() + 0.006; PT_YIELD_UNTIL(gettimeofday() >= $thread->{ExecuteTime}); delete $thread->{ExecuteTime}; @@ -1107,11 +1105,10 @@ sub OWXMULTI_PT_GetValues($) { #"ds2438.recallmemoryvdd" $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev,"\xB8\x00",0); $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout + $thread->{ExecuteTime} = gettimeofday() + 0.03; # was 0.012 PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; die $thread->{pt_execute}->PT_CAUSE() if ($thread->{pt_execute}->PT_STATE() == PT_ERROR); - - $thread->{ExecuteTime} = gettimeofday() + 0.012; PT_YIELD_UNTIL(gettimeofday() >= $thread->{ExecuteTime}); delete $thread->{ExecuteTime}; @@ -1157,11 +1154,10 @@ sub OWXMULTI_PT_GetValues($) { #"ds2438.voltageconversionvad" $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev,"\xB4",0); $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout + $thread->{ExecuteTime} = gettimeofday() + 0.02; # was 0.006 PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; die $thread->{pt_execute}->PT_CAUSE() if ($thread->{pt_execute}->PT_STATE() == PT_ERROR); - - $thread->{ExecuteTime} = gettimeofday() + 0.006; PT_YIELD_UNTIL(gettimeofday() >= $thread->{ExecuteTime}); delete $thread->{ExecuteTime}; @@ -1171,11 +1167,10 @@ sub OWXMULTI_PT_GetValues($) { #"ds2438.recallmemoryvad" $thread->{pt_execute} = OWX_ASYNC_PT_Execute($master,1,$owx_dev,"\xB8\x00",0); $thread->{TimeoutTime} = gettimeofday()+2; #TODO: implement attribute-based timeout + $thread->{ExecuteTime} = gettimeofday() + 0.03; # was 0.012 PT_WAIT_THREAD($thread->{pt_execute}); delete $thread->{TimeoutTime}; die $thread->{pt_execute}->PT_CAUSE() if ($thread->{pt_execute}->PT_STATE() == PT_ERROR); - - $thread->{ExecuteTime} = gettimeofday() + 0.012; PT_YIELD_UNTIL(gettimeofday() >= $thread->{ExecuteTime}); delete $thread->{ExecuteTime};