NEWS
MP3 Datei verschieben (Sayit)
-
Hi Forum,
ist es möglich mit Sayit eine Mp3 Datei in einen bestimmten Ordner speichern zu lassen ? Ich habe vor mir diese Datei automatisiert auf einen anderen Rechner mit freigegeben Ordner verschieben zu lassen um sie dann von meine Squeezebox ausgeben zu lassen. Dazu müsste ich die Datei mit einem Skript verschieben. Ist sowas mit IO Broker möglich?
Oder hat vielleicht jemand eine bessere Idee wie man sowas realisieren könnte ?
-
'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
-
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.
-
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
-
-
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 machstmv('C:\ioBroker\node_modules\iobroker.sayit\say.mp3', 'C:\ioBroker\node_modules\iobroker.sayit\say1.mp3', function(err) {console.error(err)});
Geht es dann?
-
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:
-
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); }