add mor support for disable and disabledForIntervals

add check IsDisabled function
This commit is contained in:
Marko Oldenburg 2020-10-30 15:19:18 +01:00
parent 4cd8b0ecea
commit c897299103
2 changed files with 33 additions and 4 deletions

View File

@ -1,2 +1,2 @@
UPD 2020-10-28_19:14:19 6242 FHEM/98_backupToStorage.pm UPD 2020-10-28_19:14:19 6242 FHEM/98_backupToStorage.pm
UPD 2020-10-28_19:13:53 17356 lib/FHEM/backupToStorage.pm UPD 2020-10-30_15:17:14 18433 lib/FHEM/backupToStorage.pm

View File

@ -204,6 +204,7 @@ sub Notify {
my $devtype = $dev->{TYPE}; my $devtype = $dev->{TYPE};
my $events = deviceEvents( $dev, 1 ); my $events = deviceEvents( $dev, 1 );
_CheckIsDisabledAfterSetAttr($hash);
return if ( !$events return if ( !$events
|| IsDisabled($name) ); || IsDisabled($name) );
@ -322,15 +323,43 @@ sub Attr {
my $cmd = shift; my $cmd = shift;
my $name = shift; my $name = shift;
my $hash = $defs{$name};
my $attrName = shift; my $attrName = shift;
my $attrVal = shift; my $attrVal = shift;
if ( $cmd eq 'set' ) {
if ( $attrName eq 'disable'
|| $attrName eq 'disabledForIntervals' ) {
if ( $cmd eq 'set' ) {
if ( $attrName eq 'disabledForIntervals' ) {
return
'check disabledForIntervals Syntax HH:MM-HH:MM or HH:MM-HH:MM HH:MM-HH:MM ...'
if ( $attrVal !~ /^((\d{2}:\d{2})-(\d{2}:\d{2})\s?)+$/ );
Log3( $name, 3, "backupToStorage ($name) - disabledForIntervals" );
}
elsif ( $attrName eq 'disable' ) {
Log3( $name, 3, "backupToStorage ($name) - disabled" );
}
}
InternalTimer( gettimeofday() + 1,
'FHEM::backupToStorage::_CheckIsDisabledAfterSetAttr', $hash, 0 );
} }
} }
sub _CheckIsDisabledAfterSetAttr {
my $hash = shift;
my $name = $hash->{NAME};
my $state = ( IsDisabled($name)
? 'disabled'
: 'ready' );
readingsSingleUpdate($hash, 'state', $state, 1)
if ( ReadingsVal($name, 'state', 'ready' ) ne $state );
}
sub Rename { sub Rename {
my $new = shift; my $new = shift;
my $old = shift; my $old = shift;