Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Sayit Adapter- Probleme nach Update

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Sayit Adapter- Probleme nach Update

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
51 Beiträge 10 Kommentatoren 6.2k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F fvp

    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.

    bahnuhrB Offline
    bahnuhrB Offline
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #35

    @fvp
    Sende erst das mp3
    und nach x Sek. dann den Text.

    Dies funktioniert.


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      fvp
      schrieb am zuletzt editiert von
      #36

      @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.

      bahnuhrB 1 Antwort Letzte Antwort
      0
      • F fvp

        @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.

        bahnuhrB Offline
        bahnuhrB Offline
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #37

        @fvp sagte in Sayit Adapter- Probleme nach Update:

        keine Idee wie ich das geht.

        Man muss halt auch mal die Hilfe der Adapter lesen.
        Bringt manchmal Erleuchtung.

        Denn da steht alles was du gerade suchst.


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Offline
          bahnuhrB Offline
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #38

          per js so:

          setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');
          setTimeout(function() { setState('sayit.x.tts.text', "Spülmaschine ist fertig.") } , 3000);
          

          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          F D 3 Antworten Letzte Antwort
          0
          • bahnuhrB bahnuhr

            per js so:

            setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');
            setTimeout(function() { setState('sayit.x.tts.text', "Spülmaschine ist fertig.") } , 3000);
            
            F Offline
            F Offline
            fvp
            schrieb am zuletzt editiert von
            #39

            @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 hier

            sayit.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 ?

            1 Antwort Letzte Antwort
            0
            • bahnuhrB bahnuhr

              per js so:

              setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');
              setTimeout(function() { setState('sayit.x.tts.text', "Spülmaschine ist fertig.") } , 3000);
              
              F Offline
              F Offline
              fvp
              schrieb am zuletzt editiert von
              #40

              @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);
              
              bahnuhrB 1 Antwort Letzte Antwort
              0
              • F fvp

                @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);
                
                bahnuhrB Offline
                bahnuhrB Offline
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #41

                @fvp

                Dein Script sagt jetzt aber absolut nix mit sayit.


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                F 1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  @fvp

                  Dein Script sagt jetzt aber absolut nix mit sayit.

                  F Offline
                  F Offline
                  fvp
                  schrieb am zuletzt editiert von
                  #42

                  @bahnuhr
                  Das ist nicht von mir.
                  Ist ein Ausschnitt der Funktion addToQueue aus der main.js des Sayit Adapter.

                  bahnuhrB 1 Antwort Letzte Antwort
                  0
                  • F fvp

                    @bahnuhr
                    Das ist nicht von mir.
                    Ist ein Ausschnitt der Funktion addToQueue aus der main.js des Sayit Adapter.

                    bahnuhrB Offline
                    bahnuhrB Offline
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #43

                    @fvp sagte in Sayit Adapter- Probleme nach Update:

                    Funktion addToQueue aus der main.js des Sayit Adapter.

                    Uns was willst du jetzt damit ?

                    mal kritisch von mir:
                    Du weißt nicht wie man eine mp3 sendet.
                    und dann beschäftigst du dich mit der main.js

                    Passt m.E. nicht zusammen.

                    Aber einen workflow von mir hast du ja jetzt.


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    F 1 Antwort Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @fvp sagte in Sayit Adapter- Probleme nach Update:

                      Funktion addToQueue aus der main.js des Sayit Adapter.

                      Uns was willst du jetzt damit ?

                      mal kritisch von mir:
                      Du weißt nicht wie man eine mp3 sendet.
                      und dann beschäftigst du dich mit der main.js

                      Passt m.E. nicht zusammen.

                      Aber einen workflow von mir hast du ja jetzt.

                      F Offline
                      F Offline
                      fvp
                      schrieb am zuletzt editiert von
                      #44

                      @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 ? ✌

                      bahnuhrB 1 Antwort Letzte Antwort
                      0
                      • F fvp

                        @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 ? ✌

                        bahnuhrB Offline
                        bahnuhrB Offline
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von bahnuhr
                        #45

                        @fvp sagte in Sayit Adapter- Probleme nach Update:

                        "scharfe" Ton

                        War kein scharfer Ton.
                        Ganz im Gegenteil; habe dir sogar eine Script Vorlage frei Haus geliefert.

                        Aber ich habe dir am Anfang geschrieben du sollst du Hilfe lesen.
                        Was du nicht gemacht hast.
                        Und dann aber die main.js durchwühlen.

                        Und dies finde ich halt falsch.

                        Aber da du anscheinend empfinglich bist, bin ich jetzt raus.
                        keine Hilfe mehr von mir.
                        Schönen Abend dir.


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        F 1 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @fvp sagte in Sayit Adapter- Probleme nach Update:

                          "scharfe" Ton

                          War kein scharfer Ton.
                          Ganz im Gegenteil; habe dir sogar eine Script Vorlage frei Haus geliefert.

                          Aber ich habe dir am Anfang geschrieben du sollst du Hilfe lesen.
                          Was du nicht gemacht hast.
                          Und dann aber die main.js durchwühlen.

                          Und dies finde ich halt falsch.

                          Aber da du anscheinend empfinglich bist, bin ich jetzt raus.
                          keine Hilfe mehr von mir.
                          Schönen Abend dir.

                          F Offline
                          F Offline
                          fvp
                          schrieb am zuletzt editiert von
                          #46

                          Schade aber vielen Dank für deine Mühe @bahnuhr

                          F 1 Antwort Letzte Antwort
                          0
                          • F fvp

                            Schade aber vielen Dank für deine Mühe @bahnuhr

                            F Offline
                            F Offline
                            fvp
                            schrieb am zuletzt editiert von
                            #47

                            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:
                            ed9a3608-90fd-40bc-865c-1d2b6f6cc0a9-grafik.png

                            Muss mich jetzt erst mal weiter einlesen ob bzw. wie ich das weiter debuggen kann.

                            M 1 Antwort Letzte Antwort
                            0
                            • F fvp

                              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:
                              ed9a3608-90fd-40bc-865c-1d2b6f6cc0a9-grafik.png

                              Muss mich jetzt erst mal weiter einlesen ob bzw. wie ich das weiter debuggen kann.

                              M Offline
                              M Offline
                              maxpd
                              schrieb am zuletzt editiert von maxpd
                              #48

                              deleteddd

                              Gruß
                              maxpd

                              Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                              1 Antwort Letzte Antwort
                              0
                              • F Offline
                                F Offline
                                fvp
                                schrieb am zuletzt editiert von
                                #49

                                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.
                                e8db19b3-0443-4251-a3c6-0d28a46b8b8f-grafik.png

                                1 Antwort Letzte Antwort
                                0
                                • bahnuhrB bahnuhr

                                  per js so:

                                  setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');
                                  setTimeout(function() { setState('sayit.x.tts.text', "Spülmaschine ist fertig.") } , 3000);
                                  
                                  D Offline
                                  D Offline
                                  drapo
                                  schrieb am zuletzt editiert von
                                  #50

                                  @bahnuhr sagte in Sayit Adapter- Probleme nach Update:

                                  setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');

                                  vielen dank für diesen Ansatz der hat mir gerade sehr weitergeholfen und ist um ehrlich zu sein die einzige methode die wirklich funktioniert mit sayit und meinem sonos system.

                                  da ich alle meine Skripte als Blockly am Laufen hab, wie würde das aussehen ein file zu übergeben? weisst du das allenfalls?

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • D drapo

                                    @bahnuhr sagte in Sayit Adapter- Probleme nach Update:

                                    setState('sayit.x.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/xxx.mp3');

                                    vielen dank für diesen Ansatz der hat mir gerade sehr weitergeholfen und ist um ehrlich zu sein die einzige methode die wirklich funktioniert mit sayit und meinem sonos system.

                                    da ich alle meine Skripte als Blockly am Laufen hab, wie würde das aussehen ein file zu übergeben? weisst du das allenfalls?

                                    D Offline
                                    D Offline
                                    drapo
                                    schrieb am zuletzt editiert von drapo
                                    #51

                                    @drapo @drapo so gehts mittels blockly

                                    f6bd29b7-6c16-49f6-8aca-1ec5196e16d5-grafik.png

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    362

                                    Online

                                    32.4k

                                    Benutzer

                                    81.4k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe