fix shading routine
This commit is contained in:
@@ -1980,13 +1980,6 @@ sub ShadingProcessing($@) {
|
|||||||
my $winPosMin = $winPos - $angleMinus;
|
my $winPosMin = $winPos - $angleMinus;
|
||||||
my $winPosMax = $winPos + $anglePlus;
|
my $winPosMax = $winPos + $anglePlus;
|
||||||
|
|
||||||
# $shutters->setShadingLastStatus( $shutters->getShadingStatus )
|
|
||||||
# if (
|
|
||||||
# $shutters->getShadingLastStatus ne $shutters->getShadingStatus
|
|
||||||
# and ( $shutters->getShadingStatus eq 'in'
|
|
||||||
# or $shutters->getShadingStatus eq 'out' )
|
|
||||||
# );
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
(
|
(
|
||||||
$outTemp < $shutters->getShadingMinOutsideTemperature - 3
|
$outTemp < $shutters->getShadingMinOutsideTemperature - 3
|
||||||
@@ -2019,15 +2012,17 @@ sub ShadingProcessing($@) {
|
|||||||
if ( $shutters->getShadingStatus eq 'in'
|
if ( $shutters->getShadingStatus eq 'in'
|
||||||
or $shutters->getShadingStatus eq 'in reserved' );
|
or $shutters->getShadingStatus eq 'in reserved' );
|
||||||
|
|
||||||
$shutters->setShadingStatus('out')
|
|
||||||
if (
|
if (
|
||||||
(
|
(
|
||||||
$shutters->getShadingStatus eq 'out reserved'
|
$shutters->getShadingStatus eq 'out reserved'
|
||||||
and
|
and
|
||||||
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp )
|
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp )
|
||||||
> $shutters->getShadingWaitingPeriod
|
) > $shutters->getShadingWaitingPeriod
|
||||||
)
|
)
|
||||||
);
|
{
|
||||||
|
$shutters->setShadingStatus('out');
|
||||||
|
$shutters->setShadingLastStatus('in');
|
||||||
|
}
|
||||||
|
|
||||||
Log3( $name, 4,
|
Log3( $name, 4,
|
||||||
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
|
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
|
||||||
@@ -2055,11 +2050,15 @@ sub ShadingProcessing($@) {
|
|||||||
if ( $shutters->getShadingStatus eq 'out'
|
if ( $shutters->getShadingStatus eq 'out'
|
||||||
or $shutters->getShadingStatus eq 'out reserved' );
|
or $shutters->getShadingStatus eq 'out reserved' );
|
||||||
|
|
||||||
$shutters->setShadingStatus('in')
|
|
||||||
if ( $shutters->getShadingStatus eq 'in reserved'
|
if ( $shutters->getShadingStatus eq 'in reserved'
|
||||||
and
|
and
|
||||||
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
|
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
|
||||||
( $shutters->getShadingWaitingPeriod / 2 ) );
|
( $shutters->getShadingWaitingPeriod / 2 ) )
|
||||||
|
{
|
||||||
|
$shutters->setShadingStatus('in');
|
||||||
|
$shutters->setShadingLastStatus('out');
|
||||||
|
}
|
||||||
|
|
||||||
Log3( $name, 4,
|
Log3( $name, 4,
|
||||||
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
|
"AutoShuttersControl ($name) - Shading Processing, Rollladen: "
|
||||||
. $shuttersDev
|
. $shuttersDev
|
||||||
|
Reference in New Issue
Block a user