FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Ellert am 21 Juli 2016, 17:58:53

Titel: Text2Speech: Reading "playing" bleibt bei REMOTE gesetzt
Beitrag von: Ellert am 21 Juli 2016, 17:58:53
@Tobias:
Das Reading "playing" wird bei einem Remote-Aufruf gesetzt.
Da es keine Rückmeldung vom entfernten Gerät gibt, wird das Reading nicht zurückgesetzt.

Ich schlage folgende Änderung vor: Verschieben des "readingsSingleUpdate" in den Block DIRECT.

vorher:
Zitat426    readingsSingleUpdate($hash, "playing", "1", 1);
427    if($hash->{MODE} eq "DIRECT") {
428      Text2Speech_PrepareSpeech($hash, join(" ", @a));
nachher
Zitat426    if($hash->{MODE} eq "DIRECT") {
427     Text2Speech_PrepareSpeech($hash, join(" ", @a));
428     readingsSingleUpdate($hash, "playing", "1", 1);

Ausserdem müsste das Reading "playing" in der "Text2Speech_AbortFn" auf 0 gesetzt werden, sonst bleibt es nach einem Abbruch auf 1.
Das ist unabhängig von der vorhergehenden Änderung.

Zitat#####################################
sub Text2Speech_AbortFn($)     {
  my ($hash) = @_;

  delete($hash->{helper}{RUNNING_PID});
  Log3 $hash->{NAME}, 2, "Text2Speech: BlockingCall for ".$hash->{NAME}." was aborted";
  readingsSingleUpdate($hash, "playing", "0", 1);

}

Vielleicht könntest Du das auch ins Modul übernehmen.

Vielen Dank

Ellert


Titel: Antw:Text2Speech: Reading "playing" bleibt bei REMOTE gesetzt
Beitrag von: P.A.Trick am 23 Juli 2016, 20:22:14
Über den Patch würde ich mich auch freuen!