fix little bug, lost IsDay condition for shading drive command

This commit is contained in:
Marko Oldenburg
2019-06-27 10:48:06 +02:00
parent 5ff52208f4
commit 91f160fc6a

View File

@@ -983,7 +983,7 @@ sub EventProcessingWindowRec($@) {
. ' Event Closed' ); . ' Event Closed' );
if ( if (
IsDay($shuttersDev) $shutters->getIsDay
and ( ( $homemode ne 'asleep' and $homemode ne 'gotosleep' ) and ( ( $homemode ne 'asleep' and $homemode ne 'gotosleep' )
or $homemode eq 'none' ) or $homemode eq 'none' )
and $shutters->getModeUp ne 'absent' and $shutters->getModeUp ne 'absent'
@@ -1006,7 +1006,7 @@ sub EventProcessingWindowRec($@) {
elsif ( elsif (
$shutters->getModeUp ne 'absent' $shutters->getModeUp ne 'absent'
and $shutters->getModeUp ne 'off' and $shutters->getModeUp ne 'off'
and ( not IsDay($shuttersDev) and ( not $shutters->getIsDay
or $homemode eq 'asleep' or $homemode eq 'asleep'
or $homemode eq 'gotosleep' ) or $homemode eq 'gotosleep' )
and $shutters->getModeDown ne 'absent' and $shutters->getModeDown ne 'absent'
@@ -1101,7 +1101,7 @@ sub EventProcessingRoommate($@) {
$getRoommatesLastStatus eq 'asleep' $getRoommatesLastStatus eq 'asleep'
or $getRoommatesLastStatus eq 'awoken' or $getRoommatesLastStatus eq 'awoken'
) )
and IsDay($shuttersDev) and $shutters->getIsDay
and IsAfterShuttersTimeBlocking($shuttersDev) and IsAfterShuttersTimeBlocking($shuttersDev)
and ( $getModeUp eq 'home' and ( $getModeUp eq 'home'
or $getModeUp eq 'always' ) or $getModeUp eq 'always' )
@@ -1134,7 +1134,7 @@ sub EventProcessingRoommate($@) {
) )
{ {
if ( if (
not IsDay($shuttersDev) not $shutters->getIsDay
and IsAfterShuttersTimeBlocking($shuttersDev) and IsAfterShuttersTimeBlocking($shuttersDev)
and ( $getModeDown eq 'home' and ( $getModeDown eq 'home'
or $getModeDown eq 'always' ) or $getModeDown eq 'always' )
@@ -1156,7 +1156,7 @@ sub EventProcessingRoommate($@) {
ShuttersCommandSet( $hash, $shuttersDev, $posValue ); ShuttersCommandSet( $hash, $shuttersDev, $posValue );
} }
elsif ( elsif (
IsDay($shuttersDev) $shutters->getIsDay
and IsAfterShuttersTimeBlocking($shuttersDev) and IsAfterShuttersTimeBlocking($shuttersDev)
and ( $getModeUp eq 'home' and ( $getModeUp eq 'home'
or $getModeUp eq 'always' ) or $getModeUp eq 'always' )
@@ -1217,11 +1217,11 @@ sub EventProcessingRoommate($@) {
elsif ( elsif (
$getModeDown eq 'absent' $getModeDown eq 'absent'
and $1 eq 'absent' and $1 eq 'absent'
and ( not IsDay($shuttersDev) and ( not $shutters->getIsDay
or $shutters->getShadingMode eq 'absent' ) or $shutters->getShadingMode eq 'absent' )
) )
{ {
if ( IsDay($shuttersDev) if ( $shutters->getIsDay
and $shutters->getIfInShading and $shutters->getIfInShading
and and
not $shutters->getQueryShuttersPos( $shutters->getShadingPos ) not $shutters->getQueryShuttersPos( $shutters->getShadingPos )
@@ -1281,7 +1281,7 @@ sub EventProcessingResidents($@) {
$getModeDown eq 'absent' $getModeDown eq 'absent'
or $getModeDown eq 'always' or $getModeDown eq 'always'
) )
and not IsDay($shuttersDev) and not $shutters->getIsDay
and IsAfterShuttersTimeBlocking($shuttersDev) and IsAfterShuttersTimeBlocking($shuttersDev)
) )
{ {
@@ -1321,7 +1321,7 @@ sub EventProcessingResidents($@) {
if ( if (
$shutters->getStatus != $shutters->getClosedPos $shutters->getStatus != $shutters->getClosedPos
and not IsDay($shuttersDev) and not $shutters->getIsDay
and $shutters->getRoommatesStatus eq 'none' and $shutters->getRoommatesStatus eq 'none'
and ( $getModeDown eq 'home' and ( $getModeDown eq 'home'
or $getModeDown eq 'always' ) or $getModeDown eq 'always' )
@@ -1338,7 +1338,7 @@ sub EventProcessingResidents($@) {
$shutters->getShadingMode eq 'home' $shutters->getShadingMode eq 'home'
or $shutters->getShadingMode eq 'always' or $shutters->getShadingMode eq 'always'
) )
and IsDay($shuttersDev) and $shutters->getIsDay
and $shutters->getIfInShading and $shutters->getIfInShading
and $shutters->getStatus != $shutters->getShadingPos and $shutters->getStatus != $shutters->getShadingPos
and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
@@ -1350,7 +1350,7 @@ sub EventProcessingResidents($@) {
} }
elsif ( elsif (
$shutters->getShadingMode eq 'absent' $shutters->getShadingMode eq 'absent'
and IsDay($shuttersDev) and $shutters->getIsDay
and $shutters->getIfInShading and $shutters->getIfInShading
and $shutters->getStatus == $shutters->getShadingPos and $shutters->getStatus == $shutters->getShadingPos
and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
@@ -1403,7 +1403,7 @@ sub EventProcessingResidents($@) {
} }
elsif ( elsif (
$shutters->getStatus == $shutters->getClosedPos $shutters->getStatus == $shutters->getClosedPos
and IsDay($shuttersDev) and $shutters->getIsDay
and $shutters->getRoommatesStatus eq 'none' and $shutters->getRoommatesStatus eq 'none'
and ( $getModeUp eq 'home' and ( $getModeUp eq 'home'
or $getModeUp eq 'always' ) or $getModeUp eq 'always' )
@@ -1461,7 +1461,7 @@ sub EventProcessingRain($@) {
$shutters->setLastDrive('rain un-protected'); $shutters->setLastDrive('rain un-protected');
$shutters->setDriveCmd( $shutters->setDriveCmd(
( (
IsDay($shuttersDev) ? $shutters->getLastPos $shutters->getIsDay ? $shutters->getLastPos
: ( : (
$shutters->getPrivacyDownStatus == 2 $shutters->getPrivacyDownStatus == 2
? $shutters->getPrivacyDownPos ? $shutters->getPrivacyDownPos
@@ -1518,7 +1518,7 @@ sub EventProcessingWind($@) {
$shutters->setLastDrive('wind un-protected'); $shutters->setLastDrive('wind un-protected');
$shutters->setDriveCmd( $shutters->setDriveCmd(
( (
IsDay($shuttersDev) ? $shutters->getLastPos $shutters->getIsDay ? $shutters->getLastPos
: ( : (
$shutters->getPrivacyDownStatus == 2 $shutters->getPrivacyDownStatus == 2
? $shutters->getPrivacyDownPos ? $shutters->getPrivacyDownPos
@@ -2121,12 +2121,15 @@ sub ShadingProcessing($@) {
ShadingProcessingDriveCommand( $hash, $shuttersDev ) ShadingProcessingDriveCommand( $hash, $shuttersDev )
if ( if (
( $shutters->getIsDay
$shutters->getShadingStatus eq 'out' and (
and $shutters->getShadingLastStatus eq 'in' (
$shutters->getShadingStatus eq 'out'
and $shutters->getShadingLastStatus eq 'in'
)
or ( $shutters->getShadingStatus eq 'in'
and $shutters->getShadingLastStatus eq 'out' )
) )
or ( $shutters->getShadingStatus eq 'in'
and $shutters->getShadingLastStatus eq 'out' )
); );
} }
@@ -2220,7 +2223,7 @@ sub EventProcessingPartyMode($) {
next next
if ( $shutters->getPartyMode eq 'off' ); if ( $shutters->getPartyMode eq 'off' );
if ( not IsDay($shuttersDev) if ( not $shutters->getIsDay
and $shutters->getModeDown ne 'off' and $shutters->getModeDown ne 'off'
and IsAfterShuttersManualBlocking($shuttersDev) ) and IsAfterShuttersManualBlocking($shuttersDev) )
{ {
@@ -2251,7 +2254,7 @@ sub EventProcessingPartyMode($) {
); );
} }
} }
elsif ( IsDay($shuttersDev) elsif ( $shutters->getIsDay
and IsAfterShuttersManualBlocking($shuttersDev) ) and IsAfterShuttersManualBlocking($shuttersDev) )
{ {
$shutters->setLastDrive('drive after party mode'); $shutters->setLastDrive('drive after party mode');
@@ -2928,7 +2931,7 @@ sub ExtractNotifyDevFromEvent($$$) {
} }
## Ist Tag oder Nacht für den entsprechende Rolladen ## Ist Tag oder Nacht für den entsprechende Rolladen
sub IsDay($) { sub _IsDay($) {
my ($shuttersDev) = @_; my ($shuttersDev) = @_;
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
@@ -3397,10 +3400,10 @@ sub IsAfterShuttersTimeBlocking($) {
if ( if (
( int( gettimeofday() ) - $shutters->getLastManPosTimestamp ) < ( int( gettimeofday() ) - $shutters->getLastManPosTimestamp ) <
$shutters->getBlockingTimeAfterManual $shutters->getBlockingTimeAfterManual
or ( not IsDay($shuttersDev) or ( not $shutters->getIsDay
and $shutters->getSunriseUnixTime - ( int( gettimeofday() ) ) < and $shutters->getSunriseUnixTime - ( int( gettimeofday() ) ) <
$shutters->getBlockingTimeBeforDayOpen ) $shutters->getBlockingTimeBeforDayOpen )
or ( IsDay($shuttersDev) or ( $shutters->getIsDay
and $shutters->getSunsetUnixTime - ( int( gettimeofday() ) ) < and $shutters->getSunsetUnixTime - ( int( gettimeofday() ) ) <
$shutters->getBlockingTimeBeforNightClose ) $shutters->getBlockingTimeBeforNightClose )
) )
@@ -3891,7 +3894,7 @@ sub getPrivacyDownStatus {
sub getIsDay { sub getIsDay {
my $self = shift; my $self = shift;
return FHEM::AutoShuttersControl::IsDay( $self->{shuttersDev} ); return FHEM::AutoShuttersControl::_IsDay( $self->{shuttersDev} );
} }
sub getFreezeStatus { sub getFreezeStatus {
@@ -6436,7 +6439,7 @@ sub getblockAscDrivesAfterManual {
"release_status": "under develop", "release_status": "under develop",
"license": "GPL_2", "license": "GPL_2",
"version": "v0.6.19", "version": "v0.6.19",
"x_developmentversion": "v0.6.19.23", "x_developmentversion": "v0.6.19.24",
"author": [ "author": [
"Marko Oldenburg <leongaultier@gmail.com>" "Marko Oldenburg <leongaultier@gmail.com>"
], ],