bugfix shutters drive then terrace door is open, set Attribut ASC_ShuttersPlace to terrace
This commit is contained in:
@ -1524,13 +1524,22 @@ sub ShuttersCommandSet($$$) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
(
|
||||||
$posValue != $shutters->getShadingPos
|
$posValue != $shutters->getShadingPos
|
||||||
and ( $shutters->getPartyMode eq 'on'
|
or $shutters->getShuttersPlace eq 'terrace'
|
||||||
and $ascDev->getPartyMode eq 'on' )
|
)
|
||||||
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
and (
|
||||||
|
(
|
||||||
|
$shutters->getPartyMode eq 'on'
|
||||||
|
and $ascDev->getPartyMode eq 'on'
|
||||||
|
)
|
||||||
|
or (
|
||||||
|
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and $shutters->getSubTyp eq 'threestate'
|
and $shutters->getSubTyp eq 'threestate'
|
||||||
and $ascDev->getAutoShuttersControlComfort eq 'off'
|
and ( $ascDev->getAutoShuttersControlComfort eq 'off'
|
||||||
and $shutters->getVentilateOpen eq 'on' )
|
or $shutters->getComfortOpenPos != $posValue )
|
||||||
|
and $shutters->getVentilateOpen eq 'on'
|
||||||
|
)
|
||||||
or (
|
or (
|
||||||
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and ( $shutters->getLockOut eq 'soft'
|
and ( $shutters->getLockOut eq 'soft'
|
||||||
@ -1539,6 +1548,7 @@ sub ShuttersCommandSet($$$) {
|
|||||||
and not $queryShuttersPosValue
|
and not $queryShuttersPosValue
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
$shutters->setDelayCmd($posValue);
|
$shutters->setDelayCmd($posValue);
|
||||||
$ascDev->setDelayCmdReading;
|
$ascDev->setDelayCmdReading;
|
||||||
@ -2537,7 +2547,8 @@ sub setDriveCmd {
|
|||||||
$offSet = $shutters->getOffset if ( $shutters->getOffset > 0 );
|
$offSet = $shutters->getOffset if ( $shutters->getOffset > 0 );
|
||||||
$offSet = $ascDev->getShuttersOffset if ( $shutters->getOffset == -1 );
|
$offSet = $ascDev->getShuttersOffset if ( $shutters->getOffset == -1 );
|
||||||
|
|
||||||
InternalTimer( gettimeofday() + int( rand($offSet) + $shutters->getOffsetStart ),
|
InternalTimer(
|
||||||
|
gettimeofday() + int( rand($offSet) + $shutters->getOffsetStart ),
|
||||||
'AutoShuttersControl::SetCmdFn', \%h )
|
'AutoShuttersControl::SetCmdFn', \%h )
|
||||||
if ( $offSet > 0 and not $shutters->getNoOffset );
|
if ( $offSet > 0 and not $shutters->getNoOffset );
|
||||||
AutoShuttersControl::SetCmdFn( \%h )
|
AutoShuttersControl::SetCmdFn( \%h )
|
||||||
@ -2970,7 +2981,11 @@ sub getOffset {
|
|||||||
sub getOffsetStart {
|
sub getOffsetStart {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return ( AttrVal( $self->{shuttersDev}, 'ASC_Drive_OffsetStart', 5) > 4 ? AttrVal( $self->{shuttersDev}, 'ASC_Drive_OffsetStart', 5) : 5 );
|
return (
|
||||||
|
AttrVal( $self->{shuttersDev}, 'ASC_Drive_OffsetStart', 5 ) > 4
|
||||||
|
? AttrVal( $self->{shuttersDev}, 'ASC_Drive_OffsetStart', 5 )
|
||||||
|
: 5
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getBlockingTimeAfterManual {
|
sub getBlockingTimeAfterManual {
|
||||||
|
Reference in New Issue
Block a user