code parts to remove Self_Defense_Exclude Attr

This commit is contained in:
Marko Oldenburg 2019-09-16 17:15:02 +02:00
parent cdb35a98f7
commit 9ad485e747

View File

@ -244,8 +244,7 @@ my %userAttrList = (
'ASC_Partymode:on,off' => '-', 'ASC_Partymode:on,off' => '-',
'ASC_Roommate_Device' => '-', 'ASC_Roommate_Device' => '-',
'ASC_Roommate_Reading' => '-', 'ASC_Roommate_Reading' => '-',
'ASC_Self_Defense_Exclude:on,off' => '-', 'ASC_Self_Defense_Mode:absent,gone,off' => '-',
'ASC_Self_Defense_Mode:absent,gone' => '-',
'ASC_Self_Defense_AbsentDelay' => '-', 'ASC_Self_Defense_AbsentDelay' => '-',
'ASC_WiggleValue' => '-', 'ASC_WiggleValue' => '-',
'ASC_WindParameters' => '-', 'ASC_WindParameters' => '-',
@ -724,6 +723,12 @@ sub ShuttersDeviceScan($) {
$shutters->setAttrUpdateChanges( 'ASC_Down', $shutters->setAttrUpdateChanges( 'ASC_Down',
AttrVal( $_, 'ASC_Down', 'none' ) ); AttrVal( $_, 'ASC_Down', 'none' ) );
delFromDevAttrList( $_, 'ASC_Down' ); delFromDevAttrList( $_, 'ASC_Down' );
$shutters->setAttrUpdateChanges( 'ASC_Self_Defense_Mode',
AttrVal( $_, 'ASC_Self_Defense_Mode', 'none' ) );
delFromDevAttrList( $_, 'ASC_Self_Defense_Mode' );
$shutters->setAttrUpdateChanges( 'ASC_Self_Defense_Exclude',
AttrVal( $_, 'ASC_Self_Defense_Exclude', 'none' ) );
delFromDevAttrList( $_, 'ASC_Self_Defense_Exclude' );
} }
#### ####
@ -1284,18 +1289,18 @@ sub EventProcessingResidents($@) {
$shutters->setHardLockOut('off'); $shutters->setHardLockOut('off');
if ( if (
$ascDev->getSelfDefense eq 'on' $ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off' and $shutters->getSelfDefenseMode ne 'off'
or ( $getModeDown eq 'absent' or ( $getModeDown eq 'absent'
or $getModeDown eq 'always' ) or $getModeDown eq 'always' )
) )
{ {
if ( if (
$ascDev->getSelfDefense eq 'on' $ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off'
and ( $shutters->getSelfDefenseMode eq 'absent' and ( $shutters->getSelfDefenseMode eq 'absent'
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
and $shutters->getSelfDefenseMode eq 'gone' and $shutters->getSelfDefenseMode eq 'gone'
and $shutters->getShuttersPlace eq 'terrace' and $shutters->getShuttersPlace eq 'terrace'
and $shutters->getSelfDefenseMode ne 'off'
) )
) )
) )
@ -1327,7 +1332,7 @@ sub EventProcessingResidents($@) {
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
$shutters->setHardLockOut('off'); $shutters->setHardLockOut('off');
if ( $shutters->getSelfDefenseExclude eq 'off' ) { if ( $shutters->getSelfDefenseMode ne 'off' ) {
$shutters->setLastDrive('selfDefense'); $shutters->setLastDrive('selfDefense');
$shutters->setDriveCmd( $shutters->getClosedPos ); $shutters->setDriveCmd( $shutters->getClosedPos );
@ -1395,7 +1400,7 @@ sub EventProcessingResidents($@) {
} }
elsif ( elsif (
$ascDev->getSelfDefense eq 'on' $ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off' and $shutters->getSelfDefenseMode ne 'off'
and not $shutters->getIfInShading and not $shutters->getIfInShading
and ( $getResidentsLastStatus eq 'gone' and ( $getResidentsLastStatus eq 'gone'
or $getResidentsLastStatus eq 'absent' ) or $getResidentsLastStatus eq 'absent' )
@ -1405,7 +1410,7 @@ sub EventProcessingResidents($@) {
RemoveInternalTimer( $shutters->getSelfDefenseAbsentTimerhash ) RemoveInternalTimer( $shutters->getSelfDefenseAbsentTimerhash )
if ( $getResidentsLastStatus eq 'absent' if ( $getResidentsLastStatus eq 'absent'
and $ascDev->getSelfDefense eq 'on' and $ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off' and $shutters->getSelfDefenseMode ne 'off'
and not $shutters->getSelfDefenseAbsent and not $shutters->getSelfDefenseAbsent
and $shutters->getSelfDefenseAbsentTimerrun ); and $shutters->getSelfDefenseAbsentTimerrun );
@ -2577,6 +2582,12 @@ sub RenewSunRiseSetShuttersTimer($) {
if ( $shutters->getAttrUpdateChanges('ASC_Up') ne 'none' ); if ( $shutters->getAttrUpdateChanges('ASC_Up') ne 'none' );
$attr{$_}{'ASC_Down'} = $shutters->getAttrUpdateChanges('ASC_Down') $attr{$_}{'ASC_Down'} = $shutters->getAttrUpdateChanges('ASC_Down')
if ( $shutters->getAttrUpdateChanges('ASC_Down') ne 'none' ); if ( $shutters->getAttrUpdateChanges('ASC_Down') ne 'none' );
$attr{$_}{'ASC_Self_Defense_Mode'} = $shutters->getAttrUpdateChanges('ASC_Self_Defense_Mode')
if ( $shutters->getAttrUpdateChanges('ASC_Self_Defense_Mode') ne 'none' );
$attr{$_}{'ASC_Self_Defense_Mode'} = 'off'
if ( $shutters->getAttrUpdateChanges('ASC_Self_Defense_Exclude') eq 'on' );
CommandDeleteReading( undef, $_ . ' .ASC_AttrUpdateChanges_.*' ) CommandDeleteReading( undef, $_ . ' .ASC_AttrUpdateChanges_.*' )
if ( if (
@ -2678,7 +2689,7 @@ sub SunSetShuttersAfterTimerFn($) {
) )
and ( and (
$ascDev->getSelfDefense eq 'off' $ascDev->getSelfDefense eq 'off'
or $shutters->getSelfDefenseExclude eq 'on' or $shutters->getSelfDefenseMode eq 'off'
or ( or (
$ascDev->getSelfDefense eq 'on' $ascDev->getSelfDefense eq 'on'
and $ascDev->getResidentsStatus ne 'absent' and $ascDev->getResidentsStatus ne 'absent'
@ -2733,7 +2744,7 @@ sub SunRiseShuttersAfterTimerFn($) {
) )
and ( and (
$ascDev->getSelfDefense eq 'off' $ascDev->getSelfDefense eq 'off'
or $shutters->getSelfDefenseExclude eq 'on' or $shutters->getSelfDefenseMode eq 'off'
or ( $ascDev->getSelfDefense eq 'on' or ( $ascDev->getSelfDefense eq 'on'
and $ascDev->getResidentsStatus ne 'absent' and $ascDev->getResidentsStatus ne 'absent'
and $ascDev->getResidentsStatus ne 'gone' and $ascDev->getResidentsStatus ne 'gone'
@ -3886,7 +3897,7 @@ sub setDriveCmd {
if ( $shutters->getSelfDefenseAbsent if ( $shutters->getSelfDefenseAbsent
and not $shutters->getSelfDefenseAbsentTimerrun and not $shutters->getSelfDefenseAbsentTimerrun
and $shutters->getSelfDefenseExclude eq 'off' and $shutters->getSelfDefenseMode ne 'off'
and $shutters->getLastDrive eq 'selfDefense active' and $shutters->getLastDrive eq 'selfDefense active'
and $ascDev->getSelfDefense eq 'on' ) and $ascDev->getSelfDefense eq 'on' )
{ {
@ -4500,12 +4511,6 @@ sub getPrivacyDownPos {
return AttrVal( $self->{shuttersDev}, 'ASC_PrivacyDown_Pos', 50 ); return AttrVal( $self->{shuttersDev}, 'ASC_PrivacyDown_Pos', 50 );
} }
sub getSelfDefenseExclude {
my $self = shift;
return AttrVal( $self->{shuttersDev}, 'ASC_Self_Defense_Exclude', 'off' );
}
sub getSelfDefenseMode { sub getSelfDefenseMode {
my $self = shift; my $self = shift;
@ -6663,7 +6668,7 @@ sub getblockAscDrivesAfterManual {
], ],
"release_status": "under develop", "release_status": "under develop",
"license": "GPL_2", "license": "GPL_2",
"version": "v0.6.33", "version": "v0.6.34",
"x_developmentversion": "v0.6.19.34", "x_developmentversion": "v0.6.19.34",
"author": [ "author": [
"Marko Oldenburg <leongaultier@gmail.com>" "Marko Oldenburg <leongaultier@gmail.com>"