From 7983f00e5729e4d34aa97cc7275ff960b11f6ab0 Mon Sep 17 00:00:00 2001 From: Philipp Date: Mon, 23 Dec 2024 10:31:11 +0100 Subject: [PATCH] added attr disable - 0,1 - set attribute to 1 to disable periodical requests to the api --- 98_TadoAPI.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index 4f4ff97..6b69c1c 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -1,5 +1,5 @@ #=============================================================================== -# $Id: 98_TadoAPI.pm 107 2023-12-16 16:11:28Z psycho160 $ +# $Id: 98_TadoAPI.pm 107 2024-12-23 07:15:20Z psycho160 $ # # FILE: 98_TadoAPI.pm # @@ -76,6 +76,7 @@ sub TadoAPI_Initialize { . "mobileID " . "showPosData:0,1 " . "updateIntervall " + . "disable:0,1 " . $readingFnAttributes; return; @@ -106,6 +107,7 @@ sub TadoAPI_Define { . "define TadoAPI " if ( int(@a) < 1 ); + my ( $user, $homeID ) = @a; Log3 $name, 3, "TadoAPI_Define $name: called "; $hash->{STATE} = "defined"; @@ -132,7 +134,7 @@ sub TadoAPI_Define { # start the status update timer RemoveInternalTimer($hash); - InternalTimer( gettimeofday() + 15, "TadoAPI_Update", $hash, 0 ); + InternalTimer( gettimeofday() + 15, "TadoAPI_Update", $hash, 0 ); if ( defined($homeID) && $homeID ne "" ) { $attr{$name}{homeID} = $homeID; @@ -662,6 +664,12 @@ sub TadoAPI_Update { Log3 $name, 5, "TadoAPI $name" . ": " . "TadoAPI_Update called"; + if ( AttrVal( $name, "disable", 0 ) == 1 ){ + Log3 $name, 3, "TadoAPI: $name global disabled (attr) :-("; + $hash->{STATE} = "disabled"; + return; + } + my $nextTimer = "none"; my $intervall = 300; @@ -866,6 +874,8 @@ sub TadoAPI_UpdateFn { my $CurrentTokenData = TadoAPI_LoadToken($hash); my $homeID = $attr{$name}{homeID}; + return $hash->{STATE} = "disabled" if ( AttrVal( $name, "disable", 0 ) == 1 ); + if ( $apiStatus == 1 && defined($CurrentTokenData) ) { # zone specific updates