fix trigger ASC_ShuttersLastDrive Event

This commit is contained in:
Marko Oldenburg 2019-07-03 11:54:01 +02:00
parent b4ab616774
commit 81a8ef64ec

View File

@ -2577,7 +2577,7 @@ sub wiggle($$) {
}
InternalTimer( gettimeofday() + 60,
'FHEM::AutoShuttersControl::SetCmdFn', \%h );
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
}
####
@ -3580,7 +3580,7 @@ sub IsWeTomorrow() {
return $we;
}
sub SetCmdFn($) {
sub _SetCmdFn($) {
my $h = shift;
my $shuttersDev = $h->{shuttersDev};
my $posValue = $h->{posValue};
@ -3629,6 +3629,16 @@ sub SetCmdFn($) {
and $shutters->getSelfDefenseAbsentTimerrun );
}
sub _setShuttersLastDriveDelayed($) {
my $h = shift;
my $shuttersDevHash = $h->{devHash};
my $lastDrive = $h->{lastDrive};
readingsSingleUpdate( $shuttersDevHash, 'ASC_ShuttersLastDrive', $lastDrive, 1 );
# print('Ausgabe Funktion wurde aufgerufen - LastDrive: ' . $lastDrive . ', DevHash and Name: ' . $shuttersDevHash . ':: ' . $shuttersDevHash->{NAME} . "\n");
}
sub ASC_Debug($) {
return
unless ( AttrVal( $ascDev->getName, 'ASC_debug', 0 ) );
@ -3768,20 +3778,20 @@ sub setDriveCmd {
and $ascDev->getSelfDefense eq 'on' )
{
InternalTimer( gettimeofday() + $shutters->getSelfDefenseAbsentDelay,
'FHEM::AutoShuttersControl::SetCmdFn', \%h );
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
$shutters->setSelfDefenseAbsent( 1, 0, \%h );
}
elsif ( $offSetStart > 0 and not $shutters->getNoOffset ) {
InternalTimer(
gettimeofday() + int( rand($offSet) + $shutters->getOffsetStart ),
'FHEM::AutoShuttersControl::SetCmdFn', \%h );
'FHEM::AutoShuttersControl::_SetCmdFn', \%h );
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
. $shutters->getShuttersDev
. ' - versetztes fahren' );
}
elsif ( $offSetStart < 1 or $shutters->getNoOffset ) {
FHEM::AutoShuttersControl::SetCmdFn( \%h );
FHEM::AutoShuttersControl::_SetCmdFn( \%h );
FHEM::AutoShuttersControl::ASC_Debug( 'FnSetDriveCmd: '
. $shutters->getShuttersDev
. ' - NICHT versetztes fahren' );
@ -3848,8 +3858,14 @@ sub setLastDriveReading {
my $self = shift;
my $shuttersDevHash = $defs{ $self->{shuttersDev} };
readingsSingleUpdate( $shuttersDevHash, 'ASC_ShuttersLastDrive',
$shutters->getLastDrive, 1 );
my %h = (
devHash => $shuttersDevHash,
lastDrive => $shutters->getLastDrive,
);
InternalTimer(
gettimeofday() + 0.1,
'FHEM::AutoShuttersControl::_setShuttersLastDriveDelayed', \%h );
return 0;
}
@ -6499,7 +6515,7 @@ sub getblockAscDrivesAfterManual {
"release_status": "under develop",
"license": "GPL_2",
"version": "v0.6.19",
"x_developmentversion": "v0.6.19.32",
"x_developmentversion": "v0.6.19.33",
"author": [
"Marko Oldenburg <leongaultier@gmail.com>"
],