bugix crash fhem

This commit is contained in:
Marko Oldenburg 2020-07-02 14:48:46 +02:00
parent bb6f4860f9
commit 857683fbe2
3 changed files with 21 additions and 20 deletions

View File

@ -1,8 +1,8 @@
UPD 2020-07-02_14:06:51 96885 FHEM/73_AutoShuttersControl.pm UPD 2020-07-02_14:06:51 96885 FHEM/73_AutoShuttersControl.pm
UPD 2020-07-02_14:10:44 177312 lib/FHEM/Automation/ShuttersControl.pm UPD 2020-07-02_14:17:44 177302 lib/FHEM/Automation/ShuttersControl.pm
UPD 2020-06-22_09:41:40 2657 lib/FHEM/Automation/ShuttersControl/Dev.pm UPD 2020-06-22_09:41:40 2657 lib/FHEM/Automation/ShuttersControl/Dev.pm
UPD 2020-07-02_14:10:57 2496 lib/FHEM/Automation/ShuttersControl/Roommate.pm UPD 2020-07-02_14:10:57 2496 lib/FHEM/Automation/ShuttersControl/Roommate.pm
UPD 2020-06-30_12:47:15 30157 lib/FHEM/Automation/ShuttersControl/Shutters.pm UPD 2020-07-02_14:47:17 30157 lib/FHEM/Automation/ShuttersControl/Shutters.pm
UPD 2020-06-22_09:41:40 2175 lib/FHEM/Automation/ShuttersControl/Window.pm UPD 2020-06-22_09:41:40 2175 lib/FHEM/Automation/ShuttersControl/Window.pm
UPD 2020-06-22_09:41:40 11454 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm UPD 2020-06-22_09:41:40 11454 lib/FHEM/Automation/ShuttersControl/Dev/Attr.pm
UPD 2020-06-22_09:41:40 7251 lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm UPD 2020-06-22_09:41:40 7251 lib/FHEM/Automation/ShuttersControl/Dev/Readings.pm

View File

@ -1348,7 +1348,7 @@ sub EventProcessingRoommate {
&& !$shutters->getSelfDefenseState && !$shutters->getSelfDefenseState
) )
{ {
\&FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev ); FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev );
} }
elsif ( elsif (
!$shutters->getIsDay !$shutters->getIsDay
@ -1560,7 +1560,7 @@ sub EventProcessingResidents {
&& $shutters->getShadingMode eq 'absent' && $shutters->getShadingMode eq 'absent'
&& $shutters->getRoommatesStatus eq 'none' ) && $shutters->getRoommatesStatus eq 'none' )
{ {
\&FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev ); FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev );
} }
elsif ( elsif (
$shutters->getShadingMode eq 'home' $shutters->getShadingMode eq 'home'
@ -1657,7 +1657,7 @@ sub EventProcessingResidents {
&& !$shutters->getSelfDefenseState && !$shutters->getSelfDefenseState
) )
{ {
\&FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev ); FHEM::Automation::ShuttersControl::Shading::ShadingProcessingDriveCommand( $hash, $shuttersDev );
} }
elsif ( elsif (
$shutters->getShadingMode eq 'absent' $shutters->getShadingMode eq 'absent'
@ -2373,7 +2373,7 @@ sub EventProcessingShadingBrightness {
&& $shutters->getRainProtectionStatus eq 'unprotected' && $shutters->getRainProtectionStatus eq 'unprotected'
&& $shutters->getWindProtectionStatus eq 'unprotected' ) && $shutters->getWindProtectionStatus eq 'unprotected' )
{ {
\&FHEM::Automation::ShuttersControl::Shading::ShadingProcessing( FHEM::Automation::ShuttersControl::Shading::ShadingProcessing(
$hash, $hash,
$shuttersDev, $shuttersDev,
$ascDev->getAzimuth, $ascDev->getAzimuth,
@ -2446,7 +2446,7 @@ sub EventProcessingTwilightDevice {
&& $shutters->getRainProtectionStatus eq 'unprotected' && $shutters->getRainProtectionStatus eq 'unprotected'
&& $shutters->getWindProtectionStatus eq 'unprotected' ) && $shutters->getWindProtectionStatus eq 'unprotected' )
{ {
\&FHEM::Automation::ShuttersControl::Shading::ShadingProcessing( FHEM::Automation::ShuttersControl::Shading::ShadingProcessing(
$hash, $hash,
$shuttersDev, $shuttersDev,
$azimuth, $azimuth,

View File

@ -56,6 +56,7 @@ BEGIN {
readingsBeginUpdate readingsBeginUpdate
readingsBulkUpdate readingsBulkUpdate
readingsEndUpdate readingsEndUpdate
defs
) )
); );
} }
@ -73,7 +74,7 @@ sub ShadingProcessing {
$FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev); $FHEM::Automation::ShuttersControl::shutters->setShuttersDev($shuttersDev);
my $brightness = $FHEM::Automation::ShuttersControl::shutters->getBrightnessAverage; my $brightness = $FHEM::Automation::ShuttersControl::shutters->getBrightnessAverage;
\&FHEM::Automation::ShuttersControl::ASC_Debug( FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessing: ' 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Übergebende Werte - Azimuth:' . ' - Übergebende Werte - Azimuth:'
@ -89,7 +90,7 @@ sub ShadingProcessing {
. ', Azimut Endschattung: ' . ', Azimut Endschattung: '
. $azimuthRight . $azimuthRight
. ', Ist es nach der Zeitblockadezeit: ' . ', Ist es nach der Zeitblockadezeit: '
. ( IsAfterShuttersTimeBlocking($shuttersDev) ? 'JA' : 'NEIN' ) . ( FHEM::Automation::ShuttersControl::IsAfterShuttersTimeBlocking($shuttersDev) ? 'JA' : 'NEIN' )
. ', Das Rollo ist in der Beschattung und wurde manuell gefahren: ' . ', Das Rollo ist in der Beschattung und wurde manuell gefahren: '
. ( $FHEM::Automation::ShuttersControl::shutters->getShadingManualDriveStatus ? 'JA' : 'NEIN' ) . ( $FHEM::Automation::ShuttersControl::shutters->getShadingManualDriveStatus ? 'JA' : 'NEIN' )
. ', Ist es nach der Hälfte der Beschattungswartezeit: ' . ', Ist es nach der Hälfte der Beschattungswartezeit: '
@ -133,7 +134,7 @@ sub ShadingProcessing {
my $getModeUp = $FHEM::Automation::ShuttersControl::shutters->getModeUp; my $getModeUp = $FHEM::Automation::ShuttersControl::shutters->getModeUp;
my $homemode = $FHEM::Automation::ShuttersControl::shutters->getHomemode; my $homemode = $FHEM::Automation::ShuttersControl::shutters->getHomemode;
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Alle Werte für die weitere Verarbeitung sind korrekt vorhanden und es wird nun mit der Beschattungsverarbeitung begonnen' . ' - Alle Werte für die weitere Verarbeitung sind korrekt vorhanden und es wird nun mit der Beschattungsverarbeitung begonnen'
); );
@ -151,7 +152,7 @@ sub ShadingProcessing {
# $FHEM::Automation::ShuttersControl::shutters->setShadingLastStatus('in'); # $FHEM::Automation::ShuttersControl::shutters->setShadingLastStatus('in');
$FHEM::Automation::ShuttersControl::shutters->setShadingStatus('out'); $FHEM::Automation::ShuttersControl::shutters->setShadingStatus('out');
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Es ist Nacht oder die Aussentemperatur unterhalb der Shading Temperatur. Die Beschattung wird Zwangsbeendet' . ' - Es ist Nacht oder die Aussentemperatur unterhalb der Shading Temperatur. Die Beschattung wird Zwangsbeendet'
); );
@ -193,7 +194,7 @@ sub ShadingProcessing {
. ", Zeitstempel: " . ", Zeitstempel: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatusTimestamp ); . $FHEM::Automation::ShuttersControl::shutters->getShadingStatusTimestamp );
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Einer der Beschattungsbedingungen wird nicht mehr erfüllt und somit wird der Beschattungsstatus um eine Stufe reduziert. Alter Status: ' . ' - Einer der Beschattungsbedingungen wird nicht mehr erfüllt und somit wird der Beschattungsstatus um eine Stufe reduziert. Alter Status: '
. $oldShadingStatus . $oldShadingStatus
@ -233,7 +234,7 @@ sub ShadingProcessing {
. ", Zeitstempel: " . ", Zeitstempel: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatusTimestamp ); . $FHEM::Automation::ShuttersControl::shutters->getShadingStatusTimestamp );
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessing: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Alle Beschattungsbedingungen wurden erfüllt und somit wird der Beschattungsstatus um eine Stufe angehoben. Alter Status: ' . ' - Alle Beschattungsbedingungen wurden erfüllt und somit wird der Beschattungsstatus um eine Stufe angehoben. Alter Status: '
. $oldShadingStatus . $oldShadingStatus
@ -243,7 +244,7 @@ sub ShadingProcessing {
ShadingProcessingDriveCommand( $hash, $shuttersDev ) ShadingProcessingDriveCommand( $hash, $shuttersDev )
if ( if (
\&FHEM::Automation::ShuttersControl::IsAfterShuttersTimeBlocking($shuttersDev) FHEM::Automation::ShuttersControl::IsAfterShuttersTimeBlocking($shuttersDev)
&& !$FHEM::Automation::ShuttersControl::shutters->getShadingManualDriveStatus && !$FHEM::Automation::ShuttersControl::shutters->getShadingManualDriveStatus
&& $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne 'gotosleep' && $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne 'gotosleep'
&& $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne 'asleep' && $FHEM::Automation::ShuttersControl::shutters->getRoommatesStatus ne 'asleep'
@ -319,14 +320,14 @@ sub ShadingProcessingDriveCommand {
if ( if (
$FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq 'in' $FHEM::Automation::ShuttersControl::shutters->getShadingStatus eq 'in'
&& $getShadingPos != $getStatus && $getShadingPos != $getStatus
&& ( \&FHEM::Automation::ShuttersControl::CheckIfShuttersWindowRecOpen($shuttersDev) != 2 && ( FHEM::Automation::ShuttersControl::CheckIfShuttersWindowRecOpen($shuttersDev) != 2
|| $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace ne 'terrace' ) || $FHEM::Automation::ShuttersControl::shutters->getShuttersPlace ne 'terrace' )
) )
{ {
$FHEM::Automation::ShuttersControl::shutters->setLastDrive('shading in'); $FHEM::Automation::ShuttersControl::shutters->setLastDrive('shading in');
ShuttersCommandSet( $hash, $shuttersDev, $getShadingPos ); FHEM::Automation::ShuttersControl::ShuttersCommandSet( $hash, $shuttersDev, $getShadingPos );
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessingDriveCommand: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus . $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
@ -339,7 +340,7 @@ sub ShadingProcessingDriveCommand {
{ {
$FHEM::Automation::ShuttersControl::shutters->setLastDrive('shading out'); $FHEM::Automation::ShuttersControl::shutters->setLastDrive('shading out');
\&FHEM::Automation::ShuttersControl::ShuttersCommandSet( FHEM::Automation::ShuttersControl::ShuttersCommandSet(
$hash, $hash,
$shuttersDev, $shuttersDev,
( (
@ -357,7 +358,7 @@ sub ShadingProcessingDriveCommand {
) )
); );
\&FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessingDriveCommand: ' FHEM::Automation::ShuttersControl::ASC_Debug( 'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus . $FHEM::Automation::ShuttersControl::shutters->getShadingStatus
@ -370,7 +371,7 @@ sub ShadingProcessingDriveCommand {
"AutoShuttersControl ($name) - Shading Processing - In der Routine zum fahren der Rollläden, Shading Wert: " "AutoShuttersControl ($name) - Shading Processing - In der Routine zum fahren der Rollläden, Shading Wert: "
. $FHEM::Automation::ShuttersControl::shutters->getShadingStatus ); . $FHEM::Automation::ShuttersControl::shutters->getShadingStatus );
\&FHEM::Automation::ShuttersControl::ASC_Debug( FHEM::Automation::ShuttersControl::ASC_Debug(
'ShadingProcessingDriveCommand: ' 'ShadingProcessingDriveCommand: '
. $FHEM::Automation::ShuttersControl::shutters->getShuttersDev . $FHEM::Automation::ShuttersControl::shutters->getShuttersDev
. ' - Der aktuelle Beschattungsstatus ist: ' . ' - Der aktuelle Beschattungsstatus ist: '