Leider hänge ich immer noch an dem fileSelector. Im Dev-Server funktioniert das eigentlich gut. Am Testsystem aber nicht.
Ich habe den Adapter ganz leicht modifiziert so das ich statt dem fileSelector ein Eingabefeld verwende.
Damit funktioniert dann auch die Ankündigung wie vorgesehen.
NEWS
Latest posts made by fvp
-
RE: Sayit Adapter- Probleme nach Update
-
RE: Sayit Adapter- Probleme nach Update
Ich habe mir mal ein paar Logger-Ausgaben im Adapter erstellt und folgendes festgestellt:
let announce = testOptions && testOptions.announce !== undefined ? testOptions.announce : adapter.config.announce; adapter.log.info(`announce : ${announce}`); const annoTimeout = parseInt(testOptions && testOptions.annoTimeout !== undefined ? testOptions.annoTimeout : adapter.config.annoTimeout, 10); const task = {text, language, volume, onlyCache, ts: Date.now(), combined, testOptions}; // announce = '/opt/iobroker/iobroker-data/files/sayit.0/tts.userfiles/gong.mp3' // If more time than 15 seconds till last text, add announcement if (!onlyCache && announce && !tasks.length && (!lastSay || (Date.now() - lastSay > annoTimeout * 1000))) {
In Zeile 1 scheint 'announce' keinen Wert von der Adapter.config.announce zu erhalten. Dementsprechend ist das If in Zeile 8 nicht erfüllt. Dies wäre dann weiter dafür zuständig den Ankündigungston in die Queue zu bringen.
Wenn ich mit Zeile 6 "nachhelfe" funktioniert der Ankündigungston wie erwartet und ohne den Tipp von bahnuhr.
Damit vermute ich das der fileSelector keinen Wert liefert. Der sieht ja auch merkwürdig aus:
Muss mich jetzt erst mal weiter einlesen ob bzw. wie ich das weiter debuggen kann.
-
RE: Sayit Adapter- Probleme nach Update
Schade aber vielen Dank für deine Mühe @bahnuhr
-
RE: Sayit Adapter- Probleme nach Update
@bahnuhr
Ich möchte damit sagen: das von dir gezeigte Vorgehen, für das ich dankbar bin , geht daran vorbei wie der Adapter eigentlich konzipiert ist.Zu deiner Kritik.
Du sendest ja keine MP3 sondern übergibst dem Adapter den Pfad zur Datei. Sorry das ich nicht wusste das der Adapter das unterstützt und das du dies mit senden meinst. Das heißt doch aber nicht das ich mich mit dem Thema nicht beschäftigt habe !?Mal kritisch von mir:
Warum eigentlich dieser "scharfe" Ton und kein konstruktives Zusammenarbeiten ? -
RE: Sayit Adapter- Probleme nach Update
@bahnuhr
Das ist nicht von mir.
Ist ein Ausschnitt der Funktion addToQueue aus der main.js des Sayit Adapter. -
RE: Sayit Adapter- Probleme nach Update
@bahnuhr
Ich habe deinen Tipp gerade ausprobiert.
Als Workaround kann man das so machen.Aber die Idee hinter dem Adapter ist doch eigentlich das man sich darum nicht kümmern muss
// place as first the announcement mp3 tasks.push({ text: announce, language, volume: Math.round((volume || 70) / 100 * (parseInt(annoVolume, 10) || 50)), ts: task.ts, testOptions }); // and then text tasks.push(task);
-
RE: Sayit Adapter- Probleme nach Update
@bahnuhr
Erstmal vielen Dank für den Code.
Das ich an dieser Stelle auch eine Datei angeben kann habe ich noch nicht gewusst.
In der Hilfe steht hiersayit.N.tts.text: Phrase to be spoken.
Hast du den Ankündigungston im Adapter abgeschaltet ?
Ansonsten würde der Adapter in Zeile 2 ja versuchen diesen auszugeben ? -
RE: Sayit Adapter- Probleme nach Update
@bahnuhr Danke für die Rückmeldung! Da habe ich aktuell noch keine Idee wie ich das geht. Bis jetzt habe ich einfach den Datenpunkt sayit.0.tts.text oder die Blockly-Funktion genutzt.
-
RE: Sayit Adapter- Probleme nach Update
Ich habe Version 4.0 ausprobiert. Leider noch mit dem gleichen Problem.
Zum Test habe ich eine Windows VM genommen und die 3.0.5 dort probiert. Auch hier kein Ankündigungston .sayit.0 2023-12-12 12:02:29.026 error Cannot write file: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Object sayit.0 2023-12-12 12:02:29.016 info Upload announce mp3 files sayit.0 2023-12-12 12:02:29.012 info starting. Version 3.0.5 in C:/ioBroker/node_modules/iobroker.sayit, node: v18.19.0, js-controller: 5.0.16
Ich hoffe er erbarmt sich jemand mich zu Unterstützen.
-
RE: Sayit Adapter- Probleme nach Update
@meister-mopper Ich habe meinen Pi mal zum testen rausgekramt und aktualisiert. (Bullseye aktuell ; Node 18.18.2; ioBroker aktuell).
Audio über 3,5mm.
Sayit mit V3.0.5 ohne Vorversion
Auch hier leider kein Ankündigungston.
Getestet mit Typ System , Player mplayer und mpg321Meldungen im Log für mplayer
sayit.0 2023-10-22 09:52:33.051 info saying: hallo sayit.0 2023-10-22 09:52:27.724 error amixer is not available, so you may hear no audio. Install manually! sayit.0 2023-10-22 09:52:27.719 error stderr: amixer: Cannot find the given element from control default sayit.0 2023-10-22 09:52:27.635 error Cannot write file: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Object sayit.0 2023-10-22 09:52:27.564 info Upload announce mp3 files sayit.0 2023-10-22 09:52:27.524 info starting. Version 3.0.5 in /opt/iobroker/node_modules/iobroker.sayit, node: v18.18.2, js-controller: 5.0.12
Meldungen im Log für mpg321:
sayit.0 2023-10-22 09:54:46.984 error stderr: [0:00] Decoding of sayit.0.say.mp3 finished. sayit.0 2023-10-22 09:54:46.181 error stderr: Directory: /opt/iobroker/iobroker-data/sayitPlaying MPEG stream from sayit.0.say.mp3 ...MPEG 2.0 layer III, 32 kbit/s, 24000 Hz mono sayit.0 2023-10-22 09:54:46.178 error stderr: High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,now maintained by Nanakos Chrysostomos and others.Uses code from various people. See 'README' for more!THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!tcgetattr(): Inappropriate ioctl for device sayit.0 2023-10-22 09:54:45.542 info saying: Hallo sayit.0 2023-10-22 09:54:26.780 error Cannot write file: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Object sayit.0 2023-10-22 09:54:26.701 info Upload announce mp3 files sayit.0 2023-10-22 09:54:26.660 info starting. Version 3.0.5 in /opt/iobroker/node_modules/iobroker.sayit, node: v18.18.2, js-controller: 5.0.12
Auch das von @Bernd_M beschriebene Verhalten in der Oberfläche kann ich bestätigen.