2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-02-25 03:44:52 +00:00

10_RHASSPY: preliminary fix for reopneVoiceInput timer call, #139337

git-svn-id: https://svn.fhem.de/fhem/trunk@29310 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Beta-User 2024-10-29 05:11:18 +00:00
parent 789cdea8fb
commit 95e07f6e7b

View File

@ -3346,6 +3346,20 @@ sub RHASSPY_SpeechDialogTimeout {
return SpeechDialog_close($hash, $identity);
}
sub RHASSPY_reopenVoiceInput_timeout {
my $fnHash = shift // return;
my $hash = $fnHash->{HASH} // $fnHash;
return if !defined $hash;
my $identity = $fnHash->{MODIFIER};
deleteSingleRegIntTimer($identity, $hash, 1);
Log3($hash, 5, "RHASSPY_reopenVoiceInput_timeout called with $identity");
#Beta-User: incomplete, closing voice input is still missing!
#Here we might have to delete any remaining data from a "continuous" session....
return;
}
sub setSpeechDialogTimeout {
my $hash = shift // return;
my $data = shift // return;
@ -3734,8 +3748,10 @@ sub respond {
if ( $topic ne 'continueSession' && $type eq 'voice' && ( defined $data->{reopenVoiceInput} || defined $hash->{sessionTimeout} ) ) {
activateVoiceInput($hash,[$data->{siteId}]);
$delay = ReadingsNum($name, "sessionTimeout_$data->{siteId}", $hash->{sessionTimeout} // _getDialogueTimeout($hash));
$delay = $data->{SilentClosure} if defined $data->{SilentClosure} && looks_like_number($data->{SilentClosure});
resetRegIntTimer( 'testmode_end', time + $delay, \&RHASSPY_testmode_timeout, $hash ); #Beta-User: needs different timeout function
$delay = $data->{SilentClosure} if defined $data->{SilentClosure} && looks_like_number($data->{SilentClosure});
$delay = $data->{reopenVoiceInput} if !defined $data->{SilentClosure} && defined $data->{reopenVoiceInput} && looks_like_number($data->{reopenVoiceInput} && $data->{reopenVoiceInput} > 0);
#Beta-User: timeout function needs review, esp. in case if we store any session data
resetRegIntTimer( 'testmode_end', time + $delay, \&RHASSPY_reopenVoiceInput_timeout, $hash );
}
my $secondAudio = ReadingsVal($name, "siteId2doubleSpeak_$data->{siteId}",undef) // return [$name];