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.
    • Jey Cee
      Jey Cee Developer last edited by

      Prinzipiell geht das mit 'mv' in JavaScript.

      var mv = require('mv'); mv('source', 'dest', function(err) { // handle the error });
      

      Gesendet von Unterwegs

      1 Reply Last reply Reply Quote 0
      • 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

                            474
                            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