add more shading options

This commit is contained in:
Marko Oldenburg 2019-05-24 22:24:11 +02:00
parent a816200c98
commit 3141b609ec

View File

@ -1729,12 +1729,14 @@ sub EventProcessingShadingBrightness($@) {
. ' - Alle Bedingungen zur weiteren Beschattungsverarbeitung sind erfüllt. Es wird nun die eigentliche Beschattungsfunktion aufgerufen' . ' - Alle Bedingungen zur weiteren Beschattungsverarbeitung sind erfüllt. Es wird nun die eigentliche Beschattungsfunktion aufgerufen'
); );
} }
# else { elsif ( $shutters->getShadingStatus eq 'in'
# unless ( $shutters->getShadingMode eq $homemode and $shutters->getShadingMode ne $homemode
# and and $shutters->getRainProtectionStatus eq 'unprotection'
# $shutters->setShadingStatus('out'); and $shutters->getWindProtectionStatus eq 'unprotection' )
# ShadingProcessingDriveCommand($hash,$shuttersDev); {
# } $shutters->setShadingStatus('out');
ShadingProcessingDriveCommand( $hash, $shuttersDev );
}
} }
} }
@ -1995,22 +1997,22 @@ sub ShadingProcessing($@) {
. $shutters->getShadingStatus ); . $shutters->getShadingStatus );
} }
ShadingProcessingDriveCommand($hash,$shuttersDev) ShadingProcessingDriveCommand( $hash, $shuttersDev )
if ( $shutters->getShadingStatus eq 'out' if ( $shutters->getShadingStatus eq 'out'
or $shutters->getShadingStatus eq 'in' ); or $shutters->getShadingStatus eq 'in' );
} }
sub ShadingProcessingDriveCommand($$) { sub ShadingProcessingDriveCommand($$) {
my ($hash,$shuttersDev) = @_; my ( $hash, $shuttersDev ) = @_;
my $name = $hash->{NAME}; my $name = $hash->{NAME};
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
my $getShadingPos = $shutters->getShadingPos; my $getShadingPos = $shutters->getShadingPos;
my $getStatus = $shutters->getStatus; my $getStatus = $shutters->getStatus;
$shutters->setShadingStatus( $shutters->getShadingStatus ) $shutters->setShadingStatus( $shutters->getShadingStatus )
if ( if (
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) > ( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
( $shutters->getShadingWaitingPeriod / 2 ) ); ( $shutters->getShadingWaitingPeriod / 2 ) );
@ -2018,7 +2020,7 @@ sub ShadingProcessingDriveCommand($$) {
and $getShadingPos != $getStatus ) and $getShadingPos != $getStatus )
{ {
my $queryShuttersShadingPos = ( my $queryShuttersShadingPos = (
$shutters->getShuttersPosCmdValueNegate $shutters->getShuttersPosCmdValueNegate
? $getStatus > $getShadingPos ? $getStatus > $getShadingPos
: $getStatus < $getShadingPos : $getStatus < $getShadingPos
); );
@ -2027,18 +2029,18 @@ sub ShadingProcessingDriveCommand($$) {
not $queryShuttersShadingPos not $queryShuttersShadingPos
and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2 and not( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
and $shutters->getShuttersPlace eq 'terrace' ) and $shutters->getShuttersPlace eq 'terrace' )
) )
{ {
$shutters->setLastDrive('shading in'); $shutters->setLastDrive('shading in');
ShuttersCommandSet( $hash, $shuttersDev, $getShadingPos ); ShuttersCommandSet( $hash, $shuttersDev, $getShadingPos );
ASC_Debug( 'ShadingProcessing: ' ASC_Debug( 'ShadingProcessing: '
. $shutters->getShuttersDev . $shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '
. $shutters->getShadingStatus . $shutters->getShadingStatus
. ' und somit wird nun in die Position: ' . ' und somit wird nun in die Position: '
. $getShadingPos . $getShadingPos
. ' zum Beschatten gefahren' ); . ' zum Beschatten gefahren' );
} }
} }
elsif ( $shutters->getShadingStatus eq 'out' elsif ( $shutters->getShadingStatus eq 'out'
@ -2049,34 +2051,34 @@ sub ShadingProcessingDriveCommand($$) {
$hash, $hash,
$shuttersDev, $shuttersDev,
( (
$shutters->getShadingPos == $shutters->getLastPos $shutters->getShadingPos == $shutters->getLastPos
? $shutters->getOpenPos ? $shutters->getOpenPos
: $shutters->getLastPos : $shutters->getLastPos
) )
); );
ASC_Debug( 'ShadingProcessing: ' ASC_Debug( 'ShadingProcessing: '
. $shutters->getShuttersDev . $shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '
. $shutters->getShadingStatus . $shutters->getShadingStatus
. ' und somit wird nun in die Position: ' . ' und somit wird nun in die Position: '
. $getShadingPos . $getShadingPos
. ' zum beenden der Beschattung gefahren' ); . ' zum beenden der Beschattung gefahren' );
} }
Log3( $name, 4, Log3( $name, 4,
"AutoShuttersControl ($name) - Shading Processing - In der Routine zum fahren der Rollläden, Shading Wert: " "AutoShuttersControl ($name) - Shading Processing - In der Routine zum fahren der Rollläden, Shading Wert: "
. $shutters->getShadingStatus ); . $shutters->getShadingStatus );
ASC_Debug( ASC_Debug(
'ShadingProcessing: ' 'ShadingProcessing: '
. $shutters->getShuttersDev . $shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '
. $shutters->getShadingStatus . $shutters->getShadingStatus
. ', Beschattungsstatus Zeitstempel: ' . ', Beschattungsstatus Zeitstempel: '
. strftime( . strftime(
"%Y.%m.%e %T", localtime( $shutters->getShadingStatusTimestamp ) "%Y.%m.%e %T", localtime( $shutters->getShadingStatusTimestamp )
) )
); );
} }