NEWS
[gelöst] SayIt Version 1.0.0 - Ansage dreifach
-
Mit der vorherigen Version von SayIt, wurde die Ansagen über SOnos korrekt abgespielt (1x).
Mit der neuen Version 1.0.0 kommt jede Ansage wieder dreimal hintereinander.
Workaround mit Timeout, wenn eine Ansage gerade aufgerufen wurde, habe ich auch probiert.
!
! function sayit(text,vol,instanz) { var IDLastSay = 'javascript.0.globalVar.lastSay'; var sayit_defaultVol = 100; var sayit_defaultSayItInstanz = 0; ! if (typeof instanz == "undefined") instanz = sayit_defaultSayItInstanz; if (!isNaN(instanz)) instanz = parseInt(instanz); if (isNaN(instanz)) instanz = sayit_defaultSayItInstanz; ! if (typeof vol == "undefined") vol = sayit_defaultVol; if (!isNaN(vol)) vol = parseInt(vol); if (isNaN(vol)) vol = sayit_defaultVol; ! var idSayIt = "sayit." + instanz + ".tts.text"; text = "de;" + vol.toString() + ";" + text; var lastSay = getState(IDLastSay).val; if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) { lastSay = setState(IDLastSay,(new Date()).getTime()); setState (idSayIt, text); } log(vol); log(text); ! } !
-
Mit der vorherigen Version von SayIt, wurde die Ansagen über SOnos korrekt abgespielt (1x).
Mit der neuen Version 1.0.0 kommt jede Ansage wieder dreimal hintereinander.
Workaround mit Timeout, wenn eine Ansage gerade aufgerufen wurde, habe ich auch probiert.
!
! function sayit(text,vol,instanz) { var IDLastSay = 'javascript.0.globalVar.lastSay'; var sayit_defaultVol = 100; var sayit_defaultSayItInstanz = 0; ! if (typeof instanz == "undefined") instanz = sayit_defaultSayItInstanz; if (!isNaN(instanz)) instanz = parseInt(instanz); if (isNaN(instanz)) instanz = sayit_defaultSayItInstanz; ! if (typeof vol == "undefined") vol = sayit_defaultVol; if (!isNaN(vol)) vol = parseInt(vol); if (isNaN(vol)) vol = sayit_defaultVol; ! var idSayIt = "sayit." + instanz + ".tts.text"; text = "de;" + vol.toString() + ";" + text; var lastSay = getState(IDLastSay).val; if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) { lastSay = setState(IDLastSay,(new Date()).getTime()); setState (idSayIt, text); } log(vol); log(text); ! } !
`
Dann hast du sayit 3 mal laufen.. Starte die Kiste neu. Ich habe nichts geändert. -
Mit der vorherigen Version von SayIt, wurde die Ansagen über SOnos korrekt abgespielt (1x).
Mit der neuen Version 1.0.0 kommt jede Ansage wieder dreimal hintereinander.
Dann hast du sayit 3 mal laufen.. Starte die Kiste neu. Ich habe nichts geändert.
Habe den Rechner neu gestartet und jetzt kommen die Ansagen wieder nur einmal.
Habe das Timeout rausgenommen und es ist auch OK.
Was heisst 3-mal laufen?
Ich habe dummerweise direkt den Reboot gemacht und vorher nicht nachgesehen, welche Prozesse liefen.
Hatte drei Instanzen, aber mit anderen Sonos-Zonen.
Du meintest, das die gleiche Instanz mehrfach aktiv war?
Egal wie… nach dem Reboot funktioniert es wieder
-
leider ist es trotz restart bei mir auch doppelt,
im sonos adapter findet sich der Eintrag das die Datei 3 mal abgespielt werden soll
nicht von sich selbst