change logic in eventwindow sub
This commit is contained in:
parent
9d01c97dc3
commit
82c02b8778
@ -266,7 +266,7 @@ sub Define($$) {
|
|||||||
if ( $ascDev->getFreezeTemp eq 'none' );
|
if ( $ascDev->getFreezeTemp eq 'none' );
|
||||||
CommandAttr( undef,
|
CommandAttr( undef,
|
||||||
$name
|
$name
|
||||||
. ' devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense inactive:status_open day.open:scene_day night close:scene_night'
|
. ' devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense inactive:status_open day.open:scene_day night.close:scene_night'
|
||||||
) if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
|
) if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
|
||||||
|
|
||||||
addToAttrList('ASC:0,1,2');
|
addToAttrList('ASC:0,1,2');
|
||||||
@ -832,38 +832,47 @@ sub EventProcessingWindowRec($@) {
|
|||||||
: $shutters->getStatus < $shutters->getComfortOpenPos
|
: $shutters->getStatus < $shutters->getComfortOpenPos
|
||||||
);
|
);
|
||||||
|
|
||||||
if ( $shutters->getDelayCmd ne 'none' )
|
if ( $shutters->getDelayCmd ne 'none' and $1 eq 'closed' )
|
||||||
{ # 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->setLastDrive('delayed closed');
|
$shutters->setLastDrive('delayed drive - window closed');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getClosedPos );
|
$shutters->getDelayCmd );
|
||||||
}
|
# }
|
||||||
elsif (
|
# elsif (
|
||||||
(
|
# (
|
||||||
$1 eq 'tilted'
|
# $1 eq 'tilted'
|
||||||
or ( $1 eq 'open' and $shutters->getSubTyp eq 'twostate' )
|
# or ( $1 eq 'open' and $shutters->getSubTyp eq 'twostate' )
|
||||||
)
|
# )
|
||||||
and $shutters->getVentilateOpen eq 'on'
|
# and $shutters->getVentilateOpen eq 'on'
|
||||||
and $queryShuttersPosWinRecTilted
|
# and $queryShuttersPosWinRecTilted
|
||||||
)
|
# )
|
||||||
{
|
# {
|
||||||
$shutters->setLastDrive('delayed ventilate open');
|
# $shutters->setLastDrive('delayed ventilate open');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
# ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getVentilatePos );
|
# $shutters->getVentilatePos );
|
||||||
}
|
# }
|
||||||
}
|
}
|
||||||
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
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( $shutters->getStatus == $shutters->getVentilatePos
|
if ( $shutters->getStatus == $shutters->getVentilatePos
|
||||||
or $shutters->getStatus == $shutters->getComfortOpenPos )
|
or $shutters->getStatus == $shutters->getComfortOpenPos )
|
||||||
{
|
{
|
||||||
|
my $homemode = $shutters->getRoommatesStatus;
|
||||||
|
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
|
||||||
$shutters->setLastDrive('window closed');
|
$shutters->setLastDrive('window closed');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getClosedPos );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getOpenPos )
|
||||||
|
if ( IsDay($hash,$shuttersDev)
|
||||||
|
and ($homemode ne 'asleep'
|
||||||
|
or $homemode ne 'gotosleep'
|
||||||
|
or $homemode eq 'none') );
|
||||||
|
ShuttersCommandSet( $hash, $shuttersDev, $shutters->getClosedPos )
|
||||||
|
if ( not IsDay($hash,$shuttersDev)
|
||||||
|
or $homemode eq 'asleep'
|
||||||
|
or $homemode eq 'gotosleep' );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elsif (
|
elsif (
|
||||||
(
|
(
|
||||||
@ -874,7 +883,7 @@ sub EventProcessingWindowRec($@) {
|
|||||||
and $queryShuttersPosWinRecTilted
|
and $queryShuttersPosWinRecTilted
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('ventilate open');
|
$shutters->setLastDrive('ventilate - window open');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getVentilatePos );
|
$shutters->getVentilatePos );
|
||||||
}
|
}
|
||||||
@ -883,7 +892,7 @@ sub EventProcessingWindowRec($@) {
|
|||||||
and $ascDev->getAutoShuttersControlComfort eq 'on'
|
and $ascDev->getAutoShuttersControlComfort eq 'on'
|
||||||
and $queryShuttersPosWinRecComfort )
|
and $queryShuttersPosWinRecComfort )
|
||||||
{
|
{
|
||||||
$shutters->setLastDrive('comfort open');
|
$shutters->setLastDrive('comfort - window open');
|
||||||
ShuttersCommandSet( $hash, $shuttersDev,
|
ShuttersCommandSet( $hash, $shuttersDev,
|
||||||
$shutters->getComfortOpenPos );
|
$shutters->getComfortOpenPos );
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user