Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MP3 Datei verschieben (Sayit)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    MP3 Datei verschieben (Sayit)

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Joker971 last edited by

      Hi,

      danke für deine Antwort aber könntest du das noch ein bischen erläutern ? Wenn ich das so einfüge bekomme ich im Log folgendes angezeigt: Cannot find module 'C:\ioBroker\node_modules\iobroker.javascript/node_modules/mv'

      1 Reply Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer last edited by

        'MV' scheint standard mässig nicht installiert zu sein. Das heißt du musst es in der JavaScript Adapter Konfiguration eintragen, da ist ein Feld für zusätzliche Pakete. Dort einfach: mv reinschreiben. Der Rest passiert automatisch. Dann sollte es funktionieren.

        Gesendet von Unterwegs

        1 Reply Last reply Reply Quote 0
        • J
          Joker971 last edited by

          Hi,

          danke, die Fehlermeldung ist jetzt weg….aber kopieren tuts trotzdem nicht 😞

          Folgendes hab ich geschrieben:

          mv('C:\ioBroker\node_modules\iobroker.sayit\say.mp3', '\\192.168.123.15\music\Durchsagen\say.mp3', function(err) { });
          

          Stimmt da vielleicht etwas mit den Pfaden nicht ?

          Im Log sieht alles gut aus…keine Fehler.

          1 Reply Last reply Reply Quote 0
          • Jey Cee
            Jey Cee Developer last edited by

            Sehr wahrscheinlich hat es was mit den Pfaden zu tun. Ich denke es liegt am Zielpfad kann dir hier aber nicht helfen, da musst du einfach probieren und Google befragen.

            Fehlermeldung bekommst du mit: log(err) innerhalb der function.

            Gesendet von Unterwegs

            1 Reply Last reply Reply Quote 0
            • J
              Joker971 last edited by

              Hi,

              ja danke soweit. Tja so wie ich lesen musste ist es wohl ziemlich aussichtslos mit Java eine Datei auf einen anderen Rechner zu kopieren 😞

              Hat vielleicht jemand eine andere Lösung wie ich squeezebox diese MP3 zukommen lassen könnte ?

              1 Reply Last reply Reply Quote 0
              • Jey Cee
                Jey Cee Developer last edited by

                Wenn du den Ordner der squeezbox als netzlaufwerk einbindest geht es auch nicht?

                Gesendet von Unterwegs

                1 Reply Last reply Reply Quote 0
                • uweklatt
                  uweklatt last edited by

                  Hallo,@Joker971:

                  Hat vielleicht jemand eine andere Lösung wie ich squeezebox diese MP3 zukommen lassen könnte ? ` Wenn vorhanden, kannst Du evtl. das Systemkommando "ftpput" oder "scp" verwenden.

                  Tschau

                  Uwe

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @Joker971:

                    Hi,

                    danke, die Fehlermeldung ist jetzt weg….aber kopieren tuts trotzdem nicht 😞

                    Folgendes hab ich geschrieben:

                    mv('C:\ioBroker\node_modules\iobroker.sayit\say.mp3', '\\192.168.123.15\music\Durchsagen\say.mp3', function(err) { });
                    

                    Stimmt da vielleicht etwas mit den Pfaden nicht ?

                    Im Log sieht alles gut aus…keine Fehler. `
                    Ich denke es liegt am Zielverzeichnis. Wenn du so was machst

                    mv('C:\ioBroker\node_modules\iobroker.sayit\say.mp3', 'C:\ioBroker\node_modules\iobroker.sayit\say1.mp3', function(err) {console.error(err)});

                    Geht es dann?

                    1 Reply Last reply Reply Quote 0
                    • J
                      Joker971 last edited by

                      murks

                      1 Reply Last reply Reply Quote 0
                      • J
                        Joker971 last edited by

                        @Bluefox:

                        Ich denke es liegt am Zielverzeichnis. Wenn du so was machst

                        mv('C:\ioBroker\node_modules\iobroker.sayit\say.mp3', 'C:\ioBroker\node_modules\iobroker.sayit\say1.mp3', function(err) {console.error(err)});

                        Geht es dann? `

                        Wenn ich das so mache spuckt er das aus:

                        javascript.0 script.js.TTS.Testprogramm: Error: ENOENT: no such file or directory, rename 'C:\ioBroker ode_modulesiobroker.sayitsay.mp3' -> 'C:\ioBroker ode_modulesiobroker.sayitsay1.mp3'

                        Irgendwie haut der da alles durcheinander….

                        Drehe ich aber die Slashes um sieht es besser aus:

                        javascript.0 script.js.TTS.Testprogramm: Error: ENOENT: no such file or directory, rename 'C:\ioBroker\node_modules\iobroker.sayit\say.mp3' -> 'C:\ioBroker\node_modules\iobroker.sayit\say1.mp3'

                        Zwar immernoch ein Fehler aber kein verwirrter :lol:

                        1 Reply Last reply Reply Quote 0
                        • J
                          Joker971 last edited by

                          Hi Leute, nach einigem rumsuchen bin ich auf eine Lösung gekommen. Für alle die sich über Sayit eine MP3 Datei generieren möchten um diese dann auf eine Netzwerkfreigabe zu kopieren!

                          Ihr müsst die Module 'fs' und 'smb2' einbinden. Das ist meine erste Version…sicherlich noch verbesserungswürdig aber sie funktioniert!

                          var idSayIt         = "sayit.0.tts.text";
                          var ansage          = "";
                          var sourcefile      = "C:/ioBroker/node_modules/iobroker.sayit/say.mp3";
                          var destinationfile = "Durchsagen\\say.mp3";
                          var ansage          = "Das ist ein neuer Testtext. Dieser dauert auch schon etwas länger! leider hab ich etwas langeweile daher spiele ich so rum. Kannst du das verstehen ? Ja ich habe es schon nicht leicht.";
                          
                          setState (idSayIt, ansage);
                          setTimeout(function (){while(getState("sayit.0.tts.playing"/*Is now speaking*/).val === true){console.error("speaking")}},500);
                          
                          var fs = require("fs");
                          var smb2 = require("smb2");
                          var smb2Client = new smb2({share:'\\\\Datastore\\music', domain:'', username:'XXXXXX', password:'XXXXXX'});
                          
                          fs.exists(sourcefile, function(exists){
                             if(exists){ // results true
                                fs.readFile(sourcefile, function(err, data){
                                   if(err){
                                      console.error(err)
                                      smb2Client.close ()
                                   }              
                                   //console.log(data);
                                   smb2Client.writeFile(destinationfile, data, function (err) {
                                   if(err){
                                     console.error(err)
                                     smb2Client.close ()  
                                   }
                                   console.log('It\'s saved!');
                          
                                   setState("squeezebox.0.PIWohnz.power"/*PIWohnz.power*/,true); 
                                   setTimeout(function(){setState("squeezebox.0.PIWohnz.volume",70)},200);
                                   setTimeout(function (){SendHTTP("http://192.168.123.15:9002/status.html?p0=playlist&p1=play&p2=MP3Durchsagen&player=b8:27:eb:41:0f:a6")}, 400); 
                                   setTimeout(function (){setState("squeezebox.0.PIWohnz.power",false)},15000);
                                   });
                                })
                             }
                          });
                          
                          function SendHTTP(text) {
                             setTimeout(function(){request = require('request')(text);}, 200);
                             }
                          
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

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

                          792
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          4
                          13
                          1839
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo