add more conditions to delaydrive
This commit is contained in:
@ -2414,9 +2414,12 @@ sub ShuttersCommandSet($$$) {
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
$posValue != $shutters->getShadingPos
|
$posValue != $shutters->getShadingPos
|
||||||
or ( $posValue == $shutters->getShadingPos
|
or (
|
||||||
|
$posValue == $shutters->getShadingPos
|
||||||
and CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
and CheckIfShuttersWindowRecOpen($shuttersDev) == 2
|
||||||
and $shutters->getShuttersPlace eq 'terrace'
|
and $shutters->getShuttersPlace eq 'terrace'
|
||||||
|
and ( $shutters->getLockOut eq 'soft'
|
||||||
|
or $shutters->getLockOut eq 'hard' )
|
||||||
)
|
)
|
||||||
and (
|
and (
|
||||||
(
|
(
|
||||||
@ -3770,7 +3773,8 @@ sub _SetCmdFn($) {
|
|||||||
if ( defined( $h->{lastDrive} ) );
|
if ( defined( $h->{lastDrive} ) );
|
||||||
|
|
||||||
return
|
return
|
||||||
unless ( $shutters->getASCenable eq 'on'
|
unless (
|
||||||
|
$shutters->getASCenable eq 'on'
|
||||||
and $ascDev->getASCenable eq 'on'
|
and $ascDev->getASCenable eq 'on'
|
||||||
and ( $idleDetection =~ /^$idleDetectionValue$/
|
and ( $idleDetection =~ /^$idleDetectionValue$/
|
||||||
or $idleDetection eq 'none' )
|
or $idleDetection eq 'none' )
|
||||||
@ -4719,27 +4723,32 @@ sub getTempSensorReading {
|
|||||||
sub _getIdleDetectionReading {
|
sub _getIdleDetectionReading {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{reading}
|
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
|
->{reading}
|
||||||
if (
|
if (
|
||||||
exists(
|
exists(
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME}
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
|
->{LASTGETTIME}
|
||||||
)
|
)
|
||||||
and ( gettimeofday() -
|
and ( gettimeofday() -
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME} )
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
< 2
|
->{LASTGETTIME} ) < 2
|
||||||
);
|
);
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME} =
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME}
|
||||||
int( gettimeofday() );
|
= int( gettimeofday() );
|
||||||
my ( $reading, $value ) =
|
my ( $reading, $value ) =
|
||||||
FHEM::AutoShuttersControl::GetAttrValues( $self->{shuttersDev},
|
FHEM::AutoShuttersControl::GetAttrValues( $self->{shuttersDev},
|
||||||
'ASC_Shutter_IdleDetection', 'none' );
|
'ASC_Shutter_IdleDetection', 'none' );
|
||||||
|
|
||||||
### erwartetes Ergebnis
|
### erwartetes Ergebnis
|
||||||
# READING:VALUE
|
# READING:VALUE
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{reading} = $reading;
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{reading} =
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value} = $value;
|
$reading;
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value} =
|
||||||
|
$value;
|
||||||
|
|
||||||
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{reading};
|
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
|
->{reading};
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getIdleDetectionValue {
|
sub getIdleDetectionValue {
|
||||||
@ -4748,16 +4757,20 @@ sub getIdleDetectionValue {
|
|||||||
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value}
|
return $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value}
|
||||||
if (
|
if (
|
||||||
exists(
|
exists(
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME}
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
|
->{LASTGETTIME}
|
||||||
)
|
)
|
||||||
and ( gettimeofday() -
|
and ( gettimeofday() -
|
||||||
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{LASTGETTIME} )
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
< 2
|
->{LASTGETTIME} ) < 2
|
||||||
);
|
);
|
||||||
$shutters->_getIdleDetectionReading;
|
$shutters->_getIdleDetectionReading;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
defined( $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value} )
|
defined(
|
||||||
|
$self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}
|
||||||
|
->{value}
|
||||||
|
)
|
||||||
? $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value}
|
? $self->{ $self->{shuttersDev} }->{ASC_Shutter_IdleDetection}->{value}
|
||||||
: 'none'
|
: 'none'
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user