fix party mode then close window
This commit is contained in:
parent
7d47fae3a7
commit
7009423fa9
@ -2332,7 +2332,8 @@ sub EventProcessingPartyMode($) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elsif ( $shutters->getIsDay
|
elsif ( $shutters->getDelayCmd ne 'none'
|
||||||
|
and $shutters->getIsDay
|
||||||
and IsAfterShuttersManualBlocking($shuttersDev) )
|
and IsAfterShuttersManualBlocking($shuttersDev) )
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('drive after party mode');
|
$shutters->setLastDrive('drive after party mode');
|
||||||
@ -3961,63 +3962,78 @@ sub setDriveCmd {
|
|||||||
my $offSet;
|
my $offSet;
|
||||||
my $offSetStart;
|
my $offSetStart;
|
||||||
|
|
||||||
### antifreeze Routine
|
|
||||||
if ( $shutters->getFreezeStatus > 0 ) {
|
|
||||||
if ( $shutters->getFreezeStatus != 1 ) {
|
|
||||||
|
|
||||||
$posValue = $shutters->getStatus;
|
if ( $shutters->getPartyMode eq 'on'
|
||||||
$shutters->setLastDrive('no drive - antifreeze defense');
|
and $ascDev->getPartyMode eq 'on' ) {
|
||||||
$shutters->setLastDriveReading;
|
|
||||||
$ascDev->setStateReading;
|
$shutters->setDelayCmd($posValue);
|
||||||
}
|
$ascDev->setDelayCmdReading;
|
||||||
elsif ( $posValue == $shutters->getClosedPos ) {
|
$shutters->setNoDelay(0);
|
||||||
$posValue = $shutters->getAntiFreezePos;
|
|
||||||
$shutters->setLastDrive(
|
FHEM::AutoShuttersControl::ASC_Debug( 'setDriveCmd: '
|
||||||
$shutters->getLastDrive . ' - antifreeze mode' );
|
. $shutters->getShuttersDev
|
||||||
}
|
. ' - Die Fahrt wird zurückgestellt. Grund kann ein geöffnetes Fenster sein oder ein aktivierter Party Modus'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
### antifreeze Routine
|
||||||
|
if ( $shutters->getFreezeStatus > 0 ) {
|
||||||
|
if ( $shutters->getFreezeStatus != 1 ) {
|
||||||
|
|
||||||
my %h = (
|
$posValue = $shutters->getStatus;
|
||||||
shuttersDev => $self->{shuttersDev},
|
$shutters->setLastDrive('no drive - antifreeze defense');
|
||||||
posValue => $posValue,
|
$shutters->setLastDriveReading;
|
||||||
);
|
$ascDev->setStateReading;
|
||||||
|
}
|
||||||
|
elsif ( $posValue == $shutters->getClosedPos ) {
|
||||||
|
$posValue = $shutters->getAntiFreezePos;
|
||||||
|
$shutters->setLastDrive(
|
||||||
|
$shutters->getLastDrive . ' - antifreeze mode' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$offSet = $shutters->getDelay if ( $shutters->getDelay > -1 );
|
my %h = (
|
||||||
$offSet = $ascDev->getShuttersOffset if ( $shutters->getDelay < 0 );
|
shuttersDev => $self->{shuttersDev},
|
||||||
$offSetStart = $shutters->getDelayStart;
|
posValue => $posValue,
|
||||||
|
);
|
||||||
|
|
||||||
if ( $shutters->getSelfDefenseAbsent
|
$offSet = $shutters->getDelay if ( $shutters->getDelay > -1 );
|
||||||
and not $shutters->getSelfDefenseAbsentTimerrun
|
$offSet = $ascDev->getShuttersOffset if ( $shutters->getDelay < 0 );
|
||||||
and $shutters->getSelfDefenseMode ne 'off'
|
$offSetStart = $shutters->getDelayStart;
|
||||||
and $shutters->getLastDrive eq 'selfDefense active'
|
|
||||||
and $ascDev->getSelfDefense eq 'on' )
|
if ( $shutters->getSelfDefenseAbsent
|
||||||
{
|
and not $shutters->getSelfDefenseAbsentTimerrun
|
||||||
InternalTimer( gettimeofday() + $shutters->getSelfDefenseAbsentDelay,
|
and $shutters->getSelfDefenseMode ne 'off'
|
||||||
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
and $shutters->getLastDrive eq 'selfDefense active'
|
||||||
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
|
and $ascDev->getSelfDefense eq 'on' )
|
||||||
}
|
{
|
||||||
elsif ( $offSetStart > 0 and not $shutters->getNoDelay ) {
|
InternalTimer( gettimeofday() + $shutters->getSelfDefenseAbsentDelay,
|
||||||
InternalTimer(
|
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
||||||
gettimeofday() + int( rand($offSet) + $shutters->getDelayStart ),
|
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
|
||||||
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
}
|
||||||
|
elsif ( $offSetStart > 0 and not $shutters->getNoDelay ) {
|
||||||
|
InternalTimer(
|
||||||
|
gettimeofday() + int( rand($offSet) + $shutters->getDelayStart ),
|
||||||
|
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
|
||||||
|
|
||||||
|
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
||||||
|
. $shutters->getShuttersDev
|
||||||
|
. ' - versetztes fahren' );
|
||||||
|
}
|
||||||
|
elsif ( $offSetStart < 1 or $shutters->getNoDelay ) {
|
||||||
|
FHEM::AutoShuttersControl::_SetCmdFn( \%h );
|
||||||
|
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
||||||
|
. $shutters->getShuttersDev
|
||||||
|
. ' - NICHT versetztes fahren' );
|
||||||
|
}
|
||||||
|
|
||||||
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
||||||
. $shutters->getShuttersDev
|
. $shutters->getShuttersDev
|
||||||
. ' - versetztes fahren' );
|
. ' - NoDelay: '
|
||||||
|
. ( $shutters->getNoDelay ? 'JA' : 'NEIN' ) );
|
||||||
|
$shutters->setNoDelay(0);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
elsif ( $offSetStart < 1 or $shutters->getNoDelay ) {
|
|
||||||
FHEM::AutoShuttersControl::_SetCmdFn( \%h );
|
|
||||||
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
|
||||||
. $shutters->getShuttersDev
|
|
||||||
. ' - NICHT versetztes fahren' );
|
|
||||||
}
|
|
||||||
|
|
||||||
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
|
|
||||||
. $shutters->getShuttersDev
|
|
||||||
. ' - NoDelay: '
|
|
||||||
. ( $shutters->getNoDelay ? 'JA' : 'NEIN' ) );
|
|
||||||
$shutters->setNoDelay(0);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub setSunsetUnixTime {
|
sub setSunsetUnixTime {
|
||||||
@ -6991,7 +7007,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
],
|
],
|
||||||
"release_status": "under develop",
|
"release_status": "under develop",
|
||||||
"license": "GPL_2",
|
"license": "GPL_2",
|
||||||
"version": "v0.6.104",
|
"version": "v0.6.105",
|
||||||
"author": [
|
"author": [
|
||||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user