change homemmode condition for shading in shadingDrive Fn

This commit is contained in:
Marko Oldenburg 2019-06-21 09:19:49 +02:00
parent 4011a56656
commit ed631686d9

View File

@ -342,9 +342,9 @@ sub Define($$) {
$hash->{MID} = 'da39a3ee5e6b4b0d3255bfef95601890afd80709' $hash->{MID} = 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
; # eine Ein Eindeutige ID für interne FHEM Belange / nicht weiter wichtig ; # eine Ein Eindeutige ID für interne FHEM Belange / nicht weiter wichtig
# ### Versionierung ### # ### Versionierung ###
# Stable Version # Stable Version
# $hash->{VERSION} = version->parse($VERSION)->normal; # $hash->{VERSION} = version->parse($VERSION)->normal;
# Developer Version # Developer Version
$hash->{DEV_VERSION} = FHEM::Meta::Get( $hash, 'x_developmentversion' ); $hash->{DEV_VERSION} = FHEM::Meta::Get( $hash, 'x_developmentversion' );
@ -726,16 +726,16 @@ sub ShuttersDeviceScan($) {
if ( ReadingsVal( $_, 'ASC_Enable', 'none' ) eq 'none' ); if ( ReadingsVal( $_, 'ASC_Enable', 'none' ) eq 'none' );
} }
# ### Temporär und muss später entfernt werden # ### Temporär und muss später entfernt werden
# CommandAttr( undef, # CommandAttr( undef,
# $name # $name
# . ' ASC_brightnessDriveUpDown ' # . ' ASC_brightnessDriveUpDown '
# . AttrVal( $name, 'ASC_brightnessMinVal', 500 ) . ':' # . AttrVal( $name, 'ASC_brightnessMinVal', 500 ) . ':'
# . AttrVal( $name, 'ASC_brightnessMaxVal', 800 ) ) # . AttrVal( $name, 'ASC_brightnessMaxVal', 800 ) )
# if ( AttrVal( $name, 'ASC_brightnessMinVal', 'none' ) ne 'none' ); # if ( AttrVal( $name, 'ASC_brightnessMinVal', 'none' ) ne 'none' );
# #
# CommandDeleteAttr( undef, $name . ' ASC_brightnessMaxVal' ) # CommandDeleteAttr( undef, $name . ' ASC_brightnessMaxVal' )
# if ( AttrVal( $name, 'ASC_brightnessMaxVal', 'none' ) ne 'none' ); # if ( AttrVal( $name, 'ASC_brightnessMaxVal', 'none' ) ne 'none' );
$hash->{NOTIFYDEV} = "global," . $name . $shuttersList; $hash->{NOTIFYDEV} = "global," . $name . $shuttersList;
@ -1739,19 +1739,10 @@ sub EventProcessingShadingBrightness($@) {
. ' WindProtection: ' . ' WindProtection: '
. $shutters->getWindProtectionStatus ); . $shutters->getWindProtectionStatus );
my $homemode = $shutters->getRoommatesStatus; if ( IsDay($shuttersDev)
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
if (
(
$shutters->getShadingMode eq 'always'
or $shutters->getShadingMode eq $homemode
)
and IsDay($shuttersDev)
and $ascDev->getAutoShuttersControlShading eq 'on' and $ascDev->getAutoShuttersControlShading eq 'on'
and $shutters->getRainProtectionStatus eq 'unprotected' and $shutters->getRainProtectionStatus eq 'unprotected'
and $shutters->getWindProtectionStatus eq 'unprotected' and $shutters->getWindProtectionStatus eq 'unprotected' )
)
{ {
ShadingProcessing( ShadingProcessing(
$hash, $hash,
@ -1771,7 +1762,6 @@ sub EventProcessingShadingBrightness($@) {
); );
} }
elsif ( $shutters->getShadingStatus eq 'in' elsif ( $shutters->getShadingStatus eq 'in'
and $shutters->getShadingMode ne $homemode
and $shutters->getRainProtectionStatus eq 'unprotected' and $shutters->getRainProtectionStatus eq 'unprotected'
and $shutters->getWindProtectionStatus eq 'unprotected' ) and $shutters->getWindProtectionStatus eq 'unprotected' )
{ {
@ -2070,6 +2060,12 @@ sub ShadingProcessingDriveCommand($$) {
my $getShadingPos = $shutters->getShadingPos; my $getShadingPos = $shutters->getShadingPos;
my $getStatus = $shutters->getStatus; my $getStatus = $shutters->getStatus;
my $homemode = $shutters->getRoommatesStatus;
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
if ( $shutters->getShadingMode eq 'always'
or $shutters->getShadingMode eq $homemode )
{
$shutters->setShadingStatus( $shutters->getShadingStatus ) $shutters->setShadingStatus( $shutters->getShadingStatus )
if ( if (
( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) > ( int( gettimeofday() ) - $shutters->getShadingStatusTimestamp ) >
@ -2133,6 +2129,7 @@ sub ShadingProcessingDriveCommand($$) {
"%Y.%m.%e %T", localtime( $shutters->getShadingStatusTimestamp ) "%Y.%m.%e %T", localtime( $shutters->getShadingStatusTimestamp )
) )
); );
}
} }
sub EventProcessingPartyMode($) { sub EventProcessingPartyMode($) {
@ -6173,7 +6170,7 @@ sub getblockAscDrivesAfterManual {
"release_status": "under develop", "release_status": "under develop",
"license": "GPL_2", "license": "GPL_2",
"version": "v0.6.19", "version": "v0.6.19",
"x_developmentversion": "v0.6.19.5", "x_developmentversion": "v0.6.19.6",
"author": [ "author": [
"Marko Oldenburg <leongaultier@gmail.com>" "Marko Oldenburg <leongaultier@gmail.com>"
], ],