dev #107

Merged
marko merged 3 commits from dev into main 2022-08-29 07:45:43 +02:00
5 changed files with 71 additions and 53 deletions

View File

@ -1462,7 +1462,7 @@ __END__
],
"release_status": "stable",
"license": "GPL_2",
"version": "v0.10.23",
"version": "v0.10.24",
"author": [
"Marko Oldenburg <fhemdevelopment@cooltux.net>"
],

View File

@ -1,11 +1,11 @@
UPD 2022-03-24_09:53:42 116177 FHEM/73_AutoShuttersControl.pm
UPD 2022-04-06_09:20:00 76255 lib/FHEM/Automation/ShuttersControl.pm
UPD 2022-06-20_15:54:48 116177 FHEM/73_AutoShuttersControl.pm
UPD 2022-06-20_12:59:11 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-03-05_09:12:41 32016 lib/FHEM/Automation/ShuttersControl/Shutters.pm
UPD 2022-01-14_08:49:13 25452 lib/FHEM/Automation/ShuttersControl/Shading.pm
UPD 2022-04-06_09:20:46 112362 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
UPD 2022-03-24_09:53:22 40705 lib/FHEM/Automation/ShuttersControl/Helper.pm
UPD 2022-06-20_15:50:59 112421 lib/FHEM/Automation/ShuttersControl/EventProcessingFunctions.pm
UPD 2022-04-07_21:31:16 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
@ -13,4 +13,4 @@ UPD 2022-03-05_09:12:39 52751 lib/FHEM/Automation/ShuttersControl/Shutters/Attr.
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-06-20_15:49:47 7396 lib/FHEM/Automation/ShuttersControl/Rainprotection.pm

View File

@ -1764,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 );

View File

@ -1363,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
@ -1414,35 +1415,41 @@ 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
&& $FHEM::Automation::ShuttersControl::shutters
->getShuttersPlace ne 'awning' )
{
$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(

View File

@ -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;
}