change hardBlock action if shutters pos close
This commit is contained in:
parent
a44fffe94e
commit
89431a2af3
@ -3,8 +3,8 @@ UPD 2021-11-29_15:01:56 75264 lib/FHEM/Automation/ShuttersControl.pm
|
|||||||
UPD 2021-10-09_07:12:54 2657 lib/FHEM/Automation/ShuttersControl/Dev.pm
|
UPD 2021-10-09_07:12:54 2657 lib/FHEM/Automation/ShuttersControl/Dev.pm
|
||||||
UPD 2021-10-09_07:12:54 2494 lib/FHEM/Automation/ShuttersControl/Roommate.pm
|
UPD 2021-10-09_07:12:54 2494 lib/FHEM/Automation/ShuttersControl/Roommate.pm
|
||||||
UPD 2021-10-24_07:33:53 31900 lib/FHEM/Automation/ShuttersControl/Shutters.pm
|
UPD 2021-10-24_07:33:53 31900 lib/FHEM/Automation/ShuttersControl/Shutters.pm
|
||||||
UPD 2021-12-04_09:50:00 25333 lib/FHEM/Automation/ShuttersControl/Shading.pm
|
UPD 2021-12-04_10:58:06 25333 lib/FHEM/Automation/ShuttersControl/Shading.pm
|
||||||
UPD 2021-12-04_10:54:53 111003 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
|
UPD 2021-12-04_20:47:39 112341 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
|
||||||
UPD 2021-11-14_14:03:06 40094 lib/FHEM/Automation/ShuttersControl/Helper.pm
|
UPD 2021-11-14_14:03:06 40094 lib/FHEM/Automation/ShuttersControl/Helper.pm
|
||||||
UPD 2021-10-09_07:12:54 2173 lib/FHEM/Automation/ShuttersControl/Window.pm
|
UPD 2021-10-09_07:12:54 2173 lib/FHEM/Automation/ShuttersControl/Window.pm
|
||||||
UPD 2021-10-09_07:12:54 11739 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
|
UPD 2021-10-09_07:12:54 11739 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
|
||||||
|
@ -94,8 +94,12 @@ sub EventProcessingGeneral {
|
|||||||
|
|
||||||
if ( defined($devname) && ($devname) )
|
if ( defined($devname) && ($devname) )
|
||||||
{ # es wird lediglich der Devicename der Funktion mitgegeben wenn es sich nicht um global handelt daher hier die Unterscheidung
|
{ # es wird lediglich der Devicename der Funktion mitgegeben wenn es sich nicht um global handelt daher hier die Unterscheidung
|
||||||
my $windReading = $FHEM::Automation::ShuttersControl::ascDev->getWindSensorReading // 'none';
|
my $windReading =
|
||||||
my $rainReading = $FHEM::Automation::ShuttersControl::ascDev->getRainSensorReading // 'none';
|
$FHEM::Automation::ShuttersControl::ascDev->getWindSensorReading
|
||||||
|
// 'none';
|
||||||
|
my $rainReading =
|
||||||
|
$FHEM::Automation::ShuttersControl::ascDev->getRainSensorReading
|
||||||
|
// 'none';
|
||||||
|
|
||||||
while ( my ( $device, $deviceAttr ) =
|
while ( my ( $device, $deviceAttr ) =
|
||||||
each %{ $hash->{monitoredDevs}{$devname} } )
|
each %{ $hash->{monitoredDevs}{$devname} } )
|
||||||
@ -122,13 +126,16 @@ sub EventProcessingGeneral {
|
|||||||
EventProcessingExternalTriggerDevice( $hash, $device, $events )
|
EventProcessingExternalTriggerDevice( $hash, $device, $events )
|
||||||
if ( $deviceAttr eq 'ASC_ExternalTrigger' );
|
if ( $deviceAttr eq 'ASC_ExternalTrigger' );
|
||||||
|
|
||||||
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($device)
|
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev(
|
||||||
|
$device)
|
||||||
if ( $deviceAttr eq 'ASC_BrightnessSensor' );
|
if ( $deviceAttr eq 'ASC_BrightnessSensor' );
|
||||||
|
|
||||||
if (
|
if (
|
||||||
$deviceAttr eq 'ASC_BrightnessSensor'
|
$deviceAttr eq 'ASC_BrightnessSensor'
|
||||||
&& ( $FHEM::Automation::ShuttersControl::shutters->getDown eq 'brightness'
|
&& ( $FHEM::Automation::ShuttersControl::shutters->getDown eq
|
||||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq 'brightness' )
|
'brightness'
|
||||||
|
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq
|
||||||
|
'brightness' )
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
EventProcessingBrightness( $hash, $device, $events );
|
EventProcessingBrightness( $hash, $device, $events );
|
||||||
@ -147,7 +154,8 @@ sub EventProcessingGeneral {
|
|||||||
\s(.*)$}xms
|
\s(.*)$}xms
|
||||||
)
|
)
|
||||||
{ # wurde den Attributen unserer Rolläden ein Wert zugewiesen ?
|
{ # wurde den Attributen unserer Rolläden ein Wert zugewiesen ?
|
||||||
FHEM::Automation::ShuttersControl::AddNotifyDev( $hash, $3, $1, $2 ) if ( $3 ne 'none' );
|
FHEM::Automation::ShuttersControl::AddNotifyDev( $hash, $3, $1, $2 )
|
||||||
|
if ( $3 ne 'none' );
|
||||||
Log3( $name, 4,
|
Log3( $name, 4,
|
||||||
"AutoShuttersControl ($name) - EventProcessing: ATTR" );
|
"AutoShuttersControl ($name) - EventProcessing: ATTR" );
|
||||||
}
|
}
|
||||||
@ -175,11 +183,13 @@ sub EventProcessingGeneral {
|
|||||||
(.*)?}xms
|
(.*)?}xms
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
FHEM::Automation::ShuttersControl::CreateSunRiseSetShuttersTimer( $hash, $2 )
|
FHEM::Automation::ShuttersControl::CreateSunRiseSetShuttersTimer(
|
||||||
|
$hash, $2 )
|
||||||
if (
|
if (
|
||||||
$3 ne 'ASC_Time_Up_WE_Holiday'
|
$3 ne 'ASC_Time_Up_WE_Holiday'
|
||||||
|| ( $3 eq 'ASC_Time_Up_WE_Holiday'
|
|| ( $3 eq 'ASC_Time_Up_WE_Holiday'
|
||||||
&& $FHEM::Automation::ShuttersControl::ascDev->getSunriseTimeWeHoliday eq 'on' )
|
&& $FHEM::Automation::ShuttersControl::ascDev
|
||||||
|
->getSunriseTimeWeHoliday eq 'on' )
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
elsif (
|
elsif (
|
||||||
@ -189,7 +199,8 @@ sub EventProcessingGeneral {
|
|||||||
(.*)?}xms
|
(.*)?}xms
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
FHEM::Automation::ShuttersControl::RenewSunRiseSetShuttersTimer($hash);
|
FHEM::Automation::ShuttersControl::RenewSunRiseSetShuttersTimer(
|
||||||
|
$hash);
|
||||||
}
|
}
|
||||||
elsif (
|
elsif (
|
||||||
$events =~ m{^(DELETEATTR|ATTR)
|
$events =~ m{^(DELETEATTR|ATTR)
|
||||||
@ -197,7 +208,8 @@ sub EventProcessingGeneral {
|
|||||||
(.*)?}xms
|
(.*)?}xms
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$FHEM::Automation::ShuttersControl::shutters->deleteShadingStateChangeSunny;
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->deleteShadingStateChangeSunny;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
@ -219,7 +231,8 @@ m{^(DELETEATTR|ATTR) #global ATTR myASC ASC_tempSensor Cellar
|
|||||||
attrEvent => 1,
|
attrEvent => 1,
|
||||||
);
|
);
|
||||||
|
|
||||||
FHEM::Automation::ShuttersControl::Shading::_CheckShuttersConditionsForShadingFn(\%funcHash);
|
FHEM::Automation::ShuttersControl::Shading::_CheckShuttersConditionsForShadingFn(
|
||||||
|
\%funcHash );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CommandSet( undef, $name . ' controlShading on' )
|
CommandSet( undef, $name . ' controlShading on' )
|
||||||
@ -247,9 +260,8 @@ sub EventProcessingWindowRec {
|
|||||||
{
|
{
|
||||||
return
|
return
|
||||||
if ( !IsAfterShuttersManualBlocking($shuttersDev)
|
if ( !IsAfterShuttersManualBlocking($shuttersDev)
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getLockOut
|
&& $FHEM::Automation::ShuttersControl::shutters->getLockOut eq
|
||||||
eq 'off' );
|
'off' );
|
||||||
|
|
||||||
|
|
||||||
my $match = $1;
|
my $match = $1;
|
||||||
|
|
||||||
@ -279,7 +291,11 @@ sub EventProcessingWindowRec {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters->setHardLockOut('on')
|
$FHEM::Automation::ShuttersControl::shutters->setHardLockOut('on')
|
||||||
if ( $match =~ m{[Oo]pen|false}xms
|
if ( $match =~ m{[Oo]pen|false}xms
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
|
&& $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
|
||||||
eq 'terrace' );
|
eq 'terrace'
|
||||||
|
&& $FHEM::Automation::ShuttersControl::shutters->getStatus !=
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
||||||
|
&& $FHEM::Automation::ShuttersControl::shutters->getStatus !=
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters->getComfortOpenPos );
|
||||||
|
|
||||||
FHEM::Automation::ShuttersControl::ASC_Debug(
|
FHEM::Automation::ShuttersControl::ASC_Debug(
|
||||||
'EventProcessingWindowRec: '
|
'EventProcessingWindowRec: '
|
||||||
@ -308,30 +324,29 @@ sub EventProcessingWindowRec {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters->getComfortOpenPos
|
$FHEM::Automation::ShuttersControl::shutters->getComfortOpenPos
|
||||||
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
||||||
$FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
$FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getLastDrive
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
eq 'ventilate - window open'
|
->getLastDrive eq 'ventilate - window open'
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getSubTyp
|
&& $FHEM::Automation::ShuttersControl::shutters->getSubTyp
|
||||||
eq 'twostate'
|
eq 'twostate'
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getVentilateOpen
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
eq 'on' )
|
->getVentilateOpen eq 'on' )
|
||||||
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getPrivacyDownPos
|
->getPrivacyDownPos
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getPrivacyDownStatus != 2
|
->getPrivacyDownStatus != 2
|
||||||
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay )
|
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay )
|
||||||
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
|| (
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
||||||
->getOpenPos
|
$FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
||||||
&& ( $FHEM::Automation::ShuttersControl::shutters
|
&& ( $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getLockOut ne 'off'
|
->getLockOut ne 'off'
|
||||||
|| $FHEM::Automation::ShuttersControl::shutters
|
|| $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getShuttersPlace eq 'terrace'
|
->getShuttersPlace eq 'terrace' )
|
||||||
|
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||||
)
|
)
|
||||||
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay )
|
|
||||||
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
||||||
->getOpenPos
|
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getDelayCmd ne 'none'
|
->getDelayCmd ne 'none'
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
@ -376,7 +391,8 @@ sub EventProcessingWindowRec {
|
|||||||
elsif (
|
elsif (
|
||||||
!$FHEM::Automation::ShuttersControl::shutters
|
!$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getIfInShading
|
->getIfInShading
|
||||||
&& ( $FHEM::Automation::ShuttersControl::shutters->getStatus
|
&& (
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters->getStatus
|
||||||
!= $FHEM::Automation::ShuttersControl::shutters
|
!= $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getOpenPos
|
->getOpenPos
|
||||||
|| $FHEM::Automation::ShuttersControl::shutters
|
|| $FHEM::Automation::ShuttersControl::shutters
|
||||||
@ -417,12 +433,14 @@ sub EventProcessingWindowRec {
|
|||||||
->getShuttersPlace eq 'terrace'
|
->getShuttersPlace eq 'terrace'
|
||||||
? $FHEM::Automation::ShuttersControl::shutters
|
? $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getDelayCmd
|
->getDelayCmd
|
||||||
: ( $FHEM::Automation::ShuttersControl::shutters
|
: (
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getVentilatePosAfterDayClosed eq 'open'
|
->getVentilatePosAfterDayClosed eq 'open'
|
||||||
? $FHEM::Automation::ShuttersControl::shutters
|
? $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getOpenPos
|
->getOpenPos
|
||||||
: $FHEM::Automation::ShuttersControl::shutters
|
: $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getLastManPos )
|
->getLastManPos
|
||||||
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -430,13 +448,15 @@ sub EventProcessingWindowRec {
|
|||||||
}
|
}
|
||||||
elsif (
|
elsif (
|
||||||
!$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
!$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters->getModeDown eq 'roommate'
|
&& $FHEM::Automation::ShuttersControl::shutters->getModeDown eq
|
||||||
&& ( $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus eq 'home'
|
'roommate'
|
||||||
|| $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus eq 'awoken' )
|
&& ( $FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getRoommatesStatus eq 'home'
|
||||||
|
|| $FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getRoommatesStatus eq 'awoken' )
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd(
|
||||||
->setDriveCmd(
|
|
||||||
(
|
(
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getVentilatePosAfterDayClosed eq 'open'
|
->getVentilatePosAfterDayClosed eq 'open'
|
||||||
@ -980,6 +1000,7 @@ sub EventProcessingResidents {
|
|||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSelfDefenseMode ne 'off'
|
->getSelfDefenseMode ne 'off'
|
||||||
|| $getModeDown eq 'absent'
|
|| $getModeDown eq 'absent'
|
||||||
|
|
||||||
# || $getModeDown eq 'always' ) Wird zu Testzwecken auskommentiert, siehe #90 Github
|
# || $getModeDown eq 'always' ) Wird zu Testzwecken auskommentiert, siehe #90 Github
|
||||||
|| ( $FHEM::Automation::ShuttersControl::shutters
|
|| ( $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getShadingMode eq 'absent'
|
->getShadingMode eq 'absent'
|
||||||
@ -997,7 +1018,8 @@ sub EventProcessingResidents {
|
|||||||
&& (
|
&& (
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSelfDefenseMode eq 'absent'
|
->getSelfDefenseMode eq 'absent'
|
||||||
|| ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
|| (
|
||||||
|
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSelfDefenseMode eq 'gone'
|
->getSelfDefenseMode eq 'gone'
|
||||||
&& ( $FHEM::Automation::ShuttersControl::shutters
|
&& ( $FHEM::Automation::ShuttersControl::shutters
|
||||||
@ -1005,7 +1027,8 @@ sub EventProcessingResidents {
|
|||||||
|| $FHEM::Automation::ShuttersControl::shutters
|
|| $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getShuttersPlace eq 'EG_window' )
|
->getShuttersPlace eq 'EG_window' )
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSelfDefenseMode ne 'off' )
|
->getSelfDefenseMode ne 'off'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -1056,11 +1079,14 @@ sub EventProcessingResidents {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getLastPos );
|
->getLastPos );
|
||||||
}
|
}
|
||||||
elsif ( $getModeDown eq 'absent' # || $getModeDown eq 'always' ) Wird zu Testzwecken auskommentiert, siehe #90 Github
|
elsif (
|
||||||
|
$getModeDown eq
|
||||||
|
'absent' # || $getModeDown eq 'always' ) Wird zu Testzwecken auskommentiert, siehe #90 Github
|
||||||
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
&& !$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||||
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
||||||
&& $FHEM::Automation::ShuttersControl::shutters
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getRoommatesStatus eq 'none' )
|
->getRoommatesStatus eq 'none'
|
||||||
|
)
|
||||||
{
|
{
|
||||||
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
||||||
'residents absent');
|
'residents absent');
|
||||||
@ -1120,7 +1146,8 @@ sub EventProcessingResidents {
|
|||||||
->getRoommatesStatus eq 'none'
|
->getRoommatesStatus eq 'none'
|
||||||
&& ( $getModeDown eq 'home'
|
&& ( $getModeDown eq 'home'
|
||||||
|| $getModeDown eq 'always' )
|
|| $getModeDown eq 'always' )
|
||||||
&& $FHEM::Automation::ShuttersControl::ascDev->getAutoShuttersControlEvening eq 'on'
|
&& $FHEM::Automation::ShuttersControl::ascDev
|
||||||
|
->getAutoShuttersControlEvening eq 'on'
|
||||||
&& $getResidentsLastStatus ne 'asleep'
|
&& $getResidentsLastStatus ne 'asleep'
|
||||||
&& $getResidentsLastStatus ne 'awoken'
|
&& $getResidentsLastStatus ne 'awoken'
|
||||||
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
||||||
@ -1268,7 +1295,8 @@ sub EventProcessingResidents {
|
|||||||
->getRoommatesStatus eq 'none'
|
->getRoommatesStatus eq 'none'
|
||||||
&& ( $getModeUp eq 'home'
|
&& ( $getModeUp eq 'home'
|
||||||
|| $getModeUp eq 'always' )
|
|| $getModeUp eq 'always' )
|
||||||
&& $FHEM::Automation::ShuttersControl::ascDev->getAutoShuttersControlMorning eq 'on'
|
&& $FHEM::Automation::ShuttersControl::ascDev
|
||||||
|
->getAutoShuttersControlMorning eq 'on'
|
||||||
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
||||||
&& !$FHEM::Automation::ShuttersControl::shutters->getIfInShading
|
&& !$FHEM::Automation::ShuttersControl::shutters->getIfInShading
|
||||||
&& !$FHEM::Automation::ShuttersControl::shutters
|
&& !$FHEM::Automation::ShuttersControl::shutters
|
||||||
@ -1387,8 +1415,9 @@ sub EventProcessingWind {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||||
? $FHEM::Automation::ShuttersControl::shutters
|
? $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getLastPos
|
->getLastPos
|
||||||
: ( $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
|
: (
|
||||||
eq 'awning'
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getShuttersPlace eq 'awning'
|
||||||
? $FHEM::Automation::ShuttersControl::shutters
|
? $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getOpenPos
|
->getOpenPos
|
||||||
: (
|
: (
|
||||||
@ -1799,7 +1828,8 @@ sub EventProcessingBrightness {
|
|||||||
. $FHEM::Automation::ShuttersControl::shutters
|
. $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getLastDrive );
|
->getLastDrive );
|
||||||
|
|
||||||
FHEM::Automation::ShuttersControl::CreateSunRiseSetShuttersTimer( $hash, $shuttersDev );
|
FHEM::Automation::ShuttersControl::CreateSunRiseSetShuttersTimer(
|
||||||
|
$hash, $shuttersDev );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
@ -1976,10 +2006,8 @@ sub EventProcessingBrightness {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
||||||
$lastDrive);
|
$lastDrive);
|
||||||
|
|
||||||
if (
|
if ( $FHEM::Automation::ShuttersControl::shutters
|
||||||
$FHEM::Automation::ShuttersControl::shutters
|
->getPrivacyDownStatus != 2 )
|
||||||
->getPrivacyDownStatus != 2
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
$FHEM::Automation::ShuttersControl::shutters->setSunrise(0);
|
$FHEM::Automation::ShuttersControl::shutters->setSunrise(0);
|
||||||
$FHEM::Automation::ShuttersControl::shutters->setSunset(1);
|
$FHEM::Automation::ShuttersControl::shutters->setSunset(1);
|
||||||
@ -2248,12 +2276,14 @@ sub EventProcessingPartyMode {
|
|||||||
$shuttersDev,
|
$shuttersDev,
|
||||||
(
|
(
|
||||||
CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
CheckIfShuttersWindowRecOpen($shuttersDev) == 0
|
||||||
? ($FHEM::Automation::ShuttersControl::shutters
|
? (
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSleepPos > 0
|
->getSleepPos > 0
|
||||||
? $FHEM::Automation::ShuttersControl::shutters
|
? $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getSleepPos
|
->getSleepPos
|
||||||
: $FHEM::Automation::ShuttersControl::shutters
|
: $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getClosedPos)
|
->getClosedPos
|
||||||
|
)
|
||||||
: $FHEM::Automation::ShuttersControl::shutters
|
: $FHEM::Automation::ShuttersControl::shutters
|
||||||
->getVentilatePos
|
->getVentilatePos
|
||||||
)
|
)
|
||||||
@ -2373,6 +2403,22 @@ sub EventProcessingShutters {
|
|||||||
$FHEM::Automation::ShuttersControl::shutters->setLastDriveReading;
|
$FHEM::Automation::ShuttersControl::shutters->setLastDriveReading;
|
||||||
$FHEM::Automation::ShuttersControl::ascDev->setStateReading;
|
$FHEM::Automation::ShuttersControl::ascDev->setStateReading;
|
||||||
|
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters->setHardLockOut('on')
|
||||||
|
if (
|
||||||
|
(
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters->getStatus ==
|
||||||
|
$FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getComfortOpenPos
|
||||||
|
|| ( $FHEM::Automation::ShuttersControl::shutters->getStatus
|
||||||
|
== $FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getOpenPos
|
||||||
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getLastDrive eq 'ventilate - window open' )
|
||||||
|
)
|
||||||
|
&& $FHEM::Automation::ShuttersControl::shutters
|
||||||
|
->getShuttersPlace eq 'terrace'
|
||||||
|
);
|
||||||
|
|
||||||
FHEM::Automation::ShuttersControl::ASC_Debug(
|
FHEM::Automation::ShuttersControl::ASC_Debug(
|
||||||
'EventProcessingShutters: eine automatisierte Fahrt durch ASC wurde erkannt! Es werden nun die LastDriveReading und StateReading Werte gesetzt!'
|
'EventProcessingShutters: eine automatisierte Fahrt durch ASC wurde erkannt! Es werden nun die LastDriveReading und StateReading Werte gesetzt!'
|
||||||
);
|
);
|
||||||
@ -2485,7 +2531,4 @@ sub EventProcessingExternalTriggerDevice {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user