patch-CommandRef #115
| @@ -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>" | ||||
|   ], | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 ); | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user