Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. [gelöst] BUG: sayit funktioniert bei win nicht zuverlässig.

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    719

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] BUG: sayit funktioniert bei win nicht zuverlässig.

Geplant Angeheftet Gesperrt Verschoben Ungelöst Error/Bug
bugsayit
95 Beiträge 6 Kommentatoren 6.6k Aufrufe 5 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.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #74

    noch ne Frage:

    Bei Objekt: sayit.2.tts.mp3
    ist ein Link genannt; der bei klick die mp3 abspielt.

    Kann man diesen Link auch per Script irgendwie als Datei (also die mp3) speichern?

    Wäre ja dann auch eine Möglichkeit an die mp3 zu kommen.


    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

    apollon77A 1 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von bahnuhr
      #75

      ach, mist auch:

      jetzt hab ichs wieder:

      sayit.2	2020-07-28 15:17:01.239	debug	(6764) Duration "testxyz": 0
      sayit.2	2020-07-28 15:17:01.239	error	(6764) File error: Error: EBUSY: resource busy or locked, open 'C:\iobroker\iobroker-data\sayit/sayit.2.say.mp3'
      sayit.2	2020-07-28 15:16:59.902	debug	(6764) Status code: 200
      sayit.2	2020-07-28 15:16:59.697	debug	(6764) Cache File C:\iobroker\cache\107eab35c9bd3e4d332655f0ea83ab40.mp3 for "de-DE_CLOUD_Female;testxyz" not found
      sayit.2	2020-07-28 15:16:59.697	info	(6764) saying: testxyz
      

      Ich hatte mal wmp angeklickt.
      Vielleicht hat wmp die Datei geblockt.


      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 bahnuhr

        noch ne Frage:

        Bei Objekt: sayit.2.tts.mp3
        ist ein Link genannt; der bei klick die mp3 abspielt.

        Kann man diesen Link auch per Script irgendwie als Datei (also die mp3) speichern?

        Wäre ja dann auch eine Möglichkeit an die mp3 zu kommen.

        apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von
        #76

        @bahnuhr Hm ... vllt kopiert er nicht wenn er ein gecachtes File nutzt ... ich schaue mal

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #77

          Ääähm ja genau ... Das Copy file" macht er nur um das Ergebnisfile in den Cache zu kopieren das man nicht jedes mal beim gleichen Text das File neu generieren muss.

          AM End eist die Grundfrage ob da nicht ein gewisses Missverständnis herrscht: Ich glaube das C:\iobroker\iobroker-data\sayit/sayit.2.say.mp3 file ist nie wirklich dazu gedacht genutzt zu werden oder?! Da sist nur ein "Intermediate" FIle und wird ausgegeben. Sonst wird das gecachte File ausgegeben ...

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          bahnuhrB 1 Antwort Letzte Antwort
          0
          • apollon77A apollon77

            Ääähm ja genau ... Das Copy file" macht er nur um das Ergebnisfile in den Cache zu kopieren das man nicht jedes mal beim gleichen Text das File neu generieren muss.

            AM End eist die Grundfrage ob da nicht ein gewisses Missverständnis herrscht: Ich glaube das C:\iobroker\iobroker-data\sayit/sayit.2.say.mp3 file ist nie wirklich dazu gedacht genutzt zu werden oder?! Da sist nur ein "Intermediate" FIle und wird ausgegeben. Sonst wird das gecachte File ausgegeben ...

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #78

            @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

            Ääähm ja genau ... Das Copy file" macht er nur um das Ergebnisfile in den Cache zu kopieren das man nicht jedes mal beim gleichen Text das File neu generieren muss.

            Kann man das ändern; und zwar so, dass das mp3 immer erzeugt wird.

            Habe festgestellt, dass das mp3 auch nicht erzeugt wird, wenn der gleiche Text etwas zurück liegt; und nicht wie gedacht nur das letzte mal.


            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

            apollon77A 1 Antwort Letzte Antwort
            0
            • bahnuhrB bahnuhr

              @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

              Ääähm ja genau ... Das Copy file" macht er nur um das Ergebnisfile in den Cache zu kopieren das man nicht jedes mal beim gleichen Text das File neu generieren muss.

              Kann man das ändern; und zwar so, dass das mp3 immer erzeugt wird.

              Habe festgestellt, dass das mp3 auch nicht erzeugt wird, wenn der gleiche Text etwas zurück liegt; und nicht wie gedacht nur das letzte mal.

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #79

              @bahnuhr Ok, dann nochmal: Was willst Du mit exakt diesem File tun? Warum sollte es da sein? Ich glaube wirklich das es um ein fundamentales Missverständnis geht wie der Adapter funktionieren soll.

              Der Adapter ist quasi zweigeteilt:
              1.) Text to Speech File ... also ein MP3 (nicht unbediengt das sondern ggf auch ein gecachtes auswählen
              2.) Ausgabe der Datei. Hier landet es in einem Binary State und wird ggf im browser, per mpd oder Sonos oder whatever ausgegeben.

              An sich musst Du nicht an das File ran - und wenn ist denke der saubere Weg es sich aus dem State zu holen.

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              bahnuhrB 1 Antwort Letzte Antwort
              0
              • apollon77A apollon77

                @bahnuhr Ok, dann nochmal: Was willst Du mit exakt diesem File tun? Warum sollte es da sein? Ich glaube wirklich das es um ein fundamentales Missverständnis geht wie der Adapter funktionieren soll.

                Der Adapter ist quasi zweigeteilt:
                1.) Text to Speech File ... also ein MP3 (nicht unbediengt das sondern ggf auch ein gecachtes auswählen
                2.) Ausgabe der Datei. Hier landet es in einem Binary State und wird ggf im browser, per mpd oder Sonos oder whatever ausgegeben.

                An sich musst Du nicht an das File ran - und wenn ist denke der saubere Weg es sich aus dem State zu holen.

                bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #80

                @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                Was willst Du mit exakt diesem File tun?

                Hatte ich oben schon geschrieben.
                Ich möchte eine mp3 kopieren um Sie dann Yamaha musiccast zur Verfügung zu stellen.
                Also: Ansage eines Textes über Yamaha Lautsprecher.

                Dies funktioniert auch soweit. Nur brauche ich halt zuverlässig die mp3.

                @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                denke der saubere Weg es sich aus dem State zu holen.

                Ok, das wäre doch ein Weg. (Du meinst doch dieses Objekt, oder ?: sayit.2.tts.mp3)
                Kannst du mir sagen, wie man dies macht. Wenn ich auf den State klicke wird die Datei ja wiedergegeben.
                Als konkrete Frage:
                Wie speichere ich den Statte als mp3?

                mfg
                Dieter


                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

                sigi234S 1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                  Was willst Du mit exakt diesem File tun?

                  Hatte ich oben schon geschrieben.
                  Ich möchte eine mp3 kopieren um Sie dann Yamaha musiccast zur Verfügung zu stellen.
                  Also: Ansage eines Textes über Yamaha Lautsprecher.

                  Dies funktioniert auch soweit. Nur brauche ich halt zuverlässig die mp3.

                  @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                  denke der saubere Weg es sich aus dem State zu holen.

                  Ok, das wäre doch ein Weg. (Du meinst doch dieses Objekt, oder ?: sayit.2.tts.mp3)
                  Kannst du mir sagen, wie man dies macht. Wenn ich auf den State klicke wird die Datei ja wiedergegeben.
                  Als konkrete Frage:
                  Wie speichere ich den Statte als mp3?

                  mfg
                  Dieter

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #81

                  @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                  Also: Ansage eines Textes über Yamaha Lautsprecher.

                  Geht das nicht direkt via XML Command?
                  Welchen Yamaha Lautsprecher hast du?

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  bahnuhrB 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                    Also: Ansage eines Textes über Yamaha Lautsprecher.

                    Geht das nicht direkt via XML Command?
                    Welchen Yamaha Lautsprecher hast du?

                    bahnuhrB Online
                    bahnuhrB Online
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #82

                    @sigi234 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                    @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                    Also: Ansage eines Textes über Yamaha Lautsprecher.

                    Geht das nicht direkt via XML Command?
                    Welchen Yamaha Lautsprecher hast du?

                    Text vielleicht.
                    Sound nein.

                    Lautsprecher: 10, 20, 30


                    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

                      @sigi234 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                      @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                      Also: Ansage eines Textes über Yamaha Lautsprecher.

                      Geht das nicht direkt via XML Command?
                      Welchen Yamaha Lautsprecher hast du?

                      Text vielleicht.
                      Sound nein.

                      Lautsprecher: 10, 20, 30

                      F Offline
                      F Offline
                      fastfoot
                      schrieb am zuletzt editiert von
                      #83

                      @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                      Wie speichere ich den Statte als mp3?

                      evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                      const fs = require('fs');
                      const url = 'http://ip:8082/state/sayit.0.tts.mp3';
                      const outfile = './Test.mp3';
                      setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                      setTimeout(function(){
                          request(url, {encoding:'binary'}, function(error, response, body) {
                              fs.writeFile(outfile, body, 'binary', function (err) {
                                  if(err) log('Fehler!');
                              });                
                          });
                      }, 2000);
                      

                      iobroker läuft unter Docker auf QNAP TS-451+
                      SkriptRecovery: https://forum.iobroker.net/post/930558

                      bahnuhrB F 2 Antworten Letzte Antwort
                      1
                      • F fastfoot

                        @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                        Wie speichere ich den Statte als mp3?

                        evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                        const fs = require('fs');
                        const url = 'http://ip:8082/state/sayit.0.tts.mp3';
                        const outfile = './Test.mp3';
                        setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                        setTimeout(function(){
                            request(url, {encoding:'binary'}, function(error, response, body) {
                                fs.writeFile(outfile, body, 'binary', function (err) {
                                    if(err) log('Fehler!');
                                });                
                            });
                        }, 2000);
                        
                        bahnuhrB Online
                        bahnuhrB Online
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #84

                        @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                        @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                        Wie speichere ich den Statte als mp3?

                        evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                        const fs = require('fs');
                        const url = 'http://ip:8082/state/sayit.0.tts.mp3';
                        const outfile = './Test.mp3';
                        setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                        setTimeout(function(){
                            request(url, {encoding:'binary'}, function(error, response, body) {
                                fs.writeFile(outfile, body, 'binary', function (err) {
                                    if(err) log('Fehler!');
                                });                
                            });
                        }, 2000);
                        

                        Super,cool.
                        Das probier ich heute abend gleich aus.
                        Danke.


                        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
                        • F fastfoot

                          @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                          Wie speichere ich den Statte als mp3?

                          evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                          const fs = require('fs');
                          const url = 'http://ip:8082/state/sayit.0.tts.mp3';
                          const outfile = './Test.mp3';
                          setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                          setTimeout(function(){
                              request(url, {encoding:'binary'}, function(error, response, body) {
                                  fs.writeFile(outfile, body, 'binary', function (err) {
                                      if(err) log('Fehler!');
                                  });                
                              });
                          }, 2000);
                          
                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #85

                          @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                          evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                          hier noch eine Version für die Blockly Fraktion
                          Sayit.PNG

                          <xml xmlns="https://developers.google.com/blockly/xml">
                           <variables>
                             <variable id="W~_^HE%Iga5n.*fPdW;B">outfile</variable>
                             <variable id="z_pVL7.qbcGrbBrmTenF">url</variable>
                             <variable id="]^eO7?rtWHTfOD)d{,je">cmd</variable>
                             <variable type="timeout" id="timeout">timeout</variable>
                           </variables>
                           <block type="variables_set" id="K!1=]xXNLcV%_;O8_moY" x="45" y="78">
                             <field name="VAR" id="W~_^HE%Iga5n.*fPdW;B">outfile</field>
                             <value name="VALUE">
                               <block type="text" id="D~q[!co?DcpN8GJ^Gm]E">
                                 <field name="TEXT">./tst.mp3</field>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="UbHJQ7(P?2U*Y39|s_wx">
                                 <field name="VAR" id="z_pVL7.qbcGrbBrmTenF">url</field>
                                 <value name="VALUE">
                                   <block type="text" id="Y9N`m/ks7.Lh^~NFl{`)">
                                     <field name="TEXT">localhost:8082/state/sayit.0.tts.mp3</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="!Rv8i+YxzgFe|-!vV43%">
                                     <field name="VAR" id="]^eO7?rtWHTfOD)d{,je">cmd</field>
                                     <value name="VALUE">
                                       <block type="text_join" id="mPNwYvTJ@8l:/Db*G*R2" inline="true">
                                         <mutation items="4"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="L[7r6VHfZH5DFuXa:ssB">
                                             <field name="TEXT">curl -sL </field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="variables_get" id="`$*khLv1k;:oTW]_f8Qv">
                                             <field name="VAR" id="z_pVL7.qbcGrbBrmTenF">url</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="text" id="4DPjK%Ap5|n:LQ^2C0t=">
                                             <field name="TEXT"> &gt; </field>
                                           </block>
                                         </value>
                                         <value name="ADD3">
                                           <block type="variables_get" id="{x:z]6MCBt`v`$mRN?rh">
                                             <field name="VAR" id="W~_^HE%Iga5n.*fPdW;B">outfile</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="control" id="T9GI)E(k5$yyI;?/r;%?">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">sayit.0.tts.text</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="text" id="!}aB{aNW!yhWO|KPonc=">
                                             <field name="TEXT">Hallo, dies ist ein echt unnützer Text</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="timeouts_settimeout" id="se9)rFor]=weJDW=dYd%">
                                             <field name="NAME">timeout</field>
                                             <field name="DELAY">2000</field>
                                             <field name="UNIT">ms</field>
                                             <statement name="STATEMENT">
                                               <block type="exec" id=";f7mWOxP)C:ATEQq=CCc">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                 <field name="WITH_STATEMENT">FALSE</field>
                                                 <field name="LOG"></field>
                                                 <value name="COMMAND">
                                                   <shadow type="text" id="u-?64-sg%3,3/7HCl.-r">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="variables_get" id="[bCY$YRq2es63B$Q`NPQ">
                                                     <field name="VAR" id="]^eO7?rtWHTfOD)d{,je">cmd</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                          </xml>
                          

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          1 Antwort Letzte Antwort
                          0
                          • apollon77A Offline
                            apollon77A Offline
                            apollon77
                            schrieb am zuletzt editiert von
                            #86

                            ein getBinaryState ist denke einfacher als der http Request (ok macht am Ende das gleiche)

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            bahnuhrB 1 Antwort Letzte Antwort
                            1
                            • apollon77A apollon77

                              ein getBinaryState ist denke einfacher als der http Request (ok macht am Ende das gleiche)

                              bahnuhrB Online
                              bahnuhrB Online
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #87

                              @apollon77 sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                              getBinaryState

                              Gib uns mal ein Beispiel.


                              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 bahnuhr

                                @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                Wie speichere ich den Statte als mp3?

                                evtl. musst du noch den timeout anpassen, je nach Länge deines Textes

                                const fs = require('fs');
                                const url = 'http://ip:8082/state/sayit.0.tts.mp3';
                                const outfile = './Test.mp3';
                                setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                                setTimeout(function(){
                                    request(url, {encoding:'binary'}, function(error, response, body) {
                                        fs.writeFile(outfile, body, 'binary', function (err) {
                                            if(err) log('Fehler!');
                                        });                
                                    });
                                }, 2000);
                                

                                Super,cool.
                                Das probier ich heute abend gleich aus.
                                Danke.

                                F Offline
                                F Offline
                                fastfoot
                                schrieb am zuletzt editiert von
                                #88

                                @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                Das probier ich heute abend gleich aus.

                                funktioniert es denn jetzt wie gewünscht?

                                iobroker läuft unter Docker auf QNAP TS-451+
                                SkriptRecovery: https://forum.iobroker.net/post/930558

                                bahnuhrB 1 Antwort Letzte Antwort
                                0
                                • F fastfoot

                                  @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                  Das probier ich heute abend gleich aus.

                                  funktioniert es denn jetzt wie gewünscht?

                                  bahnuhrB Online
                                  bahnuhrB Online
                                  bahnuhr
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von bahnuhr
                                  #89

                                  @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                  @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                  Das probier ich heute abend gleich aus.

                                  funktioniert es denn jetzt wie gewünscht?

                                  Also folgendes Fazit nach meinen Tests:

                                  a) Datei sayit.2.say.mp3
                                  Die Datei wird ja jetzt gespeichert unter: C:\iobroker\iobroker-data\sayit
                                  Dies funktioniert aber nicht zuverlässig. Manchmal wird sie nicht gespeichert.

                                  b) cache Datei
                                  Hier wird ja auch die mp3 gespeichert; als Zufallszahl.mp3
                                  Deshalb hab ich probiert immer die neueste Datei zu lesen (siehe anderer Thread).
                                  Die neueste Datei hab ich auch ermittelt bekommen; jedoch ist es durch den Adapter nicht gesagt, dass zuverlässig die aktuell gewollte neueste Version gespeichert ist. Also auch nicht zuverlässig.

                                  c) state: sayit.2.tts.mp3
                                  Unter diesem objekt ist ein Link gespeichert. Und dieser enthält zuverlässig !!! die aktuelle mp3.
                                  Durch o.g. Script von @fastfoot konnte ich zuverlässig die mp3 kopieren und damit weiter arbeiten.

                                  Gesamt:
                                  a und b ist nicht zuverlässig.
                                  c hat zuverlässig geklappt.

                                  Noch ein Problem hatte ich:
                                  Ich benutze den Windows Media Player zum streamen ins Netz. Die Datei wurde dann per Script gelöscht. Diese Löschung hat auch nicht zuverlässig gelöscht. WMP hat die Datei offensichtlich für x Sek./Min. geblockt.
                                  Also Alternative gesucht und gefunden:
                                  Programm: universal media server
                                  Das Programm ist kostenlos und funktioniert bisher einwandfrei. die Datei wird auch sofort frei gelassen und man kann sie per script sofort löschen.

                                  Insgesamt Danke an alle die hier mit gelesen und zur Lösung beigetragen haben. Bin da jetzt schon mehrere Monate/Jahre dran.
                                  Aber wie immer: wenn man weiß wie es geht, ist es einfach.

                                  Nochmals Danke.
                                  (Thread kennzeichne ich mal als gelöst und issue bei sayit nehm ich auch raus.

                                  mfg
                                  Dieter


                                  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 apollon77A 2 Antworten Letzte Antwort
                                  0
                                  • bahnuhrB bahnuhr

                                    @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                    @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                    Das probier ich heute abend gleich aus.

                                    funktioniert es denn jetzt wie gewünscht?

                                    Also folgendes Fazit nach meinen Tests:

                                    a) Datei sayit.2.say.mp3
                                    Die Datei wird ja jetzt gespeichert unter: C:\iobroker\iobroker-data\sayit
                                    Dies funktioniert aber nicht zuverlässig. Manchmal wird sie nicht gespeichert.

                                    b) cache Datei
                                    Hier wird ja auch die mp3 gespeichert; als Zufallszahl.mp3
                                    Deshalb hab ich probiert immer die neueste Datei zu lesen (siehe anderer Thread).
                                    Die neueste Datei hab ich auch ermittelt bekommen; jedoch ist es durch den Adapter nicht gesagt, dass zuverlässig die aktuell gewollte neueste Version gespeichert ist. Also auch nicht zuverlässig.

                                    c) state: sayit.2.tts.mp3
                                    Unter diesem objekt ist ein Link gespeichert. Und dieser enthält zuverlässig !!! die aktuelle mp3.
                                    Durch o.g. Script von @fastfoot konnte ich zuverlässig die mp3 kopieren und damit weiter arbeiten.

                                    Gesamt:
                                    a und b ist nicht zuverlässig.
                                    c hat zuverlässig geklappt.

                                    Noch ein Problem hatte ich:
                                    Ich benutze den Windows Media Player zum streamen ins Netz. Die Datei wurde dann per Script gelöscht. Diese Löschung hat auch nicht zuverlässig gelöscht. WMP hat die Datei offensichtlich für x Sek./Min. geblockt.
                                    Also Alternative gesucht und gefunden:
                                    Programm: universal media server
                                    Das Programm ist kostenlos und funktioniert bisher einwandfrei. die Datei wird auch sofort frei gelassen und man kann sie per script sofort löschen.

                                    Insgesamt Danke an alle die hier mit gelesen und zur Lösung beigetragen haben. Bin da jetzt schon mehrere Monate/Jahre dran.
                                    Aber wie immer: wenn man weiß wie es geht, ist es einfach.

                                    Nochmals Danke.
                                    (Thread kennzeichne ich mal als gelöst und issue bei sayit nehm ich auch raus.

                                    mfg
                                    Dieter

                                    F Offline
                                    F Offline
                                    fastfoot
                                    schrieb am zuletzt editiert von
                                    #90

                                    @bahnuhr sagte in [gelöst] BUG: sayit funktioniert bei win nicht zuverlässig.:

                                    Durch o.g. Script von @fastfoot konnte ich zuverlässig die mp3 kopieren und damit weiter arbeiten.

                                    Schön dass es endlich funktioniert, hier dann noch die Version mit getBinaryState(), die hat den Vorteil, dass man keine URL braucht sondern direkt mit dem DP arbeiten kann, ausserdem muss bei den beiden anderen Versionen jeweils der WEB-Adapter laufen, das ist hier nicht nötig.

                                    const fs = require('fs');
                                    const idMP3 = 'sayit.0.tts.mp3';
                                    const outfile = '/opt/iobroker/Test.mp3';
                                    
                                    setState('sayit.0.tts.text','Hallo, dies ist ein ziemlich unnützer Text');
                                    
                                    setTimeout(function(){
                                        getBinaryState(idMP3, function (err, data) {
                                            fs.writeFile(outfile, data, function (err) {
                                                if(err) log('Fehler!');
                                            });                
                                        });
                                    }, 2000);
                                    

                                    iobroker läuft unter Docker auf QNAP TS-451+
                                    SkriptRecovery: https://forum.iobroker.net/post/930558

                                    1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB bahnuhr

                                      @fastfoot sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                      @bahnuhr sagte in BUG: sayit funktioniert unter win nicht zuverlässig.:

                                      Das probier ich heute abend gleich aus.

                                      funktioniert es denn jetzt wie gewünscht?

                                      Also folgendes Fazit nach meinen Tests:

                                      a) Datei sayit.2.say.mp3
                                      Die Datei wird ja jetzt gespeichert unter: C:\iobroker\iobroker-data\sayit
                                      Dies funktioniert aber nicht zuverlässig. Manchmal wird sie nicht gespeichert.

                                      b) cache Datei
                                      Hier wird ja auch die mp3 gespeichert; als Zufallszahl.mp3
                                      Deshalb hab ich probiert immer die neueste Datei zu lesen (siehe anderer Thread).
                                      Die neueste Datei hab ich auch ermittelt bekommen; jedoch ist es durch den Adapter nicht gesagt, dass zuverlässig die aktuell gewollte neueste Version gespeichert ist. Also auch nicht zuverlässig.

                                      c) state: sayit.2.tts.mp3
                                      Unter diesem objekt ist ein Link gespeichert. Und dieser enthält zuverlässig !!! die aktuelle mp3.
                                      Durch o.g. Script von @fastfoot konnte ich zuverlässig die mp3 kopieren und damit weiter arbeiten.

                                      Gesamt:
                                      a und b ist nicht zuverlässig.
                                      c hat zuverlässig geklappt.

                                      Noch ein Problem hatte ich:
                                      Ich benutze den Windows Media Player zum streamen ins Netz. Die Datei wurde dann per Script gelöscht. Diese Löschung hat auch nicht zuverlässig gelöscht. WMP hat die Datei offensichtlich für x Sek./Min. geblockt.
                                      Also Alternative gesucht und gefunden:
                                      Programm: universal media server
                                      Das Programm ist kostenlos und funktioniert bisher einwandfrei. die Datei wird auch sofort frei gelassen und man kann sie per script sofort löschen.

                                      Insgesamt Danke an alle die hier mit gelesen und zur Lösung beigetragen haben. Bin da jetzt schon mehrere Monate/Jahre dran.
                                      Aber wie immer: wenn man weiß wie es geht, ist es einfach.

                                      Nochmals Danke.
                                      (Thread kennzeichne ich mal als gelöst und issue bei sayit nehm ich auch raus.

                                      mfg
                                      Dieter

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #91

                                      @bahnuhr hey, ich kann am Ende mur wiederholen was ich oben schon zu a gesagt habe: diese Datei ist niemals für eine direkte Benutzung gedacht gewesen. Auch die Cache files nicht.

                                      Von daher ist Lösung c die sinnvollste und richtige.

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      1 Antwort Letzte Antwort
                                      0
                                      • bahnuhrB Online
                                        bahnuhrB Online
                                        bahnuhr
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #92

                                        @apollon77
                                        @fastfoot

                                        Ja, nochmals Danke an euch beide.
                                        Ohne den Input hätte ich dies nicht geschafft.


                                        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

                                        apollon77A 1 Antwort Letzte Antwort
                                        0
                                        • bahnuhrB bahnuhr

                                          @apollon77
                                          @fastfoot

                                          Ja, nochmals Danke an euch beide.
                                          Ohne den Input hätte ich dies nicht geschafft.

                                          apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          schrieb am zuletzt editiert von
                                          #93

                                          Bitte testet mal 1.11.0 ob noch alles tut wie bisher

                                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                          F 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

                                          433

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe