change hardLockOut mode code

This commit is contained in:
Marko Oldenburg 2018-11-21 21:56:29 +01:00
parent b3c24fee5b
commit 37ef7f1e93

View File

@ -518,7 +518,7 @@ sub Set($$@) {
return "usage: $cmd" if ( @args > 1 ); return "usage: $cmd" if ( @args > 1 );
readingsSingleUpdate( $hash, $cmd, join( ' ', @args ), 1 ); readingsSingleUpdate( $hash, $cmd, join( ' ', @args ), 1 );
} }
elsif ( lc $cmd eq 'lockout' ) { elsif ( lc $cmd eq 'hardlockout' ) {
return "usage: $cmd" if ( @args > 1 ); return "usage: $cmd" if ( @args > 1 );
readingsSingleUpdate( $hash, $cmd, join( ' ', @args ), 1 ); readingsSingleUpdate( $hash, $cmd, join( ' ', @args ), 1 );
HardewareBlockForShutters( $hash, join( ' ', @args ) ); HardewareBlockForShutters( $hash, join( ' ', @args ) );
@ -539,7 +539,7 @@ sub Set($$@) {
else { else {
my $list = "scanForShutters:noArg"; my $list = "scanForShutters:noArg";
$list .= $list .=
" renewSetSunriseSunsetTimer:noArg partyMode:on,off lockOut:on,off sunriseTimeWeHoliday:on,off selfDefense:on,off wiggle:all," " renewSetSunriseSunsetTimer:noArg partyMode:on,off hardLockOut:on,off sunriseTimeWeHoliday:on,off selfDefense:on,off wiggle:all,"
. join( ',', @{ $hash->{helper}{shuttersList} } ) . join( ',', @{ $hash->{helper}{shuttersList} } )
if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out' ); if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out' );
$list .= " createNewNotifyDev:noArg" $list .= " createNewNotifyDev:noArg"
@ -786,6 +786,11 @@ sub EventProcessingWindowRec($@) {
if ( $events =~ m#state:\s(open|closed|tilted)# ) { if ( $events =~ m#state:\s(open|closed|tilted)# ) {
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
#### Hardware Lock der Rollläden
$shutters->setHardLockOut('off') unless ( $1 eq 'open' or $1 eq 'tilted' );
$shutters->setHardLockOut('on') unless ( $1 eq 'closed' );
$shutters->setNoOffset(1); $shutters->setNoOffset(1);
my $queryShuttersPosWinRecTilted = ( my $queryShuttersPosWinRecTilted = (
@ -803,7 +808,6 @@ sub EventProcessingWindowRec($@) {
{ # Es wird geschaut ob wärend der Fenster offen Phase ein Fahrbefehl über das Modul kam,wenn ja wird dieser aus geführt { # Es wird geschaut ob wärend der Fenster offen Phase ein Fahrbefehl über das Modul kam,wenn ja wird dieser aus geführt
# if ( $1 eq 'closed' ) { # if ( $1 eq 'closed' ) {
$shutters->setHardLockOut('off');
$shutters->setLastDrive('delayed drive - window closed'); $shutters->setLastDrive('delayed drive - window closed');
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd ); ShuttersCommandSet( $hash, $shuttersDev, $shutters->getDelayCmd );
@ -826,7 +830,6 @@ sub EventProcessingWindowRec($@) {
elsif ( $1 eq 'closed' elsif ( $1 eq 'closed'
) # wenn nicht dann wird entsprechend dem Fensterkontakt Event der Rolladen geschlossen oder zum lüften geöffnet ) # wenn nicht dann wird entsprechend dem Fensterkontakt Event der Rolladen geschlossen oder zum lüften geöffnet
{ {
$shutters->setHardLockOut('off');
if ( $shutters->getStatus == $shutters->getVentilatePos if ( $shutters->getStatus == $shutters->getVentilatePos
or $shutters->getStatus == $shutters->getComfortOpenPos ) or $shutters->getStatus == $shutters->getComfortOpenPos )
{ {
@ -858,7 +861,6 @@ sub EventProcessingWindowRec($@) {
and $queryShuttersPosWinRecTilted and $queryShuttersPosWinRecTilted
) )
{ {
$shutters->setHardLockOut('on');
$shutters->setLastDrive('ventilate - window open'); $shutters->setLastDrive('ventilate - window open');
ShuttersCommandSet( $hash, $shuttersDev, ShuttersCommandSet( $hash, $shuttersDev,
$shutters->getVentilatePos ); $shutters->getVentilatePos );
@ -868,7 +870,6 @@ sub EventProcessingWindowRec($@) {
and $ascDev->getAutoShuttersControlComfort eq 'on' and $ascDev->getAutoShuttersControlComfort eq 'on'
and $queryShuttersPosWinRecComfort ) and $queryShuttersPosWinRecComfort )
{ {
$shutters->setHardLockOut('on');
$shutters->setLastDrive('comfort - window open'); $shutters->setLastDrive('comfort - window open');
ShuttersCommandSet( $hash, $shuttersDev, ShuttersCommandSet( $hash, $shuttersDev,
$shutters->getComfortOpenPos ); $shutters->getComfortOpenPos );