fix little bug

This commit is contained in:
Marko Oldenburg 2019-06-13 17:25:17 +02:00
parent 72633c9fb1
commit 6b9459f267

View File

@ -48,7 +48,7 @@ use strict;
use warnings; use warnings;
use FHEM::Meta; use FHEM::Meta;
my $version = '0.6.17.3'; my $version = '0.6.17.5';
sub AutoShuttersControl_Initialize($) { sub AutoShuttersControl_Initialize($) {
my ($hash) = @_; my ($hash) = @_;
@ -1910,8 +1910,8 @@ sub EventProcessingTwilightDevice($@) {
if ( not IsDay($shuttersDev) if ( not IsDay($shuttersDev)
and $shutters->getShadingStatus ne 'out' ) and $shutters->getShadingStatus ne 'out' )
{ {
$shutters->setShadingStatus('out') $shutters->setShadingStatus('out');
$shutters->setShadingLastStatus('in') $shutters->setShadingLastStatus('in');
} }
} }
} }
@ -1927,10 +1927,11 @@ sub ShadingProcessing($@) {
) = @_; ) = @_;
my $name = $hash->{NAME}; my $name = $hash->{NAME};
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
$shutters->setShadingLastStatus($shutters->getShadingStatus) $shutters->setShadingLastStatus( $shutters->getShadingStatus )
if ( $shutters->getShadingLastStatus ne $shutters->getShadingStatus if (
and ($shutters->getShadingStatus eq 'in' $shutters->getShadingLastStatus ne $shutters->getShadingStatus
or $shutters->getShadingStatus eq 'out') and ( $shutters->getShadingStatus eq 'in'
or $shutters->getShadingStatus eq 'out' )
); );
ASC_Debug( ASC_Debug(
@ -2100,10 +2101,13 @@ sub ShadingProcessing($@) {
} }
ShadingProcessingDriveCommand( $hash, $shuttersDev ) ShadingProcessingDriveCommand( $hash, $shuttersDev )
if ( ($shutters->getShadingStatus eq 'out' if (
and $shutters->getShadingLastStatus eq 'in') (
or ($shutters->getShadingStatus eq 'in' $shutters->getShadingStatus eq 'out'
and $shutters->getShadingLastStatus eq 'out') and $shutters->getShadingLastStatus eq 'in'
)
or ( $shutters->getShadingStatus eq 'in'
and $shutters->getShadingLastStatus eq 'out' )
); );
} }
@ -4024,7 +4028,8 @@ sub setShadingLastStatus {
$self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL} = $value $self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL} = $value
if ( defined($value) ); if ( defined($value) );
$self->{ $self->{shuttersDev} }{ShadingLastStatus}{TIME} = int( gettimeofday() ) $self->{ $self->{shuttersDev} }{ShadingLastStatus}{TIME} =
int( gettimeofday() )
if ( defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus} ) ); if ( defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus} ) );
return 0; return 0;
} }
@ -4058,7 +4063,8 @@ sub getShadingLastStatus { # Werte für value = in, out
return $self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL} return $self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL}
if ( defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus} ) if ( defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus} )
and defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL} ) ); and defined( $self->{ $self->{shuttersDev} }{ShadingLastStatus}{VAL} )
);
} }
sub getIfInShading { sub getIfInShading {