fix window closed after sunset and ModeUp absent, fix other bugs
This commit is contained in:
parent
6528876e23
commit
ae7363d1f1
@ -44,7 +44,7 @@ use strict;
|
||||
use warnings;
|
||||
use FHEM::Meta;
|
||||
|
||||
my $version = '0.6.3';
|
||||
my $version = '0.6.3.4';
|
||||
|
||||
sub AutoShuttersControl_Initialize($) {
|
||||
my ($hash) = @_;
|
||||
@ -844,6 +844,15 @@ sub EventProcessingWindowRec($@) {
|
||||
? $shutters->getStatus > $shutters->getComfortOpenPos
|
||||
: $shutters->getStatus < $shutters->getComfortOpenPos
|
||||
);
|
||||
|
||||
ASC_Debug( 'EventProcessingWindowRec: '
|
||||
. $shutters->getShuttersDev
|
||||
. ' - HOMEMODE: '
|
||||
. $homemode
|
||||
. ' : QueryShuttersPosWinRecTilted'
|
||||
. $queryShuttersPosWinRecTilted
|
||||
. ' QueryShuttersPosWinRecComfort: '
|
||||
. $queryShuttersPosWinRecComfort );
|
||||
|
||||
if (
|
||||
$1 eq 'closed'
|
||||
@ -853,19 +862,17 @@ sub EventProcessingWindowRec($@) {
|
||||
or $shutters->getStatus == $shutters->getOpenPos )
|
||||
)
|
||||
{
|
||||
my $homemode = $shutters->getRoommatesStatus;
|
||||
$homemode = $ascDev->getResidentsStatus
|
||||
if ( $homemode eq 'none' );
|
||||
|
||||
if (
|
||||
IsDay($shuttersDev)
|
||||
and $shutters->getStatus != $shutters->getOpenPos
|
||||
and ( $homemode ne 'asleep'
|
||||
or $homemode ne 'gotosleep'
|
||||
and ( ( $homemode ne 'asleep'
|
||||
and $homemode ne 'gotosleep' )
|
||||
or $homemode eq 'none' )
|
||||
and $shutters->getModeUp ne 'absent'
|
||||
and $shutters->getModeUp ne 'off'
|
||||
)
|
||||
{
|
||||
$shutters->setLastDrive('window day closed');
|
||||
$shutters->setLastDrive('window closed at day');
|
||||
$shutters->setNoOffset(1);
|
||||
$shutters->setDriveCmd(
|
||||
(
|
||||
@ -876,11 +883,16 @@ sub EventProcessingWindowRec($@) {
|
||||
);
|
||||
}
|
||||
|
||||
elsif (not IsDay($shuttersDev)
|
||||
or $homemode eq 'asleep'
|
||||
or $homemode eq 'gotosleep' )
|
||||
elsif ( $shutters->getModeUp ne 'absent'
|
||||
and $shutters->getModeUp ne 'off'
|
||||
and ( not IsDay($shuttersDev)
|
||||
or $homemode eq 'asleep'
|
||||
or $homemode eq 'gotosleep' )
|
||||
and $shutters->getModeDown ne 'absent'
|
||||
and $shutters->getModeDown ne 'off'
|
||||
)
|
||||
{
|
||||
$shutters->setLastDrive('window night closed');
|
||||
$shutters->setLastDrive('window closed at night');
|
||||
$shutters->setNoOffset(1);
|
||||
$shutters->setDriveCmd( $shutters->getClosedPos );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user