fix undefined in fhem.pl

This commit is contained in:
Marko Oldenburg
2019-06-25 13:19:22 +02:00
parent 6396cd25d5
commit e18d609e5f

View File

@ -1222,13 +1222,18 @@ sub EventProcessingResidents($@) {
)
)
{
if ( ( CheckIfShuttersWindowRecOpen($shuttersDev) != 0
or $shutters->getSelfDefenseMode eq 'absent' )
if (
(
CheckIfShuttersWindowRecOpen($shuttersDev) != 0
or $shutters->getSelfDefenseMode eq 'absent'
)
and $ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off' )
and $shutters->getSelfDefenseExclude eq 'off'
)
{
$shutters->setLastDrive('selfDefense active');
$shutters->setSelfDefenseAbsent(0,1) # der erste Wert ist ob der timer schon läuft, der zweite ist ob self defense aktiv ist durch die Bedingungen
$shutters->setSelfDefenseAbsent( 0, 1
) # der erste Wert ist ob der timer schon läuft, der zweite ist ob self defense aktiv ist durch die Bedingungen
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 0
and $shutters->getSelfDefenseMode eq 'absent' );
}
@ -1281,8 +1286,10 @@ sub EventProcessingResidents($@) {
$shutters->setDriveCmd( $shutters->getClosedPos );
}
elsif (
( $shutters->getShadingMode eq 'home'
or $shutters->getShadingMode eq 'always' )
(
$shutters->getShadingMode eq 'home'
or $shutters->getShadingMode eq 'always'
)
and IsDay($shuttersDev)
and $shutters->getIfInShading
and $shutters->getStatus != $shutters->getShadingPos
@ -1305,11 +1312,13 @@ sub EventProcessingResidents($@) {
$shutters->setLastDrive('shading out');
$shutters->setDriveCmd( $shutters->getLastPos );
}
elsif ( (
elsif (
(
$ascDev->getSelfDefense eq 'on'
and $shutters->getSelfDefenseExclude eq 'off'
or ( $getResidentsLastStatus eq 'gone'
and $shutters->getShuttersPlace eq 'terrace' ) )
and $shutters->getShuttersPlace eq 'terrace' )
)
and not $shutters->getIfInShading
and ( $getResidentsLastStatus eq 'gone'
or $getResidentsLastStatus eq 'absent' )
@ -1325,11 +1334,13 @@ sub EventProcessingResidents($@) {
if ( $shutters->getStatus == $shutters->getClosedPos ) {
$shutters->setHardLockOut('on')
if ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
if (
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
and $shutters->getShuttersPlace eq 'terrace'
and ( $getModeUp eq 'absent'
or $getModeUp eq 'off' )
and CheckIfShuttersWindowRecOpen($shuttersDev) != 0);
and CheckIfShuttersWindowRecOpen($shuttersDev) != 0
);
$shutters->setLastDrive('selfDefense inactive');
$shutters->setDriveCmd(
@ -1770,7 +1781,8 @@ sub EventProcessingShadingBrightness($@) {
and $shutters->getRainProtectionStatus eq 'unprotected'
and $shutters->getWindProtectionStatus eq 'unprotected' )
{
$outTemp = $shutters->getOutTemp if ( $shutters->getOutTemp != -100 );
$outTemp = $shutters->getOutTemp
if ( $shutters->getOutTemp != -100 );
ShadingProcessing(
$hash,
$shuttersDev,
@ -1830,7 +1842,8 @@ sub EventProcessingTwilightDevice($@) {
my $homemode = $shutters->getRoommatesStatus;
$homemode = $ascDev->getResidentsStatus if ( $homemode eq 'none' );
$outTemp = $shutters->getOutTemp if ( $shutters->getOutTemp != -100 );
$outTemp = $shutters->getOutTemp
if ( $shutters->getOutTemp != -100 );
ASC_Debug( 'EventProcessingTwilightDevice: '
. $shutters->getShuttersDev
@ -1841,8 +1854,7 @@ sub EventProcessingTwilightDevice($@) {
if ( $ascDev->getAutoShuttersControlShading eq 'on'
and $shutters->getRainProtectionStatus eq 'unprotected'
and $shutters->getWindProtectionStatus eq 'unprotected'
)
and $shutters->getWindProtectionStatus eq 'unprotected' )
{
ShadingProcessing(
$hash,
@ -2502,17 +2514,20 @@ sub SunSetShuttersAfterTimerFn($) {
)
)
{
if ( $funcHash->{privacyMode} == 1 )
{
if ( $funcHash->{privacyMode} == 1 ) {
$shutters->setPrivacyDownStatus(1);
$shutters->setLastDrive('privacy position');
ShuttersCommandSet( $hash, $shuttersDev,
PositionValueWindowRec($shuttersDev,$shutters->getClosedPos) );
PositionValueWindowRec( $shuttersDev, $shutters->getClosedPos )
);
}
elsif ( $funcHash->{privacyMode} == 0 ) {
$shutters->setPrivacyDownStatus(0);
$shutters->setLastDrive('night close');
ShuttersCommandSet( $hash, $shuttersDev, PositionValueWindowRec($shuttersDev,$shutters->getClosedPos) );
ShuttersCommandSet( $hash, $shuttersDev,
PositionValueWindowRec( $shuttersDev, $shutters->getClosedPos )
);
}
}
@ -2752,12 +2767,12 @@ sub PositionValueWindowRec($$) {
}
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
and $shutters->getSubTyp eq 'threestate'
and $ascDev->getAutoShuttersControlComfort eq 'on'
)
and $ascDev->getAutoShuttersControlComfort eq 'on' )
{
$posValue = $shutters->getComfortOpenPos;
}
elsif ( CheckIfShuttersWindowRecOpen($shuttersDev) == 2
elsif (
CheckIfShuttersWindowRecOpen($shuttersDev) == 2
and ( $shutters->getSubTyp eq 'threestate'
or $shutters->getSubTyp eq 'twostate' )
and $shutters->getVentilateOpen eq 'on'
@ -3653,8 +3668,7 @@ sub setDriveCmd {
and $shutters->getLastDrive eq 'selfDefense active'
and $ascDev->getSelfDefense eq 'on' )
{
InternalTimer(
gettimeofday() + $shutters->getSelfDefenseAbsentDelay,
InternalTimer( gettimeofday() + $shutters->getSelfDefenseAbsentDelay,
'FHEM::AutoShuttersControl::SetCmdFn', \%h );
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
}
@ -3881,7 +3895,11 @@ sub getSelfDefenseAbsentTimerhash {
my $self = shift;
return $self->{ $self->{shuttersDev} }{selfDefenseAbsent}{timerhash}
if ( defined($self->{ $self->{shuttersDev} }{selfDefenseAbsent}{timerhash}) );
if (
defined(
$self->{ $self->{shuttersDev} }{selfDefenseAbsent}{timerhash}
)
);
}
sub getLastDrive {
@ -4001,10 +4019,10 @@ sub getRoommatesLastStatus {
'asleep' => 1,
'gotosleep' => 2,
'awoken' => 3,
'home' => 7,
'absent' => 6,
'gone' => 5,
'none' => 4
'home' => 6,
'absent' => 5,
'gone' => 4,
'none' => 7
);
my $minPrio = 10;
@ -4021,7 +4039,8 @@ sub getRoommatesLastStatus {
sub getOutTemp {
my $self = shift;
return ReadingsVal( $shutters->_getTempSensor, $shutters->getTempSensorReading, -100 );
return ReadingsVal( $shutters->_getTempSensor,
$shutters->getTempSensorReading, -100 );
}
### Begin Beschattung Objekt mit Daten befüllen
@ -4221,12 +4240,11 @@ sub _getTempSensor {
return $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{device}
if (
exists(
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
->{LASTGETTIME}
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME}
)
and ( gettimeofday() -
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
->{LASTGETTIME} ) < 2
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME} )
< 2
);
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME} =
int( gettimeofday() );
@ -4249,19 +4267,16 @@ sub getTempSensorReading {
return $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
if (
exists(
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
->{LASTGETTIME}
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME}
)
and ( gettimeofday() -
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}
->{LASTGETTIME} ) < 2
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{LASTGETTIME} )
< 2
);
$shutters->_getTempSensor;
return (
defined(
$self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
)
defined( $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading} )
? $self->{ $self->{shuttersDev} }->{ASC_TempSensor}->{reading}
: 'temperature'
);
@ -6348,7 +6363,7 @@ sub getblockAscDrivesAfterManual {
"release_status": "under develop",
"license": "GPL_2",
"version": "v0.6.19",
"x_developmentversion": "v0.6.19.16",
"x_developmentversion": "v0.6.19.17",
"author": [
"Marko Oldenburg <leongaultier@gmail.com>"
],