fix shading out drive then roommate asleep

This commit is contained in:
Marko Oldenburg 2020-04-11 14:47:54 +02:00
parent 164a85edaa
commit 6fa8fa8817

View File

@ -1210,15 +1210,7 @@ sub EventProcessingWindowRec {
if ( defined($posValue) && $posValue ) { if ( defined($posValue) && $posValue ) {
$shutters->setLastDrive($setLastDrive); $shutters->setLastDrive($setLastDrive);
$shutters->setNoDelay(1); $shutters->setNoDelay(1);
$shutters->setDriveCmd( $shutters->setDriveCmd($posValue);
# (
# $shutters->getShuttersPlace eq 'terrace'
# ? $shutters->getOpenPos
$posValue
# )
);
} }
} }
} }
@ -2404,14 +2396,7 @@ sub ShadingProcessing {
if ( $shutters->getShadingStatus eq 'in' if ( $shutters->getShadingStatus eq 'in'
|| $shutters->getShadingStatus eq 'in reserved' ); || $shutters->getShadingStatus eq 'in reserved' );
if ( if ( $shutters->getShadingStatus eq 'out reserved' ) {
(
$shutters->getShadingStatus eq 'out reserved'
and
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp )
) > $shutters->getShadingWaitingPeriod
)
{
$shutters->setShadingStatus('out'); $shutters->setShadingStatus('out');
$shutters->setShadingLastStatus('in') $shutters->setShadingLastStatus('in')
if ( $shutters->getShadingLastStatus eq 'out' ); if ( $shutters->getShadingLastStatus eq 'out' );
@ -2443,11 +2428,7 @@ sub ShadingProcessing {
if ( $shutters->getShadingStatus eq 'out' if ( $shutters->getShadingStatus eq 'out'
|| $shutters->getShadingStatus eq 'out reserved' ); || $shutters->getShadingStatus eq 'out reserved' );
if ( $shutters->getShadingStatus eq 'in reserved' if ( $shutters->getShadingStatus eq 'in reserved' ) {
and
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
( $shutters->getShadingWaitingPeriod / 2 ) )
{
$shutters->setShadingStatus('in'); $shutters->setShadingStatus('in');
$shutters->setShadingLastStatus('out') $shutters->setShadingLastStatus('out')
if ( $shutters->getShadingLastStatus eq 'in' ); if ( $shutters->getShadingLastStatus eq 'in' );
@ -2481,6 +2462,7 @@ sub ShadingProcessing {
|| ( $shutters->getShadingStatus eq 'in' || ( $shutters->getShadingStatus eq 'in'
&& $shutters->getShadingLastStatus eq 'out' ) && $shutters->getShadingLastStatus eq 'out' )
) )
&& $shutters->getRoommatesStatus ne 'asleep'
); );
return; return;
@ -2502,10 +2484,7 @@ sub ShadingProcessingDriveCommand {
if ( $shutters->getShadingMode eq 'always' if ( $shutters->getShadingMode eq 'always'
|| $shutters->getShadingMode eq $homemode ) || $shutters->getShadingMode eq $homemode )
{ {
$shutters->setShadingStatus( $shutters->getShadingStatus ) $shutters->setShadingStatus( $shutters->getShadingStatus );
if (
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
( $shutters->getShadingWaitingPeriod / 2 ) );
if ( $shutters->getShadingStatus eq 'in' if ( $shutters->getShadingStatus eq 'in'
&& $getShadingPos != $getStatus ) && $getShadingPos != $getStatus )