change to readingsBulkUpdateIfChanged

This commit is contained in:
Marko Oldenburg 2018-07-22 21:47:33 +02:00
parent 87575d3141
commit de0426c1a9

View File

@ -361,7 +361,7 @@ sub LGTV_WebOS_TimerStatusRequest($) {
LGTV_WebOS_Close($hash); LGTV_WebOS_Close($hash);
LGTV_WebOS_Presence($hash) if( AttrVal($name,'pingPresence', 0) == 1 ); LGTV_WebOS_Presence($hash) if( AttrVal($name,'pingPresence', 0) == 1 );
$hash->{helper}{device}{runsetcmd} = 0; $hash->{helper}{device}{runsetcmd} = 0;
readingsBulkUpdate($hash, 'state', 'disabled'); readingsBulkUpdateIfChanged($hash, 'state', 'disabled');
} else { } else {
@ -857,7 +857,7 @@ sub LGTV_WebOS_WriteReadings($$) {
if( ref($decode_json->{payload}{services}) eq "ARRAY" and scalar(@{$decode_json->{payload}{services}}) > 0 ) { if( ref($decode_json->{payload}{services}) eq "ARRAY" and scalar(@{$decode_json->{payload}{services}}) > 0 ) {
foreach my $services (@{$decode_json->{payload}{services}}) { foreach my $services (@{$decode_json->{payload}{services}}) {
readingsBulkUpdate($hash,'service_'.$services->{name},'v.'.$services->{version}); readingsBulkUpdateIfChanged($hash,'service_'.$services->{name},'v.'.$services->{version});
} }
} }
@ -871,7 +871,7 @@ sub LGTV_WebOS_WriteReadings($$) {
$hash->{helper}{device}{inputapps}{$devices->{appId}} = $devices->{label}; $hash->{helper}{device}{inputapps}{$devices->{appId}} = $devices->{label};
} }
readingsBulkUpdate($hash,'extInput_'.$devices->{label},'connect_'.$devices->{connected}); readingsBulkUpdateIfChanged($hash,'extInput_'.$devices->{label},'connect_'.$devices->{connected});
} }
} }
@ -883,15 +883,15 @@ sub LGTV_WebOS_WriteReadings($$) {
if( str2time(LGTV_WebOS_FormartStartEndTime($programList->{localEndTime})) > time() ) { if( str2time(LGTV_WebOS_FormartStartEndTime($programList->{localEndTime})) > time() ) {
if($count < 1) { if($count < 1) {
readingsBulkUpdate($hash,'channelCurrentTitle',$programList->{programName}); readingsBulkUpdateIfChanged($hash,'channelCurrentTitle',$programList->{programName});
readingsBulkUpdate($hash,'channelCurrentStartTime',LGTV_WebOS_FormartStartEndTime($programList->{localStartTime})); readingsBulkUpdateIfChanged($hash,'channelCurrentStartTime',LGTV_WebOS_FormartStartEndTime($programList->{localStartTime}));
readingsBulkUpdate($hash,'channelCurrentEndTime',LGTV_WebOS_FormartStartEndTime($programList->{localEndTime})); readingsBulkUpdateIfChanged($hash,'channelCurrentEndTime',LGTV_WebOS_FormartStartEndTime($programList->{localEndTime}));
} elsif($count < 2) { } elsif($count < 2) {
readingsBulkUpdate($hash,'channelNextTitle',$programList->{programName}); readingsBulkUpdateIfChanged($hash,'channelNextTitle',$programList->{programName});
readingsBulkUpdate($hash,'channelNextStartTime',LGTV_WebOS_FormartStartEndTime($programList->{localStartTime})); readingsBulkUpdateIfChanged($hash,'channelNextStartTime',LGTV_WebOS_FormartStartEndTime($programList->{localStartTime}));
readingsBulkUpdate($hash,'channelNextEndTime',LGTV_WebOS_FormartStartEndTime($programList->{localEndTime})); readingsBulkUpdateIfChanged($hash,'channelNextEndTime',LGTV_WebOS_FormartStartEndTime($programList->{localEndTime}));
} }
$count++; $count++;
@ -904,49 +904,49 @@ sub LGTV_WebOS_WriteReadings($$) {
if( defined($decode_json->{payload}{'mute'}) and ($decode_json->{payload}{'mute'} eq 'true' or $decode_json->{payload}{'mute'} == 1 ) ) { if( defined($decode_json->{payload}{'mute'}) and ($decode_json->{payload}{'mute'} eq 'true' or $decode_json->{payload}{'mute'} == 1 ) ) {
readingsBulkUpdate($hash,'mute','on'); readingsBulkUpdateIfChanged($hash,'mute','on');
} elsif( defined($decode_json->{payload}{'mute'}) ) { } elsif( defined($decode_json->{payload}{'mute'}) ) {
if( $decode_json->{payload}{'mute'} eq 'false' or $decode_json->{payload}{'mute'} == 0 ) { if( $decode_json->{payload}{'mute'} eq 'false' or $decode_json->{payload}{'mute'} == 0 ) {
readingsBulkUpdate($hash,'mute','off'); readingsBulkUpdateIfChanged($hash,'mute','off');
} }
} }
if( defined($decode_json->{payload}{'muted'}) and ($decode_json->{payload}{'muted'} eq 'true' or $decode_json->{payload}{'muted'} == 1) ) { if( defined($decode_json->{payload}{'muted'}) and ($decode_json->{payload}{'muted'} eq 'true' or $decode_json->{payload}{'muted'} == 1) ) {
readingsBulkUpdate($hash,'mute','on'); readingsBulkUpdateIfChanged($hash,'mute','on');
} elsif( defined($decode_json->{payload}{'muted'}) and ($decode_json->{payload}{'muted'} eq 'false' or $decode_json->{payload}{'muted'} == 0) ) { } elsif( defined($decode_json->{payload}{'muted'}) and ($decode_json->{payload}{'muted'} eq 'false' or $decode_json->{payload}{'muted'} == 0) ) {
readingsBulkUpdate($hash,'mute','off'); readingsBulkUpdateIfChanged($hash,'mute','off');
} }
} }
elsif( defined($decode_json->{payload}{status3D}{status}) ) { elsif( defined($decode_json->{payload}{status3D}{status}) ) {
if( $decode_json->{payload}{status3D}{status} eq 'false' or $decode_json->{payload}{status3D}{status} == 0 ) { if( $decode_json->{payload}{status3D}{status} eq 'false' or $decode_json->{payload}{status3D}{status} == 0 ) {
readingsBulkUpdate($hash,'3D','off'); readingsBulkUpdateIfChanged($hash,'3D','off');
} elsif( $decode_json->{payload}{status3D}{status} eq 'true' or $decode_json->{payload}{status3D}{status} == 1 ) { } elsif( $decode_json->{payload}{status3D}{status} eq 'true' or $decode_json->{payload}{status3D}{status} == 1 ) {
readingsBulkUpdate($hash,'3D','on'); readingsBulkUpdateIfChanged($hash,'3D','on');
} }
readingsBulkUpdate($hash,'3DMode',$decode_json->{payload}{status3D}{pattern}); readingsBulkUpdateIfChanged($hash,'3DMode',$decode_json->{payload}{status3D}{pattern});
} }
elsif( defined($decode_json->{payload}{appId}) ) { elsif( defined($decode_json->{payload}{appId}) ) {
if( $decode_json->{payload}{appId} =~ /com.webos.app.externalinput/ or $decode_json->{payload}{appId} =~ /com.webos.app.hdmi/ ) { if( $decode_json->{payload}{appId} =~ /com.webos.app.externalinput/ or $decode_json->{payload}{appId} =~ /com.webos.app.hdmi/ ) {
readingsBulkUpdate($hash,'input',$hash->{helper}{device}{inputapps}{$decode_json->{payload}{appId}}); readingsBulkUpdateIfChanged($hash,'input',$hash->{helper}{device}{inputapps}{$decode_json->{payload}{appId}});
readingsBulkUpdate($hash,'launchApp','-'); readingsBulkUpdateIfChanged($hash,'launchApp','-');
} else { } else {
readingsBulkUpdate($hash,'launchApp',$openAppsPackageName{$decode_json->{payload}{appId}}); readingsBulkUpdateIfChanged($hash,'launchApp',$openAppsPackageName{$decode_json->{payload}{appId}});
readingsBulkUpdate($hash,'input','-'); readingsBulkUpdateIfChanged($hash,'input','-');
} }
} }
@ -959,7 +959,7 @@ sub LGTV_WebOS_WriteReadings($$) {
} elsif( ($decode_json->{type} eq 'response' and ($decode_json->{payload}{returnValue} eq 'true' or $decode_json->{payload}{returnValue} == 1 )) or ($decode_json->{type} eq 'registered') and defined($decode_json->{payload}{'client-key'}) ) { } elsif( ($decode_json->{type} eq 'response' and ($decode_json->{payload}{returnValue} eq 'true' or $decode_json->{payload}{returnValue} == 1 )) or ($decode_json->{type} eq 'registered') and defined($decode_json->{payload}{'client-key'}) ) {
$response = 'ok'; $response = 'ok';
readingsBulkUpdate($hash,'pairing','paired'); readingsBulkUpdateIfChanged($hash,'pairing','paired');
$hash->{helper}{device}{runsetcmd} = $hash->{helper}{device}{runsetcmd} - 1 if($hash->{helper}{device}{runsetcmd} > 0); $hash->{helper}{device}{runsetcmd} = $hash->{helper}{device}{runsetcmd} - 1 if($hash->{helper}{device}{runsetcmd} > 0);
} elsif( $decode_json->{type} eq 'error' ) { } elsif( $decode_json->{type} eq 'error' ) {
@ -968,7 +968,7 @@ sub LGTV_WebOS_WriteReadings($$) {
if($decode_json->{error} eq '401 insufficient permissions' or $decode_json->{error} eq '401 insufficient permissions (not registered)') { if($decode_json->{error} eq '401 insufficient permissions' or $decode_json->{error} eq '401 insufficient permissions (not registered)') {
readingsBulkUpdate($hash,'pairing','unpaired'); readingsBulkUpdateIfChanged($hash,'pairing','unpaired');
} }
$hash->{helper}{device}{runsetcmd} = $hash->{helper}{device}{runsetcmd} - 1 if($hash->{helper}{device}{runsetcmd} > 0); $hash->{helper}{device}{runsetcmd} = $hash->{helper}{device}{runsetcmd} - 1 if($hash->{helper}{device}{runsetcmd} > 0);
@ -976,27 +976,27 @@ sub LGTV_WebOS_WriteReadings($$) {
} }
readingsBulkUpdate($hash,'lgKey',$decode_json->{payload}{'client-key'}); readingsBulkUpdateIfChanged($hash,'lgKey',$decode_json->{payload}{'client-key'});
readingsBulkUpdate($hash,'volume',$decode_json->{payload}{'volume'}); readingsBulkUpdateIfChanged($hash,'volume',$decode_json->{payload}{'volume'});
readingsBulkUpdate($hash,'lastResponse',$response); readingsBulkUpdateIfChanged($hash,'lastResponse',$response);
if( ReadingsVal($name,'launchApp','none') eq 'TV') { if( ReadingsVal($name,'launchApp','none') eq 'TV') {
readingsBulkUpdate($hash,'channel',$decode_json->{payload}{'channelNumber'}); readingsBulkUpdateIfChanged($hash,'channel',$decode_json->{payload}{'channelNumber'});
readingsBulkUpdate($hash,'channelName',$decode_json->{payload}{'channelName'}); readingsBulkUpdateIfChanged($hash,'channelName',$decode_json->{payload}{'channelName'});
readingsBulkUpdate($hash,'channelMedia',$decode_json->{payload}{'channelTypeName'}); readingsBulkUpdateIfChanged($hash,'channelMedia',$decode_json->{payload}{'channelTypeName'});
} else { } else {
readingsBulkUpdate($hash,'channelName','-'); readingsBulkUpdateIfChanged($hash,'channelName','-');
readingsBulkUpdate($hash,'channel','-'); readingsBulkUpdateIfChanged($hash,'channel','-');
readingsBulkUpdate($hash,'channelMedia','-'); readingsBulkUpdateIfChanged($hash,'channelMedia','-');
readingsBulkUpdate($hash,'channelCurrentTitle','-'); readingsBulkUpdateIfChanged($hash,'channelCurrentTitle','-');
readingsBulkUpdate($hash,'channelCurrentStartTime','-'); readingsBulkUpdateIfChanged($hash,'channelCurrentStartTime','-');
readingsBulkUpdate($hash,'channelCurrentEndTime','-'); readingsBulkUpdateIfChanged($hash,'channelCurrentEndTime','-');
readingsBulkUpdate($hash,'channelNextTitle','-'); readingsBulkUpdateIfChanged($hash,'channelNextTitle','-');
readingsBulkUpdate($hash,'channelNextStartTime','-'); readingsBulkUpdateIfChanged($hash,'channelNextStartTime','-');
readingsBulkUpdate($hash,'channelNextEndTime','-'); readingsBulkUpdateIfChanged($hash,'channelNextEndTime','-');
} }
readingsBulkUpdateIfChanged($hash,'state','on'); readingsBulkUpdateIfChanged($hash,'state','on');