fix hardLock Mode
This commit is contained in:
@ -2231,11 +2231,15 @@ sub ShuttersCommandSet($$$) {
|
|||||||
and ( $ascDev->getAutoShuttersControlComfort eq 'off'
|
and ( $ascDev->getAutoShuttersControlComfort eq 'off'
|
||||||
or $shutters->getComfortOpenPos != $posValue )
|
or $shutters->getComfortOpenPos != $posValue )
|
||||||
and $shutters->getVentilateOpen eq 'on'
|
and $shutters->getVentilateOpen eq 'on'
|
||||||
|
and $shutters->getShuttersPlace eq 'window'
|
||||||
|
and $shutters->getLockOut ne 'off'
|
||||||
)
|
)
|
||||||
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and $shutters->getSubTyp eq 'threestate'
|
and $shutters->getSubTyp eq 'threestate'
|
||||||
and $ascDev->getAutoShuttersControlComfort eq 'on'
|
and $ascDev->getAutoShuttersControlComfort eq 'on'
|
||||||
and $shutters->getVentilateOpen eq 'off' )
|
and $shutters->getVentilateOpen eq 'off'
|
||||||
|
and $shutters->getShuttersPlace eq 'window'
|
||||||
|
and $shutters->getLockOut ne 'off')
|
||||||
or (
|
or (
|
||||||
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and ( $shutters->getLockOut eq 'soft'
|
and ( $shutters->getLockOut eq 'soft'
|
||||||
@ -2245,7 +2249,7 @@ sub ShuttersCommandSet($$$) {
|
|||||||
)
|
)
|
||||||
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
or ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and $shutters->getShuttersPlace eq 'terrace'
|
and $shutters->getShuttersPlace eq 'terrace'
|
||||||
and $shutters->getQueryShuttersPos($posValue) )
|
and not $shutters->getQueryShuttersPos($posValue) )
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -2469,18 +2473,6 @@ sub SunSetShuttersAfterTimerFn($) {
|
|||||||
$shutters->setSunset(1);
|
$shutters->setSunset(1);
|
||||||
$shutters->setSunrise(0);
|
$shutters->setSunrise(0);
|
||||||
|
|
||||||
my $posValue;
|
|
||||||
|
|
||||||
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
|
||||||
or $shutters->getVentilateOpen eq 'off' )
|
|
||||||
{
|
|
||||||
$posValue = $shutters->getClosedPos;
|
|
||||||
}
|
|
||||||
elsif ( $shutters->getQueryShuttersPos( $shutters->getVentilatePos ) ) {
|
|
||||||
$posValue = $shutters->getStatus;
|
|
||||||
}
|
|
||||||
else { $posValue = $shutters->getVentilatePos; }
|
|
||||||
|
|
||||||
my $homemode = $shutters->getRoommatesStatus;
|
my $homemode = $shutters->getRoommatesStatus;
|
||||||
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
||||||
|
|
||||||
@ -2495,19 +2487,17 @@ sub SunSetShuttersAfterTimerFn($) {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ( $funcHash->{privacyMode} == 1
|
if ( $funcHash->{privacyMode} == 1 )
|
||||||
and
|
|
||||||
not $shutters->getQueryShuttersPos( $shutters->getPrivacyDownPos ) )
|
|
||||||
{
|
{
|
||||||
$shutters->setPrivacyDownStatus(1);
|
$shutters->setPrivacyDownStatus(1);
|
||||||
$shutters->setLastDrive('privacy position');
|
$shutters->setLastDrive('privacy position');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getPrivacyDownPos );
|
PositionValueWindowRec($shuttersDev,$shutters->getClosedPos) );
|
||||||
}
|
}
|
||||||
elsif ( $funcHash->{privacyMode} == 0 ) {
|
elsif ( $funcHash->{privacyMode} == 0 ) {
|
||||||
$shutters->setPrivacyDownStatus(0);
|
$shutters->setPrivacyDownStatus(0);
|
||||||
$shutters->setLastDrive('night close');
|
$shutters->setLastDrive('night close');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev, $posValue );
|
ShuttersCommandSet( $hash, $shuttersDev, PositionValueWindowRec($shuttersDev,$shutters->getClosedPos) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2737,6 +2727,37 @@ sub GetMonitoredDevs($) {
|
|||||||
## my little helper
|
## my little helper
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
|
sub PositionValueWindowRec($$) {
|
||||||
|
my ($shuttersDev,$posValue) = @_;
|
||||||
|
|
||||||
|
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 1
|
||||||
|
and $shutters->getVentilateOpen eq 'on')
|
||||||
|
{
|
||||||
|
$posValue = $shutters->getVentilatePos;
|
||||||
|
}
|
||||||
|
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
|
and $shutters->getSubTyp eq 'threestate'
|
||||||
|
and $ascDev->getAutoShuttersControlComfort eq 'on'
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$posValue = $shutters->getComfortOpenPos;
|
||||||
|
}
|
||||||
|
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
|
and ($shutters->getSubTyp eq 'threestate'
|
||||||
|
or $shutters->getSubTyp eq 'twostate')
|
||||||
|
and $shutters->getVentilateOpen eq 'on'
|
||||||
|
)
|
||||||
|
{
|
||||||
|
$posValue = $shutters->getVentilatePos;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( $shutters->getQueryShuttersPos( $posValue ) ) {
|
||||||
|
$posValue = $shutters->getStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $posValue;
|
||||||
|
}
|
||||||
|
|
||||||
sub AutoSearchTwilightDev($) {
|
sub AutoSearchTwilightDev($) {
|
||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
@ -6245,7 +6266,7 @@ sub getblockAscDrivesAfterManual {
|
|||||||
"release_status": "under develop",
|
"release_status": "under develop",
|
||||||
"license": "GPL_2",
|
"license": "GPL_2",
|
||||||
"version": "v0.6.19",
|
"version": "v0.6.19",
|
||||||
"x_developmentversion": "v0.6.19.8",
|
"x_developmentversion": "v0.6.19.10",
|
||||||
"author": [
|
"author": [
|
||||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user