bugfix windw open at privacy up

This commit is contained in:
Marko Oldenburg 2019-11-05 13:22:03 +01:00
parent be8fa1135e
commit 804bfbf80b

View File

@ -1015,7 +1015,7 @@ sub EventProcessingWindowRec($@) {
and $shutters->getModeUp ne 'off' and $shutters->getModeUp ne 'off'
) )
{ {
if ( $shutters->getShadingStatus eq 'in' if ( $shutters->getIfInShading
and $shutters->getShadingPos != $shutters->getStatus ) and $shutters->getShadingPos != $shutters->getStatus )
{ {
$shutters->setLastDrive('shading in'); $shutters->setLastDrive('shading in');
@ -1031,12 +1031,13 @@ sub EventProcessingWindowRec($@) {
$shutters->setNoDelay(1); $shutters->setNoDelay(1);
$shutters->setDriveCmd( $shutters->getPrivacyDownPos ); $shutters->setDriveCmd( $shutters->getPrivacyDownPos );
} }
elsif ( $shutters->getPrivacyUpStatus == 2 ) {
$shutters->setLastDrive( # elsif ( $shutters->getPrivacyUpStatus == 2 ) {
'window closed at privacy day open'); # $shutters->setLastDrive(
$shutters->setNoDelay(1); # 'window closed at privacy day open');
$shutters->setDriveCmd( $shutters->getPrivacyUpPos ); # $shutters->setNoDelay(1);
} # $shutters->setDriveCmd( $shutters->getPrivacyUpPos );
# }
else { else {
$shutters->setLastDrive('window closed at day'); $shutters->setLastDrive('window closed at day');
$shutters->setNoDelay(1); $shutters->setNoDelay(1);
@ -1060,9 +1061,9 @@ sub EventProcessingWindowRec($@) {
and $ascDev->getAutoShuttersControlEvening eq 'on' and $ascDev->getAutoShuttersControlEvening eq 'on'
) )
{ {
if ( $shutters->getPrivacyDownStatus == 2 ) { if ( $shutters->getPrivacyUpStatus == 2 ) {
$shutters->setLastDrive( $shutters->setLastDrive(
'window closed at privacy night close'); 'window closed at privacy day open');
$shutters->setNoDelay(1); $shutters->setNoDelay(1);
$shutters->setDriveCmd( $shutters->getPrivacyDownPos ); $shutters->setDriveCmd( $shutters->getPrivacyDownPos );
} }
@ -2539,18 +2540,37 @@ sub EventProcessingExternalTriggerDevice($@) {
my $triggerPosActive = $shutters->getExternalTriggerPosActive; my $triggerPosActive = $shutters->getExternalTriggerPosActive;
my $triggerPosInactive = $shutters->getExternalTriggerPosInactive; my $triggerPosInactive = $shutters->getExternalTriggerPosInactive;
if ( $events =~ m#$reading:\s($triggerValActive)# ) { if ( $events =~ m#$reading:\s($triggerValActive)#
and not $shutters->getQueryShuttersPos($triggerPosActive) )
{
ASC_Debug( 'EventProcessingExternalTriggerDevice: ' ASC_Debug( 'EventProcessingExternalTriggerDevice: '
. ' In der RegEx Schleife Trigger Val Aktiv' . ' In der RegEx Schleife Trigger Val Aktiv'
. ' - TriggerVal: ' . ' - TriggerVal: '
. $triggerValActive ); . $triggerValActive );
$shutters->setLastDrive('external trigger device active');
$shutters->setNoDelay(1);
ShuttersCommandSet( $hash, $shuttersDev, $triggerPosActive );
} }
elsif ( $events =~ m#$reading:\s($triggerValInactive)# ) { elsif (
$events =~ m#$reading:\s($triggerValInactive)#
and ( $shutters->getPrivacyDownStatus != 2
or $shutters->getPrivacyUpStatus != 2 )
and not $shutters->getIfInShading
)
{
ASC_Debug( 'EventProcessingExternalTriggerDevice: ' ASC_Debug( 'EventProcessingExternalTriggerDevice: '
. ' In der RegEx Schleife Trigger Val Inaktiv' . ' In der RegEx Schleife Trigger Val Inaktiv'
. ' - TriggerVal: ' . ' - TriggerVal: '
. $triggerValInactive ); . $triggerValInactive );
$shutters->setLastDrive('external trigger device inactive');
$shutters->setNoDelay(1);
ShuttersCommandSet( $hash, $shuttersDev, $triggerPosInactive );
} }
ASC_Debug(
'EventProcessingExternalTriggerDevice: ' . ' Funktion durchlaufen' );
} }
# Sub für das Zusammensetzen der Rolläden Steuerbefehle # Sub für das Zusammensetzen der Rolläden Steuerbefehle
@ -5491,7 +5511,7 @@ sub getExternalTriggerDevice {
$self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice}->{posactive} = $self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice}->{posactive} =
$posActive; $posActive;
$self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice}->{posinactive} $self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice}->{posinactive}
= $posInactive; = ( $posInactive ne 'none' ? $posInactive : $shutters->getLastPos );
return $self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice} return $self->{ $self->{shuttersDev} }->{ASC_ExternalTriggerDevice}
->{device}; ->{device};
@ -7617,7 +7637,7 @@ sub getblockAscDrivesAfterManual {
], ],
"release_status": "under develop", "release_status": "under develop",
"license": "GPL_2", "license": "GPL_2",
"version": "v0.6.148", "version": "v0.6.150",
"author": [ "author": [
"Marko Oldenburg <leongaultier@gmail.com>" "Marko Oldenburg <leongaultier@gmail.com>"
], ],