NEWS
Ordner erstellen in JavaScript
-
sorry...
einen neuen Ordner unter dem Benutzer iobroker auf einem Linuxsystem.
also /home/iobroker/neuer Ordner -
exec('mkdir /home/iobroker/neuer Ordner', function (error, stdout, stderr) { log(stdout); });
Dafür muss aber in den JS Adpater settings "Erlaube exec" aktiviert sein.
-
super...
wie müsste das dann aussehen, wenn ich anstelle des "neuer Ordner" eine Variable haben möchte also in meinem Fall einen Zeitstempel?
-
let meineVar = 'der Name'; exec('mkdir /home/iobroker/' + meineVar, function (error, stdout, stderr) { log(stdout); });
-
ahh... da hätte man auch drauf kommen können.
Danke!Funktioniert das auch mit anderen befehlen ?
exec('/home/iobroker/convert -delay 85 loop 0 *.JPG output.gif', function (error, stdout, stderr) { log(stdout); });
-
@sveni_lee sagte in Ordner erstellen in JavaScript:
Funktioniert das auch mit anderen befehlen ?
Klar jeder befehl der ohne Sudo auskommt kann so ausgeführt werden.
-
hmm...
das lappt so leider noch nicht...
exec('/home/iobroker/' + timestamp + 'convert -delay 85 *.jpg output.gif', function (error, stdout, stderr) { log(stdout); });
wenn ich den Befehl in dem Ordner in der Komandozeile ausführe dann klappt es..
-
@sveni_lee Dann log doch mal error und stderror. Da steht dann mehr drin.
Wie sieht denn der Timestamp aus? -
@sveni_lee
Wenn timestamp den Ordnernamen enthält und dieser nicht mit einem / endet, muss ein / vor den Befehl.+ '/convert
-
der ordner mit dem timestamo wir richtig angelegt und auch die bilder werden abgelegt.
timestamp = dateFormat(new Date(), "yyyymmddHHMMss");
ich habe den Befehl noch mal ein wenig umgestellt:
exec('convert -delay 85 ' + '/home/iobroker/' + timestamp + "/" + '*.jpg /home/iobroker/output.gif', function (error, stdout, stderr) { log(stdout); log(stderr); });
es kommt aber jetzt eine Fehlermeldung
convert: unable to open image `/home/iobroker/output.gif': Keine Berechtigung @ error/blob.c/OpenBlob/2712.
-
@sveni_lee Hast der Benutzer iobroker Schreibrechte für den ordner /home/iobroker?
Mal nen anderen Ordner versucht? -
ja, hat schreibrechte. der benutzer legt ja den Ordner selber an...
Edit:
geht jetzt...exec('convert -delay 85 ' + '/home/iobroker/' + timestamp + "/" + '*.jpg /home/iobroker/' + timestamp + '/output.gif', function (error, stdout, stderr) { log(stdout); log(stderr); });
-
jetzt taucht grad ein neues Problem auf, wenn ich as gif per Telegram versend kommt nur ein verschommes Bild an aber kein gif...
var info_text = 'neue Bilder im Archive'; var gifimage = '/home/iobroker/' + timestamp + '/output.gif'; log('gif sent'); sendTo('telegram.0', {text: gifimage, caption: info_text });
-
@sveni_lee Schonmal das GIF angeschaut? Ist es vll einfach schon verschwommen und telegram verschickt es halt so.
-
ja, hab ich. das gif is vollkommen in Ordnung...
eventuell muß ich in Telegram noch einen anderen parameter wählen...?