change condition for GetUp roommate. no shutters drive if you have been on absent or gone
This commit is contained in:
parent
0255be94b5
commit
301fd32048
@ -1,10 +1,10 @@
|
||||
UPD 2021-11-29_15:18:18 115678 FHEM/73_AutoShuttersControl.pm
|
||||
UPD 2021-12-04_08:08:23 115678 FHEM/73_AutoShuttersControl.pm
|
||||
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 2494 lib/FHEM/Automation/ShuttersControl/Roommate.pm
|
||||
UPD 2021-10-24_07:33:53 31900 lib/FHEM/Automation/ShuttersControl/Shutters.pm
|
||||
UPD 2021-10-09_07:12:54 25333 lib/FHEM/Automation/ShuttersControl/Shading.pm
|
||||
UPD 2021-11-25_11:58:42 110681 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
|
||||
UPD 2021-12-04_08:36:32 110189 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.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 11739 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
|
||||
|
@ -588,15 +588,18 @@ sub EventProcessingRoommate {
|
||||
"AutoShuttersControl ($name) - EventProcessingRoommate: $shuttersDev und Events $events"
|
||||
);
|
||||
|
||||
my $getModeUp = $FHEM::Automation::ShuttersControl::shutters->getModeUp;
|
||||
my $getModeDown =
|
||||
$FHEM::Automation::ShuttersControl::shutters->getModeDown;
|
||||
my $getRoommatesStatus =
|
||||
$FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus;
|
||||
my $getRoommatesLastStatus =
|
||||
$FHEM::Automation::ShuttersControl::shutters->getRoommatesLastStatus;
|
||||
|
||||
my $event = $1;
|
||||
my $posValue = $FHEM::Automation::ShuttersControl::shutters->getStatus;
|
||||
my $getModeUp = $FHEM::Automation::ShuttersControl::shutters->getModeUp;
|
||||
my $getModeDown = $FHEM::Automation::ShuttersControl::shutters->getModeDown;
|
||||
my $getRoommatesStatus = $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus;
|
||||
my $getRoommatesLastStatus = $FHEM::Automation::ShuttersControl::shutters->getRoommatesLastStatus;
|
||||
my $getUp = $FHEM::Automation::ShuttersControl::shutters->getUp;
|
||||
my $getDown = $FHEM::Automation::ShuttersControl::shutters->getDown;
|
||||
my $getIsDay = $FHEM::Automation::ShuttersControl::shutters->getIsDay;
|
||||
|
||||
my $posValue = $FHEM::Automation::ShuttersControl::shutters->getStatus; # !!! ACHTUNG!!!
|
||||
|
||||
|
||||
if (
|
||||
( $event eq 'home' || $event eq 'awoken' )
|
||||
@ -604,8 +607,10 @@ sub EventProcessingRoommate {
|
||||
|| $getRoommatesStatus eq 'awoken' )
|
||||
&& ( $FHEM::Automation::ShuttersControl::ascDev
|
||||
->getAutoShuttersControlMorning eq 'on'
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq
|
||||
'roommate' )
|
||||
|| ( $getUp eq 'roommate'
|
||||
&& $getRoommatesLastStatus ne 'absent'
|
||||
&& $getRoommatesLastStatus ne 'gone' )
|
||||
)
|
||||
&& IsAfterShuttersManualBlocking($shuttersDev)
|
||||
)
|
||||
{
|
||||
@ -629,12 +634,10 @@ sub EventProcessingRoommate {
|
||||
->getModeUp eq $event )
|
||||
)
|
||||
)
|
||||
&& ( $FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq
|
||||
'roommate' )
|
||||
&& ( $getIsDay
|
||||
|| $getUp eq 'roommate' )
|
||||
&& ( IsAfterShuttersTimeBlocking($shuttersDev)
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq
|
||||
'roommate' )
|
||||
|| $getUp eq 'roommate' )
|
||||
)
|
||||
{
|
||||
Log3( $name, 4,
|
||||
@ -675,7 +678,7 @@ sub EventProcessingRoommate {
|
||||
)
|
||||
{
|
||||
if (
|
||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
$getIsDay
|
||||
&& $FHEM::Automation::ShuttersControl::shutters
|
||||
->getIfInShading
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getStatus
|
||||
@ -695,11 +698,11 @@ sub EventProcessingRoommate {
|
||||
ShadingProcessingDriveCommand( $hash, $shuttersDev, 1 );
|
||||
}
|
||||
elsif (
|
||||
!$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
!$getIsDay
|
||||
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
||||
&& ( $getModeDown eq 'home'
|
||||
|| $getModeDown eq 'always' )
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getDown ne
|
||||
&& $getDown ne
|
||||
'roommate'
|
||||
)
|
||||
{
|
||||
@ -739,9 +742,8 @@ sub EventProcessingRoommate {
|
||||
}
|
||||
elsif (
|
||||
(
|
||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp
|
||||
eq 'roommate'
|
||||
$getIsDay
|
||||
|| $getUp eq 'roommate'
|
||||
)
|
||||
&& IsAfterShuttersTimeBlocking($shuttersDev)
|
||||
&& ( $getModeUp eq 'home'
|
||||
@ -824,10 +826,10 @@ sub EventProcessingRoommate {
|
||||
'absent'
|
||||
&& ( $FHEM::Automation::ShuttersControl::ascDev
|
||||
->getAutoShuttersControlEvening eq 'on'
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getDown eq
|
||||
|| $getDown eq
|
||||
'roommate' )
|
||||
&& ( IsAfterShuttersManualBlocking($shuttersDev)
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getDown eq
|
||||
|| $getDown eq
|
||||
'roommate' )
|
||||
)
|
||||
{
|
||||
@ -858,8 +860,8 @@ sub EventProcessingRoommate {
|
||||
}
|
||||
elsif (
|
||||
$event eq 'absent'
|
||||
&& ( !$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getDown eq
|
||||
&& ( !$getIsDay
|
||||
|| $getDown eq
|
||||
'roommate'
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getShadingMode
|
||||
eq 'absent'
|
||||
@ -874,11 +876,7 @@ sub EventProcessingRoommate {
|
||||
);
|
||||
|
||||
if (
|
||||
(
|
||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getUp eq
|
||||
'roommate'
|
||||
)
|
||||
$getIsDay
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getIfInShading
|
||||
&& !$FHEM::Automation::ShuttersControl::shutters
|
||||
->getQueryShuttersPos(
|
||||
@ -902,8 +900,8 @@ sub EventProcessingRoommate {
|
||||
}
|
||||
elsif (
|
||||
(
|
||||
!$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getDown eq
|
||||
!$getIsDay
|
||||
|| $getDown eq
|
||||
'roommate'
|
||||
)
|
||||
&& $getModeDown eq 'absent'
|
||||
@ -922,7 +920,7 @@ sub EventProcessingRoommate {
|
||||
$FHEM::Automation::ShuttersControl::shutters->getClosedPos
|
||||
);
|
||||
}
|
||||
elsif ($FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
elsif ($getIsDay
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getModeUp eq
|
||||
'absent'
|
||||
&& $getRoommatesStatus eq 'absent' )
|
||||
|
Loading…
Reference in New Issue
Block a user