Hallo.
Habe mir die beliebte Logitech C270 Webcam geholt und sie in Octoprint eingebunden. Das funktioniert auch wunderbar. Wenn ich jetzt allerdings ein Bild via Telegram über Iobroker versenden möchte passiert gar nix.
Nutze folgendes Script (irgendwo mal gefunden):
/* BILDSPEICHERUNG
soll bei Aktion Webcam Bild speichern und per telegram senden
Skript ist normalerweise inaktiv und wird per ScriptEnabled ausgelöst
*/
var source_url = 'http://192.168.178.176/webcam/?action=stream', // Kamerabild zB http://kameraserver:9090/image1.jpg
dest_path = '/opt/iobroker/temp/cam/';
var request = require('request');
var fs = require('fs');
// Bild an telegram schicken (immer Dienst 3)
function sendImage (pfad) {
setTimeout(function() {
sendTo('telegram.0', pfad);
log('Webcam Bild per telegram verschickt');
}, 2 * 1000);
}
// Bild speichern
function saveImage() {
request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
fs.writeFile(dest_path + 'image1.jpg', body, 'binary', function(err) {
if (err) {
log('Fehler beim Bild speichern: ' + err, 'warn');
} else {
log('Webcam Bild gespeichert');
sendImage(dest_path + 'image1.jpg');
}
});
});
}
// bei Skriptstart ausführen
saveImage();
// selbständig Skript wieder anhalten (nach 12s)
setStateDelayed('javascript.' + instance + '.scriptEnabled.' + name.slice(10), false, 12*1000);
Verzeichnis ist vorhanden, funktioniert mit meinen Reolink Kameras. Liegt es am Stream das kein Bild abgegriffen und gespeichert wird?