NEWS
[Gelöst]Bild von Webcam speichern
-
@amg_666 sagte in Bild von Webcam speichern:
so :
request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) { fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'}); } });
-
@glasfaser sagte in Bild von Webcam speichern:
fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
Du hast den Dateinamen in einfache Hochkommas gesetzt, hab ich ausprobiert, kein Effekt...
-
@amg_666 sagte in Bild von Webcam speichern:
kein Effekt...
ich kenn nicht dein ganzes Script , nur dein Schnipsel ... aber es funktioniert !
hier mal von mir erweitert auf Basis von deinem , ein Bild wird geholt und auch versendet !
var fs = require('fs'); var url_snapshot = 'http://hiermeinPfadvomBild';//Bild URL request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) { fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'}); } }); });
-
@glasfaser sagte in Bild von Webcam speichern:
ich bastel da noch dran rum, das skript ist garnicht sehr viel länger, hier mal komplett. Ich hab da jetzt deinen Code von eben komplett reinkopiert, jetzt bekomme ich Warnings
on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'}); var url_snapshot = 'http://192.168.2.31/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXXXX&pwd=YYYYY'; var fs = require('fs'); request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) { fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'}); } }); });
Jetzt spuckt er warnungen im log aus
avascript.0 2022-01-08 16:38:18.057 warn at processImmediate (internal/timers.js:464:21) javascript.0 2022-01-08 16:38:18.057 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5708:41) javascript.0 2022-01-08 16:38:18.057 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29) javascript.0 2022-01-08 16:38:18.057 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38) javascript.0 2022-01-08 16:38:18.057 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1068:33) javascript.0 2022-01-08 16:38:18.056 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20) javascript.0 2022-01-08 16:38:18.055 warn State "undefined" not found
-
@amg_666 sagte in Bild von Webcam speichern:
State "undefined" not found
nimm das raus :
on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT"/*Klingel aktiv*/, val: true, change: 'ne'});
das Script startet beim einschalten schon , da brauchst du kein Trigger .
-
@glasfaser
Jetzt läuft es ohne Fehler durch, im log steht "snapshot sent". Aber es ist immer noch kein Bild im tpm Ordner.
Das Skript läuft zwar beim Starten direkt durch aber ich will ja ein aktuelles Bild haben, wenn jemand klingelt (?) -
@amg_666 sagte in Bild von Webcam speichern:
Das Skript läuft zwar beim Starten direkt durch aber ich will ja ein aktuelles Bild haben,
Nochmal ...
ja das war nur ein Testscript von mir , auf basis von deinem ..
Woher soll / sollte ich wissen was du möchtest ...
da es eine Vielzahl von fertigen Script hier im Forum gibt zu : Telegram Bild versenden .Wird jetzt ein Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?
-
@glasfaser sagte in Bild von Webcam speichern:
Bild bei telegram angezeigt , der Ordner ist erstmal uninteressant!?
nein wird es nicht. Und weil das ja mein "Anfangsproblem" ist, wollte ich erstmal prüfen ob überhautp ein Bild (lokal) gespeichert wird
-
@amg_666 sagte in Bild von Webcam speichern:
ob überhautp ein Bild (lokal) gespeichert wird
Prüfe hiermit , das Bild wird im Ordner vis.0 abgelegt :
request( { url: "http://ccccccccccccccccccccccc", encoding: null, }, (error, response, body) => { if (!error && body) { writeFile("vis.0", "/hugo1.jpg", body); } } );
-
@glasfaser Danke für deinen Support. Ich hab den telegram Adapter nochmal neu gestartet (hatte ich eigentlich gestern auch schon) und jetzt funzt es.
Im tmp Ordner unter iobroker ist weiterhin kein Bild aber bei Telegram kommt es an
-> einmal "find / " mit dem Namen durchlaufen lassen und: Toll, man sollte VORHER nachdenken Der speichert den snapshot nicht unter /iobroker/... ab sondern im root-Verzeichnis unter tmp. Macht ja auch Sinn wenn man im Skript /tmp angibt, oh Mann...Hast du noch einen Tipp/eine Idee warum die Warnings kommen, wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?
-
@amg_666 sagte in Bild von Webcam speichern:
wenn ich meinen Trigger (auf den hm-Klingelkontakt) setze ?
der hängt in der Luft ...
wäre dann so :
url_snapshot = 'http://xxxxxxxxxxxxxxxxxxxxxx'; on({id: '0_userdata.0.Trigger_Button', val: true}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await etwas_tun(); }); async function etwas_tun() { var fs = require('fs'); request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) { fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Snapshot sent'); sendTo('telegram.0', {text: '/tmp/snap.jpg', caption: 'Es hat geklingelt !'}); } }); }); }
-
@glasfaser DANKE !!!!