-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Log error "Cannot play file: Timeout by checking of announcement finished playing" if playing longer announcements #299
Comments
I analyzed the problem and found a way to fix it: Result:
Save changes and do not forget to restart all sayIt instances in iobroker. Then the error messages are gone. All the hard work of figuring out the length of the spoken text was already done, it was just not used. Maybe somebody can change this in the github version. |
fix for issue ioBroker#299
Proposed a pull request for fix: #307 |
Fixed in next version, thank you! |
@Apollon77 ` sayit.0 | 2024-05-29 13:53:25.417 | error | Cannot play file: Timeout by checking of announcement finished playing -- | -- | -- | -- sayit.0 | 2024-05-29 13:53:25.417 | error | Error while checking if chromecast.0.Google_Home_mini.player.announcement finished playing announcement: {"url":"http://10.1.1.10:8082/sayit.0/tts.mp3?ts=1716983587901","volume":50}: TIMEOUT ` |
@crunchip77: Wie sieht denn deine Konfiguration der sayit-Instanz aus? Bitte beide Reiter "Abspielen" und "TTS-Engine"! Danke! |
Danke. Komisch, das ist praktisch genau die Konfiguration, mit der ich auch arbeite. Kommt der Fehler jedes Mal oder nur hin- und wieder? Mit welchem Befehl startest du denn deine Sprachausgabe? |
@neopholus wenn ichs richtig sehe, kommt es immer zum Fehler. |
Das sind genau meine Use-Cases auch, daher kommen auch bei mir sehr lange Ansagen. Ich kann bisher keinen relevanten Unterschied in unseren Konfigurationen finden, daher kann ich bisher den Fehler leider nicht nachstellen. |
@neopholus das ursprüngliche script siehe https://forum.iobroker.net/topic/30616/script-dwd-uwz-nina-warnungen-als-push-sprachnachrichten?_=1717430303095 Edit: script dazu ` console.log('test'); |
Sorry, was traveling, will look into it on the weekend. |
Kannst du bitte mal folgendes ausprobieren? Die Zahl sollte die Lautstärke setzen, probier mal aus, ob das geht. Und auch, ob der Fehler mit dem Timeout kommt, gerne auch mit längeren Texten.
|
@neopholus ja, so funktioniert es fehlerfrei, hab auch mal den Text verlängert(423Buchstaben incl. Leer/Satzzeichen) |
@crunchip77 Löst das dein Problem dann oder bleibt was zu tun? |
@neopholus an sich ja, bei selbst erstellten Scripten auf diese Weise, bleibt aber immer noch das Problem beim Abspielen über gewisse Adapter. Hab im Adapter thread mal hierher verlinkt |
@crunchip77: Welchen Adapter nutzt du und kannst du rausfinden, welcher Aufruf konkret dort verwendet wird? Falls das so ist, könnte man, wenn dort ein "plain-Text" angegeben wird, die Tags automatisch hinzufügen, zumindest wenn man eine AWS-Engine verwendet. Da dieser Issue eigentlich geschlossen ist und streng genommen mit diesem hier nichts zu tun hat, wollte ich dich bitten, auch noch einen neuen Issue zu erstellen. Danke dir! |
Describe the bug
When playing a longer announcement (e.g. weather forecast) using sayit on a Google Home Mini via chromecast, there are two lines of errors in the log from the sayit adapter (not from chromecast):
Error while checking if chromecast.0.Google_Home_WZ.player.announcement finished playing announcement: {"url":"http://192.168.X.YYY:ZZZZ/sayit.0/tts.mp3?ts=1705256129645","volume":20}: TIMEOUT
Cannot play file: Timeout by checking of announcement finished playing
.The announcement is spoken correctly nevertheless.
To Reproduce
Steps to reproduce the behavior:
20;<speak>Das ist eine lange Testansage, um einen Fehler im Log zu provozieren. Und da das noch nicht lange genug ist, fügen wir noch weiteren Text hinzu. Sicherheitshalber noch einen dritten sehr langen Satz, damit das Problem auch wirklich auftritt. Ich hoffe, das hat gereicht.</speak>
Expected behavior
Announcement should be spoken WITHOUT an error message in the log.
Screenshots & Logfiles
Error while checking if chromecast.0.Google_Home_WZ.player.announcement finished playing announcement: {"url":"http://192.168.3.105:8083/sayit.0/tts.mp3?ts=1705256699645","volume":20}: TIMEOUT
Cannot play file: Timeout by checking of announcement finished playing.
Versions:
Additional context
I think, sayit is using the datapoint
announcement
to playback via chromecast and then waiting for the end of the playback. As the playback lasts quite long, the timeout gets active and thinks, there is a problem, but in reality the file is still playing.Maybe, setting the timeout depending on the length of the mp3 file (e.g. using mp3info) would be a solution? Or making the timeout configurable?
The text was updated successfully, but these errors were encountered: