fix drive shutters then closed window and winopenpos = openpos

This commit is contained in:
Marko Oldenburg
2018-11-28 12:14:06 +01:00
parent dcf9904afa
commit 2405d59711

View File

@ -214,6 +214,7 @@ my %posSetCmds = (
tahoma => 'dim', tahoma => 'dim',
KLF200Node => 'pct', KLF200Node => 'pct',
DUOFERN => 'position', DUOFERN => 'position',
HM485 => 'level',
); );
my $shutters = new ASC_Shutters(); my $shutters = new ASC_Shutters();
@ -810,21 +811,6 @@ sub EventProcessingWindowRec($@) {
# if ( $1 eq 'closed' ) { # if ( $1 eq 'closed' ) {
$shutters->setLastDrive('delayed drive - window closed'); $shutters->setLastDrive('delayed drive - window closed');
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd ); ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd );
# }
# elsif (
# (
# $1 eq 'tilted'
# or ( $1 eq 'open' and $shutters->getSubTyp eq 'twostate' )
# )
# and $shutters->getVentilateOpen eq 'on'
# and $queryShuttersPosWinRecTilted
# )
# {
# $shutters->setLastDrive('delayed ventilate open');
# ShuttersCommandSet( $hash, $shuttersDev,
# $shutters->getVentilatePos );
# }
} }
elsif ( $1 eq 'closed' elsif ( $1 eq 'closed'
@ -836,20 +822,27 @@ sub EventProcessingWindowRec($@) {
my $homemode = $shutters->getRoommatesStatus; my $homemode = $shutters->getRoommatesStatus;
$homemode = $ascDev->getResidentsStatus $homemode = $ascDev->getResidentsStatus
if ( $homemode eq 'none' ); if ( $homemode eq 'none' );
$shutters->setLastDrive('window closed');
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getLastPos ) if (
if ( IsDay( $hash, $shuttersDev )
IsDay( $hash, $shuttersDev ) and $shutters->getStatus != $shutters->getOpenPos
and ( $homemode ne 'asleep' and ( $homemode ne 'asleep'
or $homemode ne 'gotosleep' or $homemode ne 'gotosleep'
or $homemode eq 'none' ) or $homemode eq 'none' ) )
); {
ShuttersCommandSet( $hash, $shuttersDev, $shutters->setLastDrive('window day closed');
$shutters->getClosedPos ) ShuttersCommandSet( $hash, $shuttersDev,
if ( not IsDay( $hash, $shuttersDev ) $shutters->getLastPos );
or $homemode eq 'asleep' }
or $homemode eq 'gotosleep' );
elsif ( not IsDay( $hash, $shuttersDev )
or $homemode eq 'asleep'
or $homemode eq 'gotosleep' )
{
$shutters->setLastDrive('window night closed');
ShuttersCommandSet( $hash, $shuttersDev,
$shutters->getClosedPos );
}
} }
} }
elsif ( elsif (
@ -1326,22 +1319,22 @@ sub ShadingProcessing($@) {
my $name = $hash->{NAME}; my $name = $hash->{NAME};
Log3( $name, 1, # Log3( $name, 1,
"AutoShuttersControl ($name) - Shading Processing, Rollladen: " . $shuttersDev . " Azimuth: " . $azimuth . " Elevation: " . $elevation . " Brightness: " . $brightness . " OutTemp: " . $outTemp # "AutoShuttersControl ($name) - Shading Processing, Rollladen: " . $shuttersDev . " Azimuth: " . $azimuth . " Elevation: " . $elevation . " Brightness: " . $brightness . " OutTemp: " . $outTemp
); # );
#
return # return
if ( $azimuth == -1 or $elevation == -1 or $brightness == -1 or $outTemp == -100 ); # if ( $azimuth == -1 or $elevation == -1 or $brightness == -1 or $outTemp == -100 );
#
#
# brightness -1 # # brightness -1
# outTemp -100 # # outTemp -100
# azimuth -1 # # azimuth -1
# elevation -1 # # elevation -1
#
#
Log3( $name, 1, # Log3( $name, 1,
"AutoShuttersControl ($name) - Shading Processing hinter dem return"); # "AutoShuttersControl ($name) - Shading Processing hinter dem return");
} }