From 88175a76999ca67cb50eb6dfd8dc46fdf761421d Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Thu, 27 Jun 2019 15:14:56 +0200 Subject: [PATCH] add condition to shading out drive --- 73_AutoShuttersControl.pm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/73_AutoShuttersControl.pm b/73_AutoShuttersControl.pm index b3f0e48..5e74cd1 100644 --- a/73_AutoShuttersControl.pm +++ b/73_AutoShuttersControl.pm @@ -1283,6 +1283,7 @@ sub EventProcessingResidents($@) { ) and not $shutters->getIsDay and IsAfterShuttersTimeBlocking($shuttersDev) + and $shutters->getRoommatesStatus eq 'none' ) { $shutters->setLastDrive('residents absent'); @@ -1328,6 +1329,7 @@ sub EventProcessingResidents($@) { and ( $getResidentsLastStatus ne 'asleep' or $getResidentsLastStatus ne 'awoken' ) and IsAfterShuttersTimeBlocking($shuttersDev) + and $shutters->getRoommatesStatus eq 'none' ) { $shutters->setLastDrive('residents home'); @@ -1340,6 +1342,7 @@ sub EventProcessingResidents($@) { ) and $shutters->getIsDay and $shutters->getIfInShading + and $shutters->getRoommatesStatus eq 'none' and $shutters->getStatus != $shutters->getShadingPos and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and $shutters->getShuttersPlace eq 'terrace' ) @@ -1353,6 +1356,7 @@ sub EventProcessingResidents($@) { and $shutters->getIsDay and $shutters->getIfInShading and $shutters->getStatus == $shutters->getShadingPos + and $shutters->getRoommatesStatus eq 'none' and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and $shutters->getShuttersPlace eq 'terrace' ) ) @@ -1408,6 +1412,7 @@ sub EventProcessingResidents($@) { and ( $getModeUp eq 'home' or $getModeUp eq 'always' ) and IsAfterShuttersTimeBlocking($shuttersDev) + and $shutters->getRoommatesStatus eq 'none' and not $shutters->getIfInShading ) { @@ -2157,7 +2162,7 @@ sub ShadingProcessingDriveCommand($$) { and $getShadingPos != $getStatus ) { if ( - not $shutters->getQueryShuttersPos( $shutters->getShadingPos ) + not $shutters->getQueryShuttersPos($getShadingPos) and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and $shutters->getShuttersPlace eq 'terrace' ) ) @@ -2178,17 +2183,16 @@ sub ShadingProcessingDriveCommand($$) { and $getShadingPos == $getStatus ) { $shutters->setLastDrive('shading out'); + ShuttersCommandSet( $hash, $shuttersDev, ( - $shutters->getShadingPos == $shutters->getLastPos + $getShadingPos == $shutters->getLastPos ? $shutters->getOpenPos - : ( - not $shutters->getQueryShuttersPos( - $shutters->getLastPos - ) ? $shutters->getLastPos : $shutters->getOpenPos - ) + : ( $shutters->getQueryShuttersPos( $shutters->getLastPos ) + ? $shutters->getLastPos + : $shutters->getOpenPos ) ) ); @@ -6443,7 +6447,7 @@ sub getblockAscDrivesAfterManual { "release_status": "under develop", "license": "GPL_2", "version": "v0.6.19", - "x_developmentversion": "v0.6.19.24", + "x_developmentversion": "v0.6.19.25", "author": [ "Marko Oldenburg " ],