mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-07 16:59:18 +00:00
THZ: THZ_RemoveInternalTimer removed for Ansgar (Forum: #81265 msg734513)
git-svn-id: https://svn.fhem.de/fhem/trunk@15677 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9f8640f294
commit
be86c87413
@ -2,7 +2,7 @@
|
||||
# 00_THZ
|
||||
# $Id$
|
||||
# by immi 12/2017
|
||||
my $thzversion = "0.172";
|
||||
my $thzversion = "0.173";
|
||||
# this code is based on the hard work of Robert; I just tried to port it
|
||||
# http://robert.penz.name/heat-pump-lwz/
|
||||
########################################################################################
|
||||
@ -858,8 +858,8 @@ sub THZ_Define($$) {
|
||||
########################################################################################
|
||||
sub THZ_Refresh_all_gets($) {
|
||||
my ($hash) = @_;
|
||||
# unlink("data.txt");
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
RemoveInternalTimer(undef, "THZ_GetRefresh");
|
||||
#THZ_RemoveInternalTimer("THZ_GetRefresh"); not needed since https://svn.fhem.de/trac/changeset/15667/ because now there is a second parameter for the function
|
||||
Log3 $hash->{NAME}, 5, "thzversion = $thzversion ";
|
||||
my $timedelay= 5; #start after 5 seconds
|
||||
foreach my $cmdhash (keys %gets) {
|
||||
@ -1011,7 +1011,8 @@ sub THZ_Testloopapproach($) {
|
||||
sub THZ_Ready($) {
|
||||
my ($hash) = @_;
|
||||
if($hash->{STATE} eq "disconnected")
|
||||
{ THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
{ RemoveInternalTimer(undef, "THZ_GetRefresh");
|
||||
#THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
select(undef, undef, undef, 0.25); #equivalent to sleep 250ms
|
||||
return DevIo_OpenDev($hash, 1, "THZ_Refresh_all_gets")
|
||||
}
|
||||
@ -1870,31 +1871,26 @@ sub THZ_Attr(@) {
|
||||
|
||||
if ( $attrName eq "firmware" ) {
|
||||
if ($attrVal eq "2.06") {
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
%sets = %sets206;
|
||||
%gets = (%getsonly2xx, %getsonly206, %sets);
|
||||
THZ_Refresh_all_gets($hash);
|
||||
}
|
||||
elsif ($attrVal eq "2.14") {
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
%sets = (%sets206, %setsonly214);
|
||||
%gets = (%getsonly2xx, %getsonly214, %sets206);
|
||||
THZ_Refresh_all_gets($hash);
|
||||
}
|
||||
elsif ($attrVal eq "5.39") {
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
%sets=(%sets439539common, %sets539only);
|
||||
%gets=(%getsonly539, %sets);
|
||||
THZ_Refresh_all_gets($hash);
|
||||
}
|
||||
elsif ($attrVal eq "4.39technician") {
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
%sets=(%sets439539common, %sets439only, %sets439technician);
|
||||
%gets=(%getsonly439, %sets);
|
||||
THZ_Refresh_all_gets($hash);
|
||||
}
|
||||
else { #in all other cases I assume $attrVal eq "4.39" cambiato nella v0140
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
%sets=(%sets439539common, %sets439only);
|
||||
%gets=(%getsonly439, %sets);
|
||||
THZ_Refresh_all_gets($hash);
|
||||
@ -1904,7 +1900,6 @@ sub THZ_Attr(@) {
|
||||
|
||||
if( $attrName =~ /^interval_/ ) {
|
||||
#DevIo_CloseDev($hash);
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
#sleep 1;
|
||||
#DevIo_OpenDev($hash, 1, "THZ_Refresh_all_gets");
|
||||
THZ_Refresh_all_gets($hash);
|
||||
@ -1918,7 +1913,8 @@ sub THZ_Attr(@) {
|
||||
sub THZ_Undef($$) {
|
||||
my ($hash, $arg) = @_;
|
||||
my $name = $hash->{NAME};
|
||||
THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
RemoveInternalTimer(undef, "THZ_GetRefresh");
|
||||
#THZ_RemoveInternalTimer("THZ_GetRefresh");
|
||||
foreach my $d (sort keys %defs) {
|
||||
if(defined($defs{$d}) &&
|
||||
defined($defs{$d}{IODev}) &&
|
||||
@ -1971,12 +1967,12 @@ sub nearest_floor($$) {
|
||||
# THZ_RemoveInternalTimer($)
|
||||
# modified takes as an argument the function to be called, not the argument
|
||||
########################################################################################
|
||||
sub THZ_RemoveInternalTimer($){
|
||||
my ($callingfun) = @_;
|
||||
foreach my $a (keys %intAt) {
|
||||
delete($intAt{$a}) if($intAt{$a}{FN} eq $callingfun);
|
||||
}
|
||||
}
|
||||
#sub THZ_RemoveInternalTimer($){
|
||||
# my ($callingfun) = @_;
|
||||
# foreach my $a (keys %intAt) {
|
||||
# delete($intAt{$a}) if($intAt{$a}{FN} eq $callingfun);
|
||||
# }
|
||||
#}
|
||||
|
||||
################################
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user