fix privacy mode bug, add privacy condition to wind and rain unprotection drive
This commit is contained in:
parent
05b46042de
commit
31bd4cea24
@ -1213,8 +1213,7 @@ sub EventProcessingResidents($@) {
|
||||
$ascDev->getSelfDefense eq 'on'
|
||||
and $shutters->getSelfDefenseExclude eq 'off'
|
||||
or ( $getModeDown eq 'absent'
|
||||
or $getModeDown eq 'always'
|
||||
)
|
||||
or $getModeDown eq 'always' )
|
||||
)
|
||||
{
|
||||
if (
|
||||
@ -1234,8 +1233,9 @@ sub EventProcessingResidents($@) {
|
||||
$shutters->setDriveCmd( $shutters->getClosedPos );
|
||||
}
|
||||
elsif (
|
||||
( $getModeDown eq 'absent'
|
||||
or $getModeDown eq 'always'
|
||||
(
|
||||
$getModeDown eq 'absent'
|
||||
or $getModeDown eq 'always'
|
||||
)
|
||||
and not IsDay($shuttersDev)
|
||||
and IsAfterShuttersTimeBlocking($shuttersDev)
|
||||
@ -1350,7 +1350,7 @@ sub EventProcessingResidents($@) {
|
||||
$shutters->setLastDrive('selfDefense inactive');
|
||||
$shutters->setDriveCmd(
|
||||
(
|
||||
$shutters->getPrivacyDownStatus
|
||||
$shutters->getPrivacyDownStatus == 2
|
||||
? $shutters->getPrivacyDownPos
|
||||
: $shutters->getOpenPos
|
||||
)
|
||||
@ -1415,7 +1415,14 @@ sub EventProcessingRain($@) {
|
||||
and $shutters->getRainProtectionStatus eq 'protected' )
|
||||
{
|
||||
$shutters->setLastDrive('rain un-protected');
|
||||
$shutters->setDriveCmd( $shutters->getLastPos );
|
||||
$shutters->setDriveCmd(
|
||||
(
|
||||
IsDay($shuttersDev) ? $shutters->getLastPos
|
||||
: ( $shutters->getPrivacyDownStatus == 2
|
||||
? $shutters->getPrivacyDownPos
|
||||
: $shutters->getClosedPos )
|
||||
)
|
||||
);
|
||||
$shutters->setRainProtectionStatus('unprotected');
|
||||
}
|
||||
}
|
||||
@ -1463,7 +1470,14 @@ sub EventProcessingWind($@) {
|
||||
and $shutters->getWindProtectionStatus eq 'protected' )
|
||||
{
|
||||
$shutters->setLastDrive('wind un-protected');
|
||||
$shutters->setDriveCmd( $shutters->getLastPos );
|
||||
$shutters->setDriveCmd(
|
||||
(
|
||||
IsDay($shuttersDev) ? $shutters->getLastPos
|
||||
: ( $shutters->getPrivacyDownStatus == 2
|
||||
? $shutters->getPrivacyDownPos
|
||||
: $shutters->getClosedPos )
|
||||
)
|
||||
);
|
||||
$shutters->setWindProtectionStatus('unprotected');
|
||||
}
|
||||
|
||||
@ -2375,14 +2389,15 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
||||
my %funcHash = (
|
||||
hash => $hash,
|
||||
shuttersdevice => $shuttersDev,
|
||||
|
||||
# privacyMode => 0,
|
||||
sunsettime => $shuttersSunsetUnixtime,
|
||||
sunrisetime => $shuttersSunriseUnixtime
|
||||
sunsettime => $shuttersSunsetUnixtime,
|
||||
sunrisetime => $shuttersSunriseUnixtime
|
||||
);
|
||||
|
||||
## Setzt den PrivacyDown Modus für die Sichtschutzfahrt auf den Status 0
|
||||
$shutters->setPrivacyDownStatus(0);
|
||||
## 1 bedeutet das PrivacyDown Timer aktiviert wurde, 2 beudet das er im privacyDown ist
|
||||
## also das Rollo in privacyDown Position steht und VOR der endgültigen Nachfahrt
|
||||
$shutters->setPrivacyDownStatus(0)
|
||||
if ( not defined( $shutters->setPrivacyDownStatus ) );
|
||||
|
||||
## Ich brauche beim löschen des InternalTimer den Hash welchen ich mitgegeben habe,dieser muss gesichert werden
|
||||
$shutters->setInTimerFuncHash( \%funcHash );
|
||||
@ -2403,10 +2418,8 @@ sub CreateSunRiseSetShuttersTimer($$) {
|
||||
),
|
||||
0
|
||||
);
|
||||
|
||||
# $funcHash{privacyMode} = 1;
|
||||
## Setzt den PrivacyDown Modus für die Sichtschutzfahrt auf den Status 1
|
||||
$shutters->setPrivacyDownStatus(0);
|
||||
$shutters->setPrivacyDownStatus(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2520,14 +2533,18 @@ sub SunSetShuttersAfterTimerFn($) {
|
||||
)
|
||||
{
|
||||
|
||||
if ( $funcHash->{privacyMode} == 1 ) {
|
||||
$shutters->setPrivacyDownStatus(1);
|
||||
if ( $shutters->getPrivacyDownStatus == 1 ) {
|
||||
$shutters->setPrivacyDownStatus(2);
|
||||
$shutters->setLastDrive('privacy position');
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
PositionValueWindowRec( $shuttersDev, $shutters->getClosedPos )
|
||||
ShuttersCommandSet(
|
||||
$hash,
|
||||
$shuttersDev,
|
||||
PositionValueWindowRec(
|
||||
$shuttersDev, $shutters->getPrivacyDownPos
|
||||
)
|
||||
);
|
||||
}
|
||||
elsif ( $funcHash->{privacyMode} == 0 ) {
|
||||
else {
|
||||
$shutters->setPrivacyDownStatus(0);
|
||||
$shutters->setLastDrive('night close');
|
||||
ShuttersCommandSet( $hash, $shuttersDev,
|
||||
@ -2695,7 +2712,8 @@ sub GetShuttersInformation($) {
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getLockOut . "</td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . ReadingsVal( $shutter, 'ASC_ShuttersLastDrive', 'none' ) . "</td>";
|
||||
$ret .= "<td>"
|
||||
. ReadingsVal( $shutter, 'ASC_ShuttersLastDrive', 'none' ) . "</td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getStatus . "</td>";
|
||||
$ret .= "<td> </td>";
|
||||
@ -6368,7 +6386,7 @@ sub getblockAscDrivesAfterManual {
|
||||
"release_status": "under develop",
|
||||
"license": "GPL_2",
|
||||
"version": "v0.6.19",
|
||||
"x_developmentversion": "v0.6.19.18",
|
||||
"x_developmentversion": "v0.6.19.19",
|
||||
"author": [
|
||||
"Marko Oldenburg <leongaultier@gmail.com>"
|
||||
],
|
||||
|
Loading…
x
Reference in New Issue
Block a user