NEWS
UNSOLVED [gelöst] BUG: sayit funktioniert bei win nicht zuverlässig.
-
@bahnuhr
@apollon77
Nur mal ins unreine:
Kann es sein, dass die Datei unter Windows gelocked wird und nicht wieder freigegeben ist.Habe solche Phänomene schon öfter bei Bild Dateien gehabt, die ich löschen wollte, nachdem ich sie angesehen hatte.
Obwohl sie nicht mehr in Viewer aktiv waren, könnten sie erst gelöscht werden nachdem ich eine neue Datei geöffnet hatte. -
@Homoran sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@bahnuhr
@apollon77
Nur mal ins unreine:
Kann es sein, dass die Datei unter Windows gelocked wird und nicht wieder freigegeben ist.Habe solche Phänomene schon öfter bei Bild Dateien gehabt, die ich löschen wollte, nachdem ich sie angesehen hatte.
Obwohl sie nicht mehr in Viewer aktiv waren, könnten sie erst gelöscht werden nachdem ich eine neue Datei geöffnet hatte.Mensch Rainer,
da könnte was dran sein.Habe per Script eine sayit2 erzeugt.
Diese wurde lt. log kopiert und lies sich dann auch aufrufen. Abgespielt mit wmp.
Dann eine sayit4 im Win Explorer angeklickt und diese wurde per wmp abgespielt.dann wieder per Script die nächste sayit2 erzeugt. Diesmal kein "busy" und die Datei wurde korrekt erstellt.
Ich teste nochmal ein bisschen weiter.
Wenn dies der Fehler ist, dann wäre folgender Woraround sinnvoll:- Bevor mp3 durch sayit erzeugt wird muss eine andere mp3 laufen; damit die sayit2 wieder freigegeben wird.
Aber;
Wie mach ich dies nun wieder ?
Habt ihr eine idee ?P.S.
Ich glaub wir kommen der Lösung näher. -
@bahnuhr Ich hab mal noch eins versucht ... Update nochmal.
Jetzt sollte (ja sollte weil selbst nicht getestet ...) unter ipbroker-data ein Vereichnis sayit angelegt werden und die Datei da drin landen ... also nicht mehr im "node-modules Bereich" ... ich hab irgendwie das gefphl das das vllt nicht die klügste Idee ist generell.Schau mal ob das was bringt bitte
-
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Bevor mp3 durch sayit erzeugt wird muss eine andere mp3 laufen; damit die sayit2 wieder freigegeben wird.
Aber das war doch schon mehrfach die Frage ... was genau du mit der Datei tust ... Und ja natürlich könnte ein Abspielprogramm die Datei blocken (es muss sich halt sauber beenden)
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Aber das war doch schon mehrfach die Frage ... was genau du mit der Datei tust ... Und ja natürlich könnte ein Abspielprogramm die Datei blocken (es muss sich halt sauber beenden)
Ich habe gar nichts mit der Datei gemacht. Nur per Script erstellt.
- script erstellt Datei
- nichts mit machen
- script erstellt neue Datei -> klappt nicht
-
@bahnuhr Naja ok dann ists ja aber nichts mit "jemand blockt Sie wegen abspielen"
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Ich hab mal noch eins versucht ... Update nochmal.
alles gelöscht; auch die Verzeichnisse.
rechner neu gestartet.Versucht über git zu laden; Fehler 25
-
@bahnuhr Fehler 25 sagt nur das irgendwas rechtemässig in deinem npm verzeichnis npm selbst blockt was zu tun. ein grund mehr ... schau was er anmeckert und lösche das manuell
-
ABER WARTE KURZ!!!! Die GitHub version hat nen Fehler ... lass mich nochmal fixen
-
JETZT bitte nochmal versuchen
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
JETZT bitte nochmal versuchen
Keine Datei im Ordner
sayit.0 2020-07-27 18:49:24.451 debug (21828) Duration "a b c ": 4 sayit.0 2020-07-27 18:49:24.442 info (21828) saying: a b c sayit.0 2020-07-27 18:49:15.433 debug (21828) Duration "C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3": 9 sayit.0 2020-07-27 18:49:15.379 info (21828) saying: C:\Program Files\iobroker\Test\node_modules\iobroker.sayit/gong.mp3 javascript.0 2020-07-27 18:49:15.375 info (27232) script.js.Test.sayit: registered 0 subscriptions and 0 schedules javascript.0 2020-07-27 18:49:15.370 info (27232) Start javascript script.js.Test.sayit javascript.0 2020-07-27 18:49:15.363 info (27232) Stop script script.js.Test.sayit sayit.0 2020-07-27 18:48:50.439 debug (21828) system.adapter.admin.0: logging true sayit.0 2020-07-27 18:48:44.846 info (21828) All files uploaded sayit.0 2020-07-27 18:48:44.714 info (21828) Upload announce mp3 files sayit.0 2020-07-27 18:48:44.692 info (21828) starting. Version 1.10.2 in C:/Program Files/iobroker/Test/node_modules/iobroker.sayit, node: v12.18.0, js-controller: 3.1.6 sayit.0 2020-07-27 18:48:44.460 debug (21828) Plugin sentry Initialize Plugin (enabled=true) sayit.0 2020-07-27 18:48:44.132 debug (21828) statesDB connected sayit.0 2020-07-27 18:48:44.132 debug (21828) States connected to redis: 127.0.0.1:9000 sayit.0 2020-07-27 18:48:44.102 debug (21828) States create System PubSub Client sayit.0 2020-07-27 18:48:44.081 debug (21828) States create User PubSub Client sayit.0 2020-07-27 18:48:44.055 debug (21828) Redis States: Use Redis connection: 127.0.0.1:9000 sayit.0 2020-07-27 18:48:44.054 debug (21828) objectDB connected sayit.0 2020-07-27 18:48:44.051 debug (21828) Objects connected to redis: 127.0.0.1:9013 sayit.0 2020-07-27 18:48:44.024 debug (21828) Objects client initialize lua scripts sayit.0 2020-07-27 18:48:44.023 debug (21828) Objects create User PubSub Client sayit.0 2020-07-27 18:48:44.023 debug (21828) Objects create System PubSub Client sayit.0 2020-07-27 18:48:43.844 debug (21828) Objects client ready ... initialize now sayit.0 2020-07-27 18:48:43.102 debug (21828) Redis Objects: Use Redis connection: 127.0.0.1:9013 host.Medion(Test) 2020-07-27 18:48:42.247 info instance system.adapter.sayit.0 started with pid 21828 host.Medion(Test) 2020-07-27 18:48:39.174 info instance system.adapter.sayit.0 terminated with code null () host.Medion(Test) 2020-07-27 18:48:39.173 warn instance system.adapter.sayit.0 terminated due to SIGTERM host.Medion(Test) 2020-07-27 18:48:39.138 info stopInstance timeout 1000 system.adapter.sayit.0 killing pid 25740 host.Medion(Test) 2020-07-27 18:48:38.124 info stopInstance system.adapter.sayit.0 (force=false, process=true) host.Medion(Test) 2020-07-27 18:48:09.929 info instance system.adapter.ical.0 terminated with code 0 (NO_ERROR) ical.0 2020-07-27 18:48:09.427 info (17472) Terminated (NO_ERROR): Without reason ical.0 2020-07-27 18:48:03.652 info (17472) processing URL: Sigi https://calendar.google.com/calendar/ical/sigiking1%40gmail.com/private-0889be050404ce26f3cfb9051ca62c90/basic.ics ical.0 2020-07-27 18:48:02.114 info (17472) starting. Version 1.7.0 in C:/Program Files/iobroker/Test/node_modules/iobroker.ical, node: v12.18.0, js-controller: 3.1.6 host.Medion(Test) 2020-07-27 18:48:00.216 info instance system.adapter.ical.0 started with pid 17472 javascript.0 2020-07-27 18:47:38.596 info (27232) script.js.Test.sayit: registered 0 subscriptions and 0 schedules
-
So,
Installation hat geklappt.mp3 wird jetzt gespeichert in:
C:\iobroker\iobroker-data\sayitIst das richtig ?
Oder wäre es nicht besser unter: ...iobroker-data/file/sayit.2Fazit:
busy kommt weiterhin wenn die Datei erzeugt wurde und keine vorher angeklickt wurde.Genauer:
mp3 erzeugt
nix gemacht
mp3 erzeugt -> busy
oder
mp3 erzeugt
andere mp3 angeklickt
mp3 erzeugt -> kein busy -
So, ich bin noch eins weiter !!
iob läuft auf nuc mit win10
sayit.2 hat die Instanz von nuc mit win10
sayit.4 hat die Instanz vom Surface im Wohnzimmer ebenfalls mit win10Wenn ich Script starte: setState('sayit.4.tts.text', "test ab2");
dann kann mann dies so viel ändern wie man will die mp3 wird korrekt erzeugt.Wenn ich Script starte: setState('sayit.2.tts.text', "test ab2");
dann kommt o.g. Verhalten.Fazit von mir:
Sayit.2 zeigt "busy" auf dem Rechner wo iob läuft.
Auf dem anderen Rechner wo iob nicht läuft klappt alles wie gewollt.Kann man dies verstehen ?
-
So, ich geb jetzt auf.
Hab gedacht ich hätte es.
wmp geschlossen und dann ging es.
Aber nur kurz.manchmal steht im log "copied" dann ist die mp3 richtig.
Aber manchmal auch nicht. Dann wird die mp3 richtig angesagt aber die Datei ist noch die alte.Ich versteh das nicht.
mfg
Dieter -
@bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
mp3 wird jetzt gespeichert in:
C:\iobroker\iobroker-data\sayit
Ist das richtig ?
Oder wäre es nicht besser unter: ...iobroker-data/file/sayit.2Ja korrekt. Und nein nicht in files/
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@bahnuhr Naja ok dann ists ja aber nichts mit "jemand blockt Sie wegen abspielen"
Es ist Windows selber, das die Datei nach dem schreiben noch nicht wieder freigibt.
Erst wenn Windows eine andere Datei anfassen muss lässt es die alte los.Zumindest war das meine Beobachtung
-
@Homoran sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
@bahnuhr Naja ok dann ists ja aber nichts mit "jemand blockt Sie wegen abspielen"
Es ist Windows selber, das die Datei nach dem schreiben noch nicht wieder freigibt.
Erst wenn Windows eine andere Datei anfassen muss lässt es die alte los.Zumindest war das meine Beobachtung
das kann schon sein.
Aber ne Lösung ist das nicht. -
na ok mit der Annahme ... lasst mich mal was versuchen
-
Bzw ... hast DU mal versucht das Caching einzuschalten? Dann wird in jedem Fall noch eine zweite Datei geschrieben
Vllt reicht das ja
-
@apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:
Bzw ... hast DU mal versucht das Caching einzuschalten? Dann wird in jedem Fall noch eine zweite Datei geschrieben
Vllt reicht das ja
wie und wo ist das ?