NEWS
Klingelbild Script/Telegram Fehler
-
Hey,
ich habe seit heute folgendes Problem, die Bilder die ich mit meiner Camera aufnehme werden nicht gesendet, allerdings in der Pfadangabe ordnungsgemäss gespeichert,
Fehler
! ````
telegram.0 2018-11-21 15:03:23.277 error Cannot send photo [chatId - 796402639]: Error: ETELEGRAM: 400 Bad Request: IMAGE_PROCESS_FAILED
telegram.0 2018-11-21 15:03:23.235 error Cannot send photo [chatId - 796402639]: Error: ETELEGRAM: 400 Bad Request: IMAGE_PROCESS_FAILED
javascript.0 2018-11-21 15:03:23.112 info script.js.Klingel.Camera2: sendTo(adapter=telegram.0, cmd=[object Object], msg=undefined)
javascript.0 2018-11-21 15:03:20.111 info script.js.Klingel.Camera2: setTimeout(ms=3000)
telegram.0 2018-11-21 15:03:12.875 error Cannot send photo [chatId - 796402639]: Error: ETELEGRAM: 400 Bad Request: IMAGE_PROCESS_FAILED
telegram.0 2018-11-21 15:03:12.865 error Cannot send photo [chatId - 796402639]: Error: ETELEGRAM: 400 Bad Request: IMAGE_PROCESS_FAILED
javascript.0 2018-11-21 15:03:12.753 info script.js.Klingel.Camera2: sendTo(adapter=telegram.0, cmd=[object Object], msg=undefined)
javascript.0 2018-11-21 15:03:09.751 info script.js.Klingel.Camera2: setTimeout(ms=3000)
javascript.0 2018-11-21 15:03:06.742 info script.js.Klingel.Camera2: registered 1 subscription and 0 schedules
javascript.0 2018-11-21 15:03:06.742 info script.js.Klingel.Camera2: setTimeout(ms=10000)
javascript.0 2018-11-21 15:03:06.171 info script.js.Klingel.Camera2: subscribe: {"pattern":{"id":"hm-rpc.1.NEQ0955114.1.PRESS_SHORT","change":"any"},"name":"script.js.Klingel.Camera2"}
javascript.0 2018-11-21 15:03:06.108 info Start javascript script.js.Klingel.Camera2
javascript.0 2018-11-21 15:03:06.101 info Stop script script.js.Klingel.Camera2Als Script verwende ich dieses : >! ```` // ------------------------------------------------------------------------- // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und // gesendet. // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten // Uhula 2017.11 // ------------------------------------------------------------------------- >! // ------------------------------------------------------------------------- // Konfiguration // ------------------------------------------------------------------------- // Objekt-ID des Bewegungsmelders const oidLichtBewmelderTuer = "hm-rpc.1.NEQ0955114.1.PRESS_SHORT"/*HM-Sen-DB-PCB NEQ0955114:1.PRESS_SHORT*/; // URL zur Kamera umn ein Image (jpg) zu erhalten const cam_url = "http://192.168.181.51/SSS_Get.php?stream=jpeg&camera=2&snapQual=0"; // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren const dest_path = '/cam/'; // Anzahl der Bilder, die vorgehalten werden sollen const imageCountMax = 9999; // Prefix für die Bildnamen const imageNamePre = "eingangstuer_"; >! // ------------------------------------------------------------------------- // Scriptteil // ------------------------------------------------------------------------- var request = require('request'); var fs = require('fs'); >! // Bild an telegram schicken function sendImage (path) { try { var stats = fs.statSync(path); var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1); sendTo('telegram.0', { text: path, caption: msg, disable_notification: true }); } catch(err) { if (err.code != "ENOENT") log(err); } } >! // löscht eine Datei synchron (wartet auf das Ergebnis) function fsUnlinkSync(path) { try { var stats = fs.statSync(path); try { fs.unlinkSync(path); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } >! // benennt eine Datei synchron um (wartet auf das Ergebnis) function fsRenameSync(oldPath, newPath) { try { var stats = fs.statSync(oldPath); try { fs.renameSync(oldPath, newPath); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } >! // Bild speichern und senden function saveImage() { // Bild imageCountMax-1 löschen fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" ); // Bilder 0..imageCountMax-2 umbenennen for (var i=imageCountMax-2; i >= 0; i-- ) { fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg"); } // Bild 0 löschen var fname = imageNamePre + "0.jpg"; fsUnlinkSync( fname ); // Bild holen und speichern request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path + fname, body, 'binary', function(err) { if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { // dem Filesystem 2 Sek Zeit zum Speichern lassen setTimeout(function() { sendImage(dest_path + fname); }, 3000); } }); }); } >! // sofort ein Bild senden und nach 10 Sek erneut function onEvent() { saveImage(); setTimeout(function() { saveImage(); }, 10 * 1000); } >! // Ereignisroutine on({id: oidLichtBewmelderTuer, change: "any"}, function (obj) { onEvent( obj ); }); >! // manuelle Ausführung (Test) onEvent();Wer weiss rat für mich? Berechtigungen sind alle gesetzt mit 777
Läuft auf Synology ds218+ mit 8gb und bis gestern eigentlich ohne Probleme!
-
Hat sich erledigt, im Script hat sich die IP durch Neukonfig geändert!
Soviele Sachen die man immer beachten muss :D
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden