From a61adbef0c3e4784ccfb57cc6639acc480e5f466 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Thu, 21 May 2020 08:12:13 +0200 Subject: [PATCH] fix shading in drive after blocking time --- 73_AutoShuttersControl.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/73_AutoShuttersControl.pm b/73_AutoShuttersControl.pm index c483284..da30fd2 100644 --- a/73_AutoShuttersControl.pm +++ b/73_AutoShuttersControl.pm @@ -2456,6 +2456,8 @@ sub ShadingProcessing { if ( IsAfterShuttersTimeBlocking($shuttersDev) && !$shutters->getShadingManualDriveStatus + && $shutters->getRoommatesStatus ne 'gotosleep' + && $shutters->getRoommatesStatus ne 'asleep' && ( ( $shutters->getShadingStatus eq 'out' @@ -2464,9 +2466,21 @@ sub ShadingProcessing { || ( $shutters->getShadingStatus eq 'in' && $shutters->getShadingLastStatus eq 'out' ) ) - && $shutters->getRoommatesStatus ne 'asleep' - && $shutters->getRoommatesStatus ne 'gotosleep' - && ( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) < 2 + && ( $shutters->getShadingMode eq 'always' + || $shutters->getShadingMode eq $homemode ) + && ( + $shutters->getModeUp eq 'always' + || $shutters->getModeUp eq $homemode + || ( $shutters->getModeUp eq 'home' + && $homemode ne 'asleep' ) + || $shutters->getModeUp eq 'off' + ) + && ( + ( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) < 2 + || ( !$shutters->getQueryShuttersPos( $shutters->getShadingPos ) + && $shutters->getIfInShading + && $shutters->getStatus != $shutters->getShadingPos ) + ) ); return; @@ -8419,7 +8433,7 @@ sub getBlockAscDrivesAfterManual { ], "release_status": "testing", "license": "GPL_2", - "version": "v0.8.29", + "version": "v0.8.30", "author": [ "Marko Oldenburg " ],