Merge pull request 'main' (#113) from main into testing
Reviewed-on: #113
This commit is contained in:
commit
5095c65d80
@ -707,7 +707,7 @@ __END__
|
||||
are used for shading. Defaults to 120.
|
||||
</li>
|
||||
<a id="AutoShuttersControl-attr-ASC_Shading_BetweenTheTime"></a>
|
||||
<li><strong>ASC_Shading_BetweenTheTime</strong> - Limit the time slots for shading functionality. Example: 9:00-13:00 11:25-15:30</li>
|
||||
<li><strong>ASC_Shading_BetweenTheTime</strong> - Limit the time slots for shading functionality. Example: 09:00-13:00 11:25-15:30</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
</ul>
|
||||
@ -1137,7 +1137,7 @@ __END__
|
||||
<a id="AutoShuttersControl-attr-ASC_Shading_WaitingPeriod"></a>
|
||||
<li><strong>ASC_Shading_WaitingPeriod</strong> - wie viele Sekunden soll gewartet werden bevor eine weitere Auswertung der Sensordaten für die Beschattung stattfinden soll (default: 1200)</li>
|
||||
<a id="AutoShuttersControl-attr-ASC_Shading_BetweenTheTime"></a>
|
||||
<li><strong>ASC_Shading_BetweenTheTime</strong> - das Fahren in die Beschattung erfolgt bei Angabe nur innerhalb des Zeitraumes, Bsp: 9:00-13:00 11:25-15:30</li>
|
||||
<li><strong>ASC_Shading_BetweenTheTime</strong> - das Fahren in die Beschattung erfolgt bei Angabe nur innerhalb des Zeitraumes, Bsp: 09:00-13:00 11:25-15:30</li>
|
||||
</ul></p>
|
||||
<a id="AutoShuttersControl-attr-ASC_ShuttersPlace"></a>
|
||||
<li><strong>ASC_ShuttersPlace - window/terrace/awning</strong> - Wenn dieses Attribut auf terrace gesetzt ist, das Residence Device in den Status "gone" geht und SelfDefense aktiv ist (ohne das das Reading selfDefense gesetzt sein muss), wird das Rollo geschlossen. awning steht für Markise und wirkt sich auf die Beschattungssteuerung aus. (default: window)</li>
|
||||
@ -1158,7 +1158,7 @@ __END__
|
||||
<a id="AutoShuttersControl-attr-ASC_WiggleValue"></a>
|
||||
<li><strong>ASC_WiggleValue</strong> - Wert um welchen sich die Position des Rollladens ändern soll (default: 5)</li>
|
||||
<a id="AutoShuttersControl-attr-ASC_WindParameters"></a>
|
||||
<li><strong>ASC_WindParameters - TRIGGERMAX[:HYSTERESE] [DRIVEPOSITION]</strong> / Angabe von Max Wert ab dem für Wind getriggert werden soll, Hytsrese Wert ab dem der Windschutz aufgehoben werden soll TRIGGERMAX - HYSTERESE / Ist es bei einigen Rollläden nicht gewünscht das gefahren werden soll, so ist der TRIGGERMAX Wert mit -1 an zu geben. (default: '50:20 ClosedPosition')</li>
|
||||
<li><strong>ASC_WindParameters - TRIGGERMAX[:HYSTERESE] [DRIVEPOSITION]</strong> / ACHTUNG! Wird nur beachtet wenn ASC_WindProtection auf on gesetzt ist. - Angabe von Max Wert ab dem für Wind getriggert werden soll, Hytsrese Wert ab dem der Windschutz aufgehoben werden soll TRIGGERMAX - HYSTERESE / Ist es bei einigen Rollläden nicht gewünscht das gefahren werden soll, so ist der TRIGGERMAX Wert mit -1 an zu geben. (default: '50:20 ASC_Closed_Pos')</li>
|
||||
<a id="AutoShuttersControl-attr-ASC_WindowRec_PosAfterDayClosed"></a>
|
||||
<li><strong>ASC_WindowRec_PosAfterDayClosed</strong> - open,lastManual / auf welche Position soll das Rollo nach dem schließen am Tag fahren. Open Position oder letzte gespeicherte manuelle Position (default: open)</li>
|
||||
<a id="AutoShuttersControl-attr-ASC_WindowRec"></a>
|
||||
@ -1323,7 +1323,7 @@ __END__
|
||||
<tr><td>Sunrise</td><td>1=Morgenfahrt wurde durchgeführt, 0=noch keine Morgenfahrt durchgeführt</td></tr>
|
||||
<tr><td>RoommatesStatus</td><td>aktueller Status der/des Roommate/s für den Rollladen</td></tr>
|
||||
<tr><td>RoommatesLastStatus</td><td>letzter Status der/des Roommate/s für den Rollladen</td></tr>
|
||||
<tr><td>ShadingStatus</td><td>Ausgabe des aktuellen Shading Status, „in“, „out“, „in reserved“, „out reserved“</td></tr>
|
||||
<tr><td>ShadingStatus</td><td>Ausgabe des aktuellen Shading Status, „in“, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>out“, „in reserved“, „out reserved“</td></tr>
|
||||
<tr><td>ShadingStatusTimestamp</td><td>Timestamp des letzten Beschattungsstatus</td></tr>
|
||||
<tr><td>IfInShading</td><td>Befindet sich der Rollladen, in Abhängigkeit des Shading Mode, in der Beschattung</td></tr>
|
||||
<tr><td>DelayCmd</td><td>letzter Fahrbefehl welcher in die Warteschlange kam. Grund z.B. Partymodus.</td></tr>
|
||||
@ -1462,7 +1462,7 @@ __END__
|
||||
],
|
||||
"release_status": "stable",
|
||||
"license": "GPL_2",
|
||||
"version": "v0.10.21",
|
||||
"version": "v0.10.24",
|
||||
"author": [
|
||||
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
|
||||
],
|
||||
|
@ -1,16 +1,16 @@
|
||||
UPD 2022-01-15_15:38:33 116177 FHEM/73_AutoShuttersControl.pm
|
||||
UPD 2022-01-15_15:38:39 75817 lib/FHEM/Automation/ShuttersControl.pm
|
||||
UPD 2022-08-29_10:05:19 116264 FHEM/73_AutoShuttersControl.pm
|
||||
UPD 2022-08-29_07:40:46 76466 lib/FHEM/Automation/ShuttersControl.pm
|
||||
UPD 2022-01-14_08:49:13 2691 lib/FHEM/Automation/ShuttersControl/Dev.pm
|
||||
UPD 2022-01-14_08:49:13 2677 lib/FHEM/Automation/ShuttersControl/Roommate.pm
|
||||
UPD 2022-01-14_08:49:13 32016 lib/FHEM/Automation/ShuttersControl/Shutters.pm
|
||||
UPD 2022-01-14_08:49:13 25452 lib/FHEM/Automation/ShuttersControl/Shading.pm
|
||||
UPD 2022-01-14_08:49:13 112122 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
|
||||
UPD 2022-01-14_08:49:13 40603 lib/FHEM/Automation/ShuttersControl/Helper.pm
|
||||
UPD 2022-03-05_09:12:41 32016 lib/FHEM/Automation/ShuttersControl/Shutters.pm
|
||||
UPD 2022-08-29_10:04:56 25543 lib/FHEM/Automation/ShuttersControl/Shading.pm
|
||||
UPD 2022-08-29_09:27:49 112285 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
|
||||
UPD 2022-08-29_08:42:40 40705 lib/FHEM/Automation/ShuttersControl/Helper.pm
|
||||
UPD 2022-01-14_08:49:13 2209 lib/FHEM/Automation/ShuttersControl/Window.pm
|
||||
UPD 2022-01-14_08:49:13 11857 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
|
||||
UPD 2022-01-14_08:49:13 7265 lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm
|
||||
UPD 2022-01-14_08:49:13 52751 lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
|
||||
UPD 2022-03-05_09:12:39 52751 lib/FHEM/Automation/ShuttersControl/Shutters/Attr.pm
|
||||
UPD 2022-01-14_08:49:13 2799 lib/FHEM/Automation/ShuttersControl/Shutters/Readings.pm
|
||||
UPD 2022-01-14_08:49:13 3887 lib/FHEM/Automation/ShuttersControl/Window/Attr.pm
|
||||
UPD 2022-01-14_08:49:13 2200 lib/FHEM/Automation/ShuttersControl/Window/Readings.pm
|
||||
UPD 2022-01-14_08:49:13 7113 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
|
||||
UPD 2022-08-29_07:40:46 7396 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm
|
||||
|
@ -485,16 +485,23 @@ sub Notify {
|
||||
}
|
||||
elsif ( $devname eq "global" )
|
||||
{ # Kommt ein globales Event und beinhaltet folgende Syntax wird die Funktion zur Verarbeitung aufgerufen
|
||||
::Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - ShuttersControl: Devicename eq global"
|
||||
);
|
||||
|
||||
if (
|
||||
grep {
|
||||
/^(ATTR|DELETEATTR)\s(.*ASC_Time_Up_WE_Holiday|.*ASC_Up|.*ASC_Down|.*ASC_AutoAstroModeMorning|.*ASC_AutoAstroModeMorningHorizon|.*ASC_AutoAstroModeEvening|.*ASC_AutoAstroModeEveningHorizon|.*ASC_Time_Up_Early|.*ASC_Time_Up_Late|.*ASC_Time_Down_Early|.*ASC_Time_Down_Late|.*ASC_autoAstroModeMorning|.*ASC_autoAstroModeMorningHorizon|.*ASC_PrivacyDownValue_beforeNightClose|.*ASC_PrivacyUpValue_beforeDayOpen|.*ASC_autoAstroModeEvening|.*ASC_autoAstroModeEveningHorizon|.*ASC_Roommate_Device|.*ASC_WindowRec|.*ASC_residentsDev|.*ASC_rainSensor|.*ASC_windSensor|.*ASC_tempSensor|.*ASC_BrightnessSensor|.*ASC_twilightDevice|.*ASC_ExternalTrigger|.*ASC_Shading_StateChange_SunnyCloudy|.*ASC_TempSensor|.*ASC_Shading_Mode)(\s.*|$) /
|
||||
/^(ATTR|DELETEATTR)\s(.*ASC_Time_Up_WE_Holiday|.*ASC_Up|.*ASC_Down|.*ASC_AutoAstroModeMorning|.*ASC_AutoAstroModeMorningHorizon|.*ASC_AutoAstroModeEvening|.*ASC_AutoAstroModeEveningHorizon|.*ASC_Time_Up_Early|.*ASC_Time_Up_Late|.*ASC_Time_Down_Early|.*ASC_Time_Down_Late|.*ASC_autoAstroModeMorning|.*ASC_autoAstroModeMorningHorizon|.*ASC_PrivacyDownValue_beforeNightClose|.*ASC_PrivacyUpValue_beforeDayOpen|.*ASC_autoAstroModeEvening|.*ASC_autoAstroModeEveningHorizon|.*ASC_Roommate_Device|.*ASC_WindowRec|.*ASC_residentsDev|.*ASC_rainSensor|.*ASC_windSensor|.*ASC_tempSensor|.*ASC_BrightnessSensor|.*ASC_twilightDevice|.*ASC_ExternalTrigger|.*ASC_Shading_StateChange_SunnyCloudy|.*ASC_TempSensor|.*ASC_Shading_Mode)(\s.*|$) /x
|
||||
} @{$events}
|
||||
)
|
||||
{
|
||||
::Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - ShuttersControl: Event Attr or Deleteattr Time and Astro"
|
||||
);
|
||||
EventProcessingGeneral( $hash, undef, join( ' ', @{$events} ) );
|
||||
}
|
||||
}
|
||||
elsif ( grep { /^($posReading):\s\d{1,3}(\.\d{1,3})?$/ } @{$events} ) {
|
||||
elsif ( grep { /^($posReading):\s\d{1,3}(\.\d{1,3})?$/x } @{$events} ) {
|
||||
ASC_Debug( 'Notify: '
|
||||
. ' ASC_Pos_Reading Event vom Rollo '
|
||||
. $devname
|
||||
@ -1582,8 +1589,8 @@ sub ShuttersInformation {
|
||||
|| !defined( $shutters->getSunsetUnixTime ) );
|
||||
|
||||
my $ret =
|
||||
'<html><table><tr><h3>ASC Configuration and Information Summary</h3><td>';
|
||||
$ret .= '<table class="block wide">';
|
||||
'<html><table border rules=all border frame=box><tr><h3>ASC Configuration and Information Summary</h3><td>';
|
||||
$ret .= '<table class="block wide" rules=all>';
|
||||
$ret .= '<tr class="even">';
|
||||
$ret .= "<td><b>Shutters</b></td>";
|
||||
$ret .= "<td> </td>";
|
||||
@ -1618,43 +1625,44 @@ sub ShuttersInformation {
|
||||
|
||||
if ( $linecount % 2 == 0 ) { $ret .= '<tr class="even">'; }
|
||||
else { $ret .= '<tr class="odd">'; }
|
||||
$ret .= "<td>$shuttersDev</td>";
|
||||
$ret .= "<td> $shuttersDev </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>"
|
||||
$ret .= "<td> "
|
||||
. strftime( "%d.%m.%Y - %H:%M:%S",
|
||||
localtime( $shutters->getSunriseUnixTime ) )
|
||||
. "</td>";
|
||||
. " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>"
|
||||
$ret .= "<td> "
|
||||
. strftime( "%d.%m.%Y - %H:%M:%S",
|
||||
localtime( $shutters->getSunsetUnixTime ) )
|
||||
. "</td>";
|
||||
. " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getUp . "</td>";
|
||||
$ret .= "<td> " . $shutters->getUp . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getDown . "</td>";
|
||||
$ret .= "<td> " . $shutters->getDown . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getModeUp . "</td>";
|
||||
$ret .= "<td> " . $shutters->getModeUp . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getModeDown . "</td>";
|
||||
$ret .= "<td> " . $shutters->getModeDown . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getPartyMode . "</td>";
|
||||
$ret .= "<td> " . $shutters->getPartyMode . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getLockOut . "</td>";
|
||||
$ret .= "<td> " . $shutters->getLockOut . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>"
|
||||
. ::ReadingsVal( $shuttersDev, 'ASC_ShuttersLastDrive', 'none' )
|
||||
. "</td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getStatus . "</td>";
|
||||
$ret .= "<td> " . $shutters->getStatus . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>" . $shutters->getLastPos . "</td>";
|
||||
$ret .= "<td> " . $shutters->getLastPos . " </td>";
|
||||
$ret .= "<td> </td>";
|
||||
$ret .= "<td>"
|
||||
$ret .=
|
||||
"<td> "
|
||||
. $shutters->getShadingStatus . ' - '
|
||||
. strftime( "%H:%M:%S",
|
||||
localtime( $shutters->getShadingStatusTimestamp ) )
|
||||
. "</td>";
|
||||
. " </td>";
|
||||
$ret .= '</tr>';
|
||||
$linecount++;
|
||||
}
|
||||
@ -1756,7 +1764,11 @@ sub SetCmdFn {
|
||||
return
|
||||
if ( $shutters->getASCenable eq 'off'
|
||||
|| $ascDev->getASCenable eq 'off'
|
||||
|| $idleDetection !~ m{^$idleDetectionValue$}xms );
|
||||
|| $idleDetection !~ m{^$idleDetectionValue$}xms
|
||||
|| $FHEM::Automation::ShuttersControl::shutters
|
||||
->getWindProtectionStatus eq 'protected'
|
||||
|| $FHEM::Automation::ShuttersControl::shutters
|
||||
->getRaindProtectionStatus eq 'protected' );
|
||||
|
||||
if ( $shutters->getStatus != $posValue ) {
|
||||
$shutters->setLastPos( $shutters->getStatus );
|
||||
|
@ -133,6 +133,10 @@ sub EventProcessingGeneral {
|
||||
}
|
||||
}
|
||||
else { # alles was kein Devicenamen mit übergeben hat landet hier
|
||||
::Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - EventProcessing: All without device name in the Event"
|
||||
);
|
||||
|
||||
if (
|
||||
$events =~ m{^ATTR\s(.*)
|
||||
\s(ASC_Roommate_Device|ASC_WindowRec|ASC_residentsDev|ASC_rainSensor
|
||||
@ -170,6 +174,10 @@ sub EventProcessingGeneral {
|
||||
(.*)?}xms
|
||||
)
|
||||
{
|
||||
::Log3( $name, 4,
|
||||
"AutoShuttersControl ($name) - EventProcessing: Morning and Evening Time Shedules"
|
||||
);
|
||||
|
||||
FHEM::Automation::ShuttersControl::CreateSunRiseSetShuttersTimer(
|
||||
$hash, $2 )
|
||||
if (
|
||||
@ -585,7 +593,7 @@ sub EventProcessingWindowRec {
|
||||
$setLastDrive = 'ventilate - window open';
|
||||
}
|
||||
|
||||
if ( defined($posValue) && $posValue ) {
|
||||
if ( defined($posValue) ) {
|
||||
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
||||
$setLastDrive);
|
||||
$FHEM::Automation::ShuttersControl::shutters->setNoDelay(1);
|
||||
@ -1355,6 +1363,7 @@ sub EventProcessingWind {
|
||||
|
||||
my $name = $hash->{NAME};
|
||||
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
|
||||
my $targetPos = $FHEM::Automation::ShuttersControl::shutters->getLastPos;
|
||||
|
||||
my $reading =
|
||||
$FHEM::Automation::ShuttersControl::ascDev->getWindSensorReading
|
||||
@ -1406,35 +1415,38 @@ sub EventProcessingWind {
|
||||
{
|
||||
$FHEM::Automation::ShuttersControl::shutters->setLastDrive(
|
||||
'wind un-protected');
|
||||
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd(
|
||||
(
|
||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
|
||||
if ( $FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
&& !$FHEM::Automation::ShuttersControl::shutters
|
||||
->getIfInShading
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getLastPos
|
||||
== $FHEM::Automation::ShuttersControl::shutters
|
||||
->getShadingPos )
|
||||
{
|
||||
$targetPos =
|
||||
$FHEM::Automation::ShuttersControl::shutters->getOpenPos;
|
||||
}
|
||||
else {
|
||||
$targetPos =
|
||||
$FHEM::Automation::ShuttersControl::shutters->getLastPos;
|
||||
}
|
||||
|
||||
if ( !$FHEM::Automation::ShuttersControl::shutters->getIsDay ) {
|
||||
$targetPos = (
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->getPrivacyDownStatus == 2
|
||||
? $FHEM::Automation::ShuttersControl::shutters
|
||||
->getLastPos
|
||||
: (
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->getShuttersPlace eq 'awning'
|
||||
? $FHEM::Automation::ShuttersControl::shutters
|
||||
->getOpenPos
|
||||
: (
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->getPrivacyDownStatus == 2
|
||||
? $FHEM::Automation::ShuttersControl::shutters
|
||||
->getPrivacyDownPos
|
||||
: (
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->getSleepPos > 0
|
||||
? $FHEM::Automation::ShuttersControl::shutters
|
||||
->getSleepPos
|
||||
: $FHEM::Automation::ShuttersControl::shutters
|
||||
->getClosedPos
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
->getPrivacyDownPos
|
||||
: $FHEM::Automation::ShuttersControl::shutters
|
||||
->getClosedPos
|
||||
);
|
||||
}
|
||||
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->setWindProtectionStatus('unprotected');
|
||||
|
||||
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd(
|
||||
$targetPos);
|
||||
}
|
||||
|
||||
FHEM::Automation::ShuttersControl::ASC_Debug(
|
||||
|
@ -399,6 +399,8 @@ sub _IsDay {
|
||||
or $FHEM::Automation::ShuttersControl::shutters->getRoommates
|
||||
ne 'gotosleep' )
|
||||
)
|
||||
or ( $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace eq
|
||||
'awning' )
|
||||
);
|
||||
|
||||
return $respIsDay;
|
||||
|
@ -153,7 +153,8 @@ sub _RainProtected {
|
||||
}
|
||||
|
||||
sub _RainUnprotected {
|
||||
my $h = shift;
|
||||
my $h = shift;
|
||||
my $targetPos = $FHEM::Automation::ShuttersControl::shutters->getLastPos;
|
||||
|
||||
my $shuttersDev = $h->{shuttersdevice};
|
||||
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
|
||||
@ -170,29 +171,35 @@ sub _RainUnprotected {
|
||||
->setRainUnprotectionDelayObj('none');
|
||||
}
|
||||
|
||||
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd(
|
||||
(
|
||||
$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
? $FHEM::Automation::ShuttersControl::shutters->getLastPos
|
||||
: (
|
||||
$FHEM::Automation::ShuttersControl::shutters->getShuttersPlace
|
||||
eq 'awning'
|
||||
? $FHEM::Automation::ShuttersControl::shutters->getOpenPos
|
||||
: (
|
||||
$FHEM::Automation::ShuttersControl::shutters
|
||||
->getPrivacyDownStatus == 2
|
||||
? $FHEM::Automation::ShuttersControl::shutters
|
||||
->getPrivacyDownPos
|
||||
: $FHEM::Automation::ShuttersControl::shutters
|
||||
->getClosedPos
|
||||
)
|
||||
)
|
||||
)
|
||||
) if ( IsAfterShuttersTimeBlocking($shuttersDev) );
|
||||
if ( $FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
&& !$FHEM::Automation::ShuttersControl::shutters->getIfInShading
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getLastPos ==
|
||||
$FHEM::Automation::ShuttersControl::shutters->getShadingPos )
|
||||
{
|
||||
$targetPos = $FHEM::Automation::ShuttersControl::shutters->getOpenPos;
|
||||
}
|
||||
else {
|
||||
$targetPos = $FHEM::Automation::ShuttersControl::shutters->getLastPos;
|
||||
}
|
||||
|
||||
if ( !$FHEM::Automation::ShuttersControl::shutters->getIsDay
|
||||
&& $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace ne
|
||||
'awning' )
|
||||
{
|
||||
$targetPos = (
|
||||
$FHEM::Automation::ShuttersControl::shutters->getPrivacyDownStatus
|
||||
== 2
|
||||
? $FHEM::Automation::ShuttersControl::shutters->getPrivacyDownPos
|
||||
: $FHEM::Automation::ShuttersControl::shutters->getClosedPos
|
||||
);
|
||||
}
|
||||
|
||||
$FHEM::Automation::ShuttersControl::shutters->setRainProtectionStatus(
|
||||
'unprotected');
|
||||
|
||||
$FHEM::Automation::ShuttersControl::shutters->setDriveCmd($targetPos)
|
||||
if ( IsAfterShuttersTimeBlocking($shuttersDev) );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -287,6 +287,8 @@ sub ShadingProcessing {
|
||||
|| $FHEM::Automation::ShuttersControl::shutters->getShadingMode eq 'off'
|
||||
|| $FHEM::Automation::ShuttersControl::ascDev
|
||||
->getAutoShuttersControlShading eq 'off'
|
||||
|| $FHEM::Automation::ShuttersControl::shutters
|
||||
->getExternalTriggerStatus
|
||||
);
|
||||
|
||||
::Log3( $name, 4,
|
||||
|
Loading…
Reference in New Issue
Block a user