add more shading information at shutters

This commit is contained in:
Marko Oldenburg 2020-04-19 16:58:10 +02:00
parent e4a2f82419
commit 63ec20cde6

View File

@ -471,6 +471,12 @@ sub Notify {
$hash ); $hash );
InternalTimer( gettimeofday() + 5, InternalTimer( gettimeofday() + 5,
'FHEM::AutoShuttersControl::AutoSearchTwilightDev', $hash ); 'FHEM::AutoShuttersControl::AutoSearchTwilightDev', $hash );
InternalTimer(
gettimeofday() + 5,
sub() { CommandSet( undef, $name . ' controlShading on' ) },
$hash
)
if ( ReadingsVal( $name, 'controlShading', 'off' ) eq 'on' );
} }
} }
elsif ( grep m{^partyMode:.off$}xms, @{$events} ) { elsif ( grep m{^partyMode:.off$}xms, @{$events} ) {
@ -4730,7 +4736,7 @@ sub _CheckASC_ConditionsForShadingFn {
my $error; my $error;
$error .= ' no valid data from the ASC temperature sensor' $error .= ' no valid data from the ASC temperature sensor, is ASC_tempSensor attribut set?'
if ( $ascDev->getOutTemp == -100 ); if ( $ascDev->getOutTemp == -100 );
$error .= ' no twilight device found' $error .= ' no twilight device found'
if ( $ascDev->_getTwilightDevice eq 'none' ); if ( $ascDev->_getTwilightDevice eq 'none' );
@ -4756,31 +4762,47 @@ sub _CheckShuttersConditionsForShadingFn {
$shutters->setShuttersDev($shuttersDev); $shutters->setShuttersDev($shuttersDev);
my $shuttersDevHash = $defs{$shuttersDev}; my $shuttersDevHash = $defs{$shuttersDev};
my $message = 'none'; my $message = '';
my $errorMessage; my $errorMessage;
my $warnMessage; my $warnMessage;
my $infoMessage; my $infoMessage;
$infoMessage .= $infoMessage .= (
( $shutters->getShadingMode eq 'off' $shutters->getShadingMode eq 'off'
&& $ascDev->getAutoShuttersControlShading eq 'on' && $ascDev->getAutoShuttersControlShading eq 'on'
? ' global shading activ but no ASC_Shading_Mode attribut set' ? ' global shading active but ASC_Shading_Mode attribut is not set'
: 'none' ); : ''
);
$infoMessage .= (
$shutters->getShadingMode ne 'off'
&& $ascDev->getAutoShuttersControlShading eq 'on'
&& $shutters->getOutTemp == -100
? ' shading active, global temp sensor is set, but shutters temperature sensor is not set'
: ''
);
$warnMessage .= (
$shutters->getShadingMode ne 'off'
&& $ascDev->getAutoShuttersControlShading ne 'on'
&& $ascDev->getAutoShuttersControlShading ne 'off'
? ' ASC_Shading_Mode attribut is set but global shading has errors, look at ASC device'
: ''
);
$message .= ' ERROR: ' . $errorMessage $message .= ' ERROR: ' . $errorMessage
if ( defined($errorMessage) if ( defined($errorMessage)
&& $errorMessage ne 'none' ); && $errorMessage ne '' );
$message .= ' WARN: ' . $warnMessage $message .= ' WARN: ' . $warnMessage
if ( defined($warnMessage) if ( defined($warnMessage)
&& $warnMessage ne 'none' ); && $warnMessage ne '' );
$message .= ' INFO: ' . $infoMessage $message .= ' INFO: ' . $infoMessage
if ( defined($infoMessage) if ( defined($infoMessage)
&& $infoMessage ne 'none' ); && $infoMessage ne '' );
readingsSingleUpdate( $shuttersDevHash, 'ASC_Shading_Message', $message, readingsSingleUpdate( $shuttersDevHash, 'ASC_ShadingMessage', $message, 1 );
1 );
} }
###################################### ######################################