From 91dc626e4c58b4227984de0c8b9eac0bdd6f6b9e Mon Sep 17 00:00:00 2001 From: Philipp Wo Date: Tue, 10 Dec 2019 18:07:41 +0100 Subject: [PATCH] all events with same timestamp performance improvement? --- 98_TadoAPI.pm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index 7b03524..915dbab 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -766,6 +766,7 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){ Log3 $name, 3, "TadoAPI $name" . ": " . "UpdateAllZonesCallback: Error in decoded data, Code: " . $decoded_data->{'errors'}->[0]->{'code'} if (exists($decoded_data->{'errors'}->[0]->{'code'})); $hash->{LastRequest}="error"; }else{ + readingsBeginUpdate($hash); foreach my $zone ( @$decoded_data ){ my $zoneid = $zone->{'id'}; Log3 $name, 5, "TadoAPI $name" . ": " . "Set Reading Update for Zone $zoneid "; @@ -773,24 +774,20 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){ my ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay, $zoneName ) = TadoAPI_GetZoneReadingsById($hash, $zoneid); # updates zone readings - 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 ); # iterate through all devices in zone my $devices = $zone->{'devices'}; foreach my $device ( @$devices ){ - readingsBeginUpdate($hash); readingsBulkUpdate($hash, "Battery_" . $device->{'serialNo'}, $device->{'batteryState'}); - readingsEndUpdate( $hash, 1 ); $hash->{LastRequest}="OK"; } - } + readingsEndUpdate( $hash, 1 ); } my $zonecount = TadoAPI_GetZoneCount($hash); readingsBeginUpdate($hash);