NEWS
Mit Blockly und exec Befehl Datei löschen.
-
@glasfaser Der Ausgangspunkt ist eine Bild.jpg Datei einer Kamera. Die wird ausgelesen, im /tmp/ Verzeichnis gespeichert und dann mit
iobroker file write /tmp/current.jpg vis.0/current.jpg
ins vis.0 geschrieben. Nur dort kann ich mit einem "view in widget" darauf zugreifen. Obwohl, das iobroker im Befehl würde ich vermutlich gar nicht benötigen?
-
@glasfaser sagte in Mit Blockly und exec Befehl Datei löschen.:
Hast du dein System auf Redis !?
Nein.
-
Im Verzeichnis vis.0 liegt eine Datei current.jpg. Die möchte ich löschen.
Sorry , wenn du es zuvor geschrieben hättest , das du ein Bild dort hin kopierst und es für VIS nutzt , hätte ich darauf anders geantwortet .
Ich bin halt mit deiner Beschreibung von einer unnötigen Datei XXX.jpg ausgegangen -
@bergjet sagte in Mit Blockly und exec Befehl Datei löschen.:
iobroker file write /tmp/current.jpg vis.0/current.jpg
dann müsste Folgendes auch von der Konsole gehen
iobroker file rm /tmp/current.jpg vis.0/current.jpg
-
@glasfaser Obwohl, mit dem Pfad, das @fastfoot geschrieben hat könnte es eventuell doch gehen (den gibt es wirklich).
/opt/iobroker/iobroker-data/files/vis.0
Deinen Vorschlag werde ich später testen und berichten.
-
@bergjet sagte in Mit Blockly und exec Befehl Datei löschen.:
Der Ausgangspunkt ist eine Bild.jpg Datei einer Kamera. Die wird ausgelesen, im /tmp/ Verzeichnis gespeichert und dann mit
Du kannst es hiermit direkt machen :
request( { url: "http://user:passwort@192.168.178.51/streaming/channels/101/picture", encoding: null, }, (error, response, body) => { if (!error && body) { writeFile("vis.0", "/current.jpg", body); } } );
-
@fastfoot sagte in Mit Blockly und exec Befehl Datei löschen.:
dann müsste Folgendes auch von der Konsole gehen
Es funktioniert:
iobroker file rm /vis.0/current.jpg
und
rm /opt/iobroker/iobroker-data/files/vis.0/current.jpg
-
@glasfaser sagte in Mit Blockly und exec Befehl Datei löschen.:
@bergjet sagte in Mit Blockly und exec Befehl Datei löschen.:
Der Ausgangspunkt ist eine Bild.jpg Datei einer Kamera. Die wird ausgelesen, im /tmp/ Verzeichnis gespeichert und dann mit
Du kannst es hiermit direkt machen :
request( { url: "http://user:passwort@192.168.178.51/streaming/channels/101/picture", encoding: null, }, (error, response, body) => { if (!error && body) { writeFile("vis.0", "/current.jpg", body); } } );
Das funktioniert nicht, trotz meiner richtigen Url.
-
gerade gemacht ,mit dem Snipsel den ich dir oben gegeben habe :
...... if (!error && body) { writeFile("vis.0", "/hugo111.jpg", body); ......
oder so :
var fs = require("fs"); exec( "wget --output-document /tmp/current.jpg 'http://192.168.178.xxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=hxxx&pwd=roadxxxxx'", (error, stdout, stderr) => { if (!error) { const picture = fs.readFileSync("/tmp/current.jpg"); writeFile("vis.0", "/current.jpg", picture); } } );
-
@glasfaser sagte in Mit Blockly und exec Befehl Datei löschen.:
gerade gemacht ,mit dem Snipsel den ich dir oben gegeben habe :
Habe jetzt die
if (!error && body) { writeFile("vis.0", "/hugo111.jpg", body);
jetzt auch so angepasst und nun geht auch dein erstes Schnipsel. Vielleicht war da beim kopieren ein Fehler drinnen.
Danke.
Ich lösche das alte Bild für Vis nun vorher, sonst wird beim Klingel der Türglocke erst kurz das alte Bild angezeigt. -
@bergjet sagte in Mit Blockly und exec Befehl Datei löschen.:
Danke.
Puhh .... dachte schon es funktioniert nicht bei dir .( Rechte von ioBroker schief )
-
@glasfaser Ich habe nun dein 2. Script genommen.
Das Löschen der Datei habe ich weggelassen, denn mit dem Script ist das so schnell, dass das alte Bild nur im Millisekundenbereich zu sehen ist.
Ausserdem war die Löschaktion so langsam, dass das schon das neue Bild gelöscht wurde. Da hätte ich wieder ein Timeout einbauen müssen.
Jetzt passt es. Danke. -
@bergjet sagte in Mit Blockly und exec Befehl Datei löschen.:
Jetzt passt es.
Freut mich ..... , das es jetzt so funktioniert , wie du es haben wolltest