2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

73_AutoShuttersControl: fix Residents Home Bug

git-svn-id: https://svn.fhem.de/fhem/trunk@22009 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
LeonGaultier 2020-05-23 05:43:38 +00:00
parent b4ae69fe6d
commit f7ec134b4f
2 changed files with 36 additions and 15 deletions

View File

@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
- bugfix: 73_AutoShuttersControl: fix Residents Home Bug
- feature: 82_LGTV_WebOS: add Disney in App list
- feature: 98_RandomTimer: Add perlSyntaxCheck to condition attribute
- bugfix: dashboard.js: Dashboard no longer requires dummy readingsgroup

View File

@ -2151,7 +2151,7 @@ sub EventProcessingShadingBrightness {
my $name = $hash->{NAME};
$shutters->setShuttersDev($shuttersDev);
my $reading = $shutters->getBrightnessReading;
my $outTemp = $ascDev->getOutTemp;
my $outTemp = ( $shutters->getOutTemp != -100 ? $shutters->getOutTemp : $ascDev->getOutTemp );
Log3( $name, 4,
"AutoShuttersControl ($shuttersDev) - EventProcessingShadingBrightness"
@ -2185,8 +2185,6 @@ sub EventProcessingShadingBrightness {
&& $shutters->getRainProtectionStatus eq 'unprotected'
&& $shutters->getWindProtectionStatus eq 'unprotected' )
{
$outTemp = $shutters->getOutTemp
if ( $shutters->getOutTemp != -100 );
ShadingProcessing(
$hash,
$shuttersDev,
@ -2356,7 +2354,7 @@ sub ShadingProcessing {
if (
(
$outTemp < $shutters->getShadingMinOutsideTemperature - 3
$outTemp < $shutters->getShadingMinOutsideTemperature - 4
|| $azimuth < $azimuthLeft
|| $azimuth > $azimuthRight
|| !$shutters->getIsDay
@ -2381,7 +2379,7 @@ sub ShadingProcessing {
|| $elevation < $shutters->getShadingMinElevation
|| $elevation > $shutters->getShadingMaxElevation
|| $brightness < $shutters->getShadingStateChangeCloudy
|| $outTemp < $shutters->getShadingMinOutsideTemperature )
|| $outTemp < $shutters->getShadingMinOutsideTemperature - 1 )
{
$shutters->setShadingStatus('out reserved')
if ( $shutters->getShadingStatus eq 'in'
@ -2456,6 +2454,8 @@ sub ShadingProcessing {
if (
IsAfterShuttersTimeBlocking($shuttersDev)
&& !$shutters->getShadingManualDriveStatus
&& $shutters->getRoommatesStatus ne 'gotosleep'
&& $shutters->getRoommatesStatus ne 'asleep'
&& (
(
$shutters->getShadingStatus eq 'out'
@ -2464,9 +2464,23 @@ sub ShadingProcessing {
|| ( $shutters->getShadingStatus eq 'in'
&& $shutters->getShadingLastStatus eq 'out' )
)
&& $shutters->getRoommatesStatus ne 'asleep'
&& $shutters->getRoommatesStatus ne 'gotosleep'
&& ( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) < 2
&& ( $shutters->getShadingMode eq 'always'
|| $shutters->getShadingMode eq $homemode )
&& (
$shutters->getModeUp eq 'always'
|| $shutters->getModeUp eq $homemode
|| ( $shutters->getModeUp eq 'home'
&& $homemode ne 'asleep' )
|| $shutters->getModeUp eq 'off'
)
&& (
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) < 2
|| ( !$shutters->getQueryShuttersPos( $shutters->getShadingPos )
&& $shutters->getIfInShading
&& $shutters->getStatus != $shutters->getShadingPos )
|| ( !$shutters->getIfInShading
&& $shutters->getStatus == $shutters->getShadingPos )
)
);
return;
@ -2761,7 +2775,13 @@ sub EventProcessingExternalTriggerDevice {
$shutters->setLastDrive('external trigger device inactive');
$shutters->setNoDelay(1);
$shutters->setExternalTriggerState(1);
ShuttersCommandSet( $hash, $shuttersDev, $triggerPosInactive );
ShuttersCommandSet( $hash, $shuttersDev,
(
$shutters->getIsDay
? $triggerPosInactive
: $shutters->getClosedPos
)
);
}
ASC_Debug(
@ -8419,7 +8439,7 @@ sub getBlockAscDrivesAfterManual {
],
"release_status": "testing",
"license": "GPL_2",
"version": "v0.8.29",
"version": "v0.8.30",
"author": [
"Marko Oldenburg <leongaultier@gmail.com>"
],