no event when readingsBulkUpdate
This commit is contained in:
parent
03fef4a2cc
commit
505de090f2
@ -770,8 +770,16 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){
|
|||||||
my $zoneid = $zone->{'id'};
|
my $zoneid = $zone->{'id'};
|
||||||
Log3 $name, 5, "TadoAPI $name" . ": " . "Set Reading Update for Zone $zoneid ";
|
Log3 $name, 5, "TadoAPI $name" . ": " . "Set Reading Update for Zone $zoneid ";
|
||||||
|
|
||||||
|
my ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay, $zoneName ) = TadoAPI_GetZoneReadingsById($hash, $zoneid);
|
||||||
|
|
||||||
# updates zone readings
|
# updates zone readings
|
||||||
TadoAPI_GetZoneReadingsById($hash, $zoneid);
|
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
|
# iterate through all devices in zone
|
||||||
my $devices = $zone->{'devices'};
|
my $devices = $zone->{'devices'};
|
||||||
@ -787,7 +795,7 @@ sub TadoAPI_UpdateAllZoneReadingsCallback($){
|
|||||||
my $zonecount = TadoAPI_GetZoneCount($hash);
|
my $zonecount = TadoAPI_GetZoneCount($hash);
|
||||||
readingsBeginUpdate($hash);
|
readingsBeginUpdate($hash);
|
||||||
readingsBulkUpdate($hash, "ActiveZones", $zonecount);
|
readingsBulkUpdate($hash, "ActiveZones", $zonecount);
|
||||||
readingsEndUpdate( $hash, 1 );
|
readingsEndUpdate( $hash, 0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1243,7 +1251,6 @@ sub TadoAPI_GetZoneReadingsById(@){
|
|||||||
}else{
|
}else{
|
||||||
my $zoneName = TadoAPI_GetZoneNameById($hash, $zoneID);
|
my $zoneName = TadoAPI_GetZoneNameById($hash, $zoneID);
|
||||||
|
|
||||||
if (defined($zoneName)){
|
|
||||||
$temperature = sprintf("%.1f", $decoded_data->{'sensorDataPoints'}->{'insideTemperature'}->{'celsius'});
|
$temperature = sprintf("%.1f", $decoded_data->{'sensorDataPoints'}->{'insideTemperature'}->{'celsius'});
|
||||||
$humidity = $decoded_data->{'sensorDataPoints'}->{'humidity'}->{'percentage'};
|
$humidity = $decoded_data->{'sensorDataPoints'}->{'humidity'}->{'percentage'};
|
||||||
if($decoded_data->{'setting'}->{'power'} eq "OFF"){
|
if($decoded_data->{'setting'}->{'power'} eq "OFF"){
|
||||||
@ -1255,15 +1262,7 @@ sub TadoAPI_GetZoneReadingsById(@){
|
|||||||
$overlay = $decoded_data->{'overlayType'};
|
$overlay = $decoded_data->{'overlayType'};
|
||||||
if (!defined $overlay) {$overlay = "no overlay"};
|
if (!defined $overlay) {$overlay = "no overlay"};
|
||||||
|
|
||||||
readingsBeginUpdate($hash);
|
return ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay, $zoneName );
|
||||||
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 );
|
|
||||||
}
|
|
||||||
return ($temperature, $humidity, $desiredTemp, $currentHeatingPower, $overlay );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user