fix little bug, lost IsDay condition for shading drive command
This commit is contained in:
@@ -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>"
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user