From b3bae00876a7de709c0b955b39688957de317a1b Mon Sep 17 00:00:00 2001 From: vuffiraa <> Date: Tue, 23 Apr 2019 19:28:15 +0000 Subject: [PATCH] 70_BOTVAC.pm: remove redundant reading isScheduleEnabled, fix style, fix boolean git-svn-id: https://svn.fhem.de/fhem/trunk@19249 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/70_BOTVAC.pm | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/fhem/FHEM/70_BOTVAC.pm b/fhem/FHEM/70_BOTVAC.pm index 7c59f7105..b9a812bf0 100755 --- a/fhem/FHEM/70_BOTVAC.pm +++ b/fhem/FHEM/70_BOTVAC.pm @@ -879,7 +879,7 @@ sub ReceiveCommand($$$) { # getSchedule, enableSchedule, disableSchedule if ( ref($return->{data}) eq "HASH" ) { my $scheduleData = $return->{data}; - readingsBulkUpdateIfChanged($hash, "scheduleEnabled", $scheduleData->{enabled}); + readingsBulkUpdateIfChanged($hash, "scheduleEnabled", GetBoolean($scheduleData->{enabled})); readingsBulkUpdateIfChanged($hash, "scheduleType", $scheduleData->{type}) if (defined($scheduleData->{type})); @@ -1060,19 +1060,19 @@ sub ReceiveCommand($$$) { } if ( ref($return->{details}) eq "HASH" ) { my $details = $return->{details}; - readingsBulkUpdateIfChanged($hash, "isCharging", $details->{isCharging}); - readingsBulkUpdateIfChanged($hash, "isDocked", $details->{isDocked}); - readingsBulkUpdateIfChanged($hash, "isScheduleEnabled", $details->{isScheduleEnabled}); - readingsBulkUpdateIfChanged($hash, "dockHasBeenSeen", $details->{dockHasBeenSeen}); - readingsBulkUpdateIfChanged($hash, "batteryPercent", $details->{charge}); + readingsBulkUpdateIfChanged($hash, "isCharging", GetBoolean($details->{isCharging})); + readingsBulkUpdateIfChanged($hash, "isDocked", GetBoolean($details->{isDocked})); + readingsBulkUpdateIfChanged($hash, "scheduleEnabled", GetBoolean($details->{isScheduleEnabled})); + readingsBulkUpdateIfChanged($hash, "dockHasBeenSeen", GetBoolean($details->{dockHasBeenSeen})); + readingsBulkUpdateIfChanged($hash, "batteryPercent", $details->{charge}); } if ( ref($return->{availableCommands}) eq "HASH" ) { my $availableCommands = $return->{availableCommands}; - readingsBulkUpdateIfChanged($hash, ".start", $availableCommands->{start}); - readingsBulkUpdateIfChanged($hash, ".pause", $availableCommands->{pause}); - readingsBulkUpdateIfChanged($hash, ".resume", $availableCommands->{resume}); - readingsBulkUpdateIfChanged($hash, ".goToBase", $availableCommands->{goToBase}); - readingsBulkUpdateIfChanged($hash, ".stop", $availableCommands->{stop}) + readingsBulkUpdateIfChanged($hash, ".start", GetBoolean($availableCommands->{start})); + readingsBulkUpdateIfChanged($hash, ".pause", GetBoolean($availableCommands->{pause})); + readingsBulkUpdateIfChanged($hash, ".resume", GetBoolean($availableCommands->{resume})); + readingsBulkUpdateIfChanged($hash, ".goToBase", GetBoolean($availableCommands->{goToBase})); + readingsBulkUpdateIfChanged($hash, ".stop", GetBoolean($availableCommands->{stop})) unless ($cmd =~ /start.*/ or $cmd eq "getRobotManualCleaningInfo"); } if ( ref($return->{availableServices}) eq "HASH" ) { @@ -1386,6 +1386,22 @@ sub CheckRegistration($$$$$) { return; } +sub GetBoolean($) { + my ($value) = @_; + my $booleans = { + '0' => "0", + 'false' => "0", + '1' => "1", + 'true' => "1" + }; + + if (defined( $booleans->{$value})) { + return $booleans->{$value}; + } else { + return $value; + } +} + sub BuildState($$$$) { my ($hash,$state,$action,$error) = @_; my $states = { @@ -1647,8 +1663,8 @@ sub GetStatistics($) { $ret .= ''; $ret .= ''; $ret .= ''; $ret .= '';
Report: '.ReadingsVal($name,"name","name").', '.InternalVal($name,"VENDOR","VENDOR").', '.ReadingsVal($name,"model","model").'