From fe13d672e75e66b1112fd5eef54ace1f6f033dba Mon Sep 17 00:00:00 2001 From: Philipp Wo Date: Tue, 10 Dec 2019 16:20:57 +0100 Subject: [PATCH] reduced redundant api querys --- 98_TadoAPI.pm | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index 22994f3..c0534b5 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -704,7 +704,6 @@ sub TadoAPI_UpdateFn(@){ hash => $hash, callback => \&TadoAPI_UpdateAllZoneReadingsCallback }; - HttpUtils_NonblockingGet($request); # mobile devices @@ -719,7 +718,6 @@ sub TadoAPI_UpdateFn(@){ hash => $hash }; HttpUtils_NonblockingGet($request); - } } @@ -771,18 +769,22 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){ foreach my $zone ( @$decoded_data ){ my $zoneid = $zone->{'id'}; Log3 $name, 5, "TadoAPI $name" . ": " . "Set Reading Update for Zone $zoneid "; - my ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay ) = TadoAPI_GetZoneReadingsById($hash, $zoneid); - my $zoneName = TadoAPI_GetZoneNameById($hash, $zoneid); - if(defined($zoneName)){ - readingsBeginUpdate($hash); - readingsBulkUpdate($hash, "Temperatur_" . $zoneName, $temperature); - readingsBulkUpdate($hash, "Luftfeuchtigkeit_" . $zoneName, $humidity); - readingsBulkUpdate($hash, "Heizleistung_" . $zoneName, $currentHeatingPower); - readingsBulkUpdate($hash, "OverlayType_" . $zoneName, $overlay); - readingsBulkUpdate($hash, "DesiredTemp_" . $zoneName, $desiredTemp); - readingsEndUpdate( $hash, 0 ); - } + # updates zone readings + TadoAPI_GetZoneReadingsById($hash, $zoneid); + + # my ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay ) = TadoAPI_GetZoneReadingsById($hash, $zoneid); + # my $zoneName = TadoAPI_GetZoneNameById($hash, $zoneid); + + # if(defined($zoneName)){ + # readingsBeginUpdate($hash); + # readingsBulkUpdate($hash, "Temperatur_" . $zoneName, $temperature); + # readingsBulkUpdate($hash, "Luftfeuchtigkeit_" . $zoneName, $humidity); + # readingsBulkUpdate($hash, "Heizleistung_" . $zoneName, $currentHeatingPower); + # readingsBulkUpdate($hash, "OverlayType_" . $zoneName, $overlay); + # readingsBulkUpdate($hash, "DesiredTemp_" . $zoneName, $desiredTemp); + # readingsEndUpdate( $hash, 1 ); + # } # iterate through all devices in zone my $devices = $zone->{'devices'}; foreach my $device ( @$devices ){ @@ -1233,7 +1235,7 @@ sub TadoAPI_GetZoneReadingsById(@){ url => $URL, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, method => 'GET', - timeout => 5, + timeout => 4, hash => $hash };