From 08c29a2cb3f10608ea40f1d5f73b49ed1fe2add2 Mon Sep 17 00:00:00 2001 From: delmar <> Date: Tue, 23 Feb 2021 19:14:52 +0000 Subject: [PATCH] 72_TA_CMI_JSON: fixed event generation git-svn-id: https://svn.fhem.de/fhem/trunk@23808 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/72_TA_CMI_JSON.pm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/fhem/FHEM/72_TA_CMI_JSON.pm b/fhem/FHEM/72_TA_CMI_JSON.pm index 1684287c5..daeeec603 100755 --- a/fhem/FHEM/72_TA_CMI_JSON.pm +++ b/fhem/FHEM/72_TA_CMI_JSON.pm @@ -250,9 +250,9 @@ sub ParseHttpResponse { if($err ne "") { Log3 $name, 0, "TA_CMI_JSON ($name) - error while requesting ".$param->{url}." - $err"; readingsBeginUpdate($hash); - readingsBulkUpdate($hash, 'state', 'ERROR', 0); - readingsBulkUpdate($hash, 'error', $err, 0); - readingsEndUpdate($hash, 0); + readingsBulkUpdate($hash, 'state', 'ERROR', 1); + readingsBulkUpdate($hash, 'error', $err, 1); + readingsEndUpdate($hash, 1); } elsif($data ne "") { my $keyValues = json2nameValue($data); @@ -264,7 +264,7 @@ sub ParseHttpResponse { readingsDelete($hash, "state"); readingsBeginUpdate($hash); - readingsBulkUpdateIfChanged($hash, 'state', $keyValues->{Status}); + readingsBulkUpdateIfChanged($hash, 'state', $keyValues->{Status}, 1); if ( $keyValues->{Status} eq 'OK' ) { my $queryParams = $hash->{QUERYPARAM}; $queryParams = '' unless defined $queryParams; @@ -339,16 +339,16 @@ sub extractReadings { my $jsonKey = 'Data_'.$dataKey.'_'.$idx.'_Value_Value'; my $readingValue = $keyValues->{$jsonKey}; Log3 $name, 5, "TA_CMI_JSON ($name) - readingName: $readingName, key: $jsonKey, value: $readingValue"; - readingsBulkUpdateIfChanged($hash, $readingName, $readingValue); + readingsBulkUpdateIfChanged($hash, $readingName, $readingValue, 1); $jsonKey = 'Data_'.$dataKey.'_'.$idx.'_Value_RAS'; my $readingRas = $keyValues->{$jsonKey}; if (defined($readingRas)) { - readingsBulkUpdateIfChanged($hash, $readingName . '_RAS', $readingRas); + readingsBulkUpdateIfChanged($hash, $readingName . '_RAS', $readingRas, 1); if ($inclPrettyReadings) { my $ras = (defined($rasStates{$readingRas}) ? $rasStates{$readingRas} : undef); - readingsBulkUpdateIfChanged($hash, $readingName . '_RAS_Pretty', $ras) if ($ras); + readingsBulkUpdateIfChanged($hash, $readingName . '_RAS_Pretty', $ras, 1) if ($ras); } } @@ -359,11 +359,11 @@ sub extractReadings { $unit = (defined($units{$readingUnit}) ? $units{$readingUnit} : 'unknown: ' . $readingUnit); Log3 $name, 5, "TA_CMI_JSON ($name) - readingName: $readingName . '_Unit', key: $jsonKey, value: $readingUnit, unit: $unit"; - readingsBulkUpdateIfChanged($hash, $readingName . '_Unit', $unit) if ($inclUnitReadings); + readingsBulkUpdateIfChanged($hash, $readingName . '_Unit', $unit, 1) if ($inclUnitReadings); } if ($inclPrettyReadings) { - readingsBulkUpdateIfChanged($hash, $readingName . '_Pretty', $readingValue . ' ' . $unit); + readingsBulkUpdateIfChanged($hash, $readingName . '_Pretty', $readingValue . ' ' . $unit, 1); } } @@ -424,7 +424,7 @@ sub ParseOutputStateResponse { readingsBeginUpdate($hash); readingsBulkUpdate($hash, 'state', 'ERROR', 0); readingsBulkUpdate($hash, 'error', $err, 0); - readingsEndUpdate($hash, 0); + readingsEndUpdate($hash, 1); } elsif($data ne "") { readingsDelete($hash, "error"); readingsDelete($hash, "state"); @@ -447,15 +447,15 @@ sub ParseOutputStateResponse { $readingName = makeReadingName($readingName); my $readingValue = $values[$i]; - readingsBulkUpdateIfChanged($hash, $readingName.'_State', $readingValue); + readingsBulkUpdateIfChanged($hash, $readingName.'_State', $readingValue, 1); if ($prettyOutputStates eq '1') { my $prettyValue = (defined($outputStates{$readingValue}) ? $outputStates{$readingValue} : '?:'.$readingValue); - readingsBulkUpdateIfChanged($hash, $readingName.'_State_Pretty', $prettyValue); + readingsBulkUpdateIfChanged($hash, $readingName.'_State_Pretty', $prettyValue, 1); } Log3 $name, 5, "TA_CMI_JSON ($name) - readingName: $readingName, readingNameIndex: $readingNameIndex, valueIndex: $i, value: $readingValue"; } - readingsEndUpdate($hash, 0); + readingsEndUpdate($hash, 1); Log3 $name, 5, "TA_CMI_JSON ($name) - Output Data $nrValues: $data"; }