NEWS
[gelöst] Frage zu Script Bewegungsmelder und Schnappschuss Kamera
-
Hallo,
ich habe hier im Forum ein Script gefunden, was durch einen Bewegungsmelder einen Schnappschuss meiner Kamera (über Synology SurveillanceStation) erzeugt und dann dieses Bild per Telegram verschickt.
Ich bekomme immer zwei Bilder, wahrscheinlich wenn sich der Zustand des Bewegungsmelders wieder ändert von true auf false und umgekehrt. Was muss ich ändern, das ich nur das Bild bei einer erkannten Bewegung bekomme ?
on({id:"hm-rpc.0.xxx.1.MOTION"/*Bewegungsmelder Gartentür.MOTION*/, change: "ne"}, main); var request = require("request"); var fs = require('fs'); var myJson = {}; var sid = 0; function parseJson(text) { if (text === "") return {}; try { json = JSON.parse(text); } catch (ex) { json = {}; } if(!json) json = {}; return json; } function readJson(url, callback) { request(url, function (err, state, body){ if (body) { var json = parseJson(body); callback(null, json); } else { var error = "(" + err + ") ERROR bei Abfrage von: " + url; log(error, "warn"); callback(error, null); } }); } var url_login ='http://192.168.180.2:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&account=XXX&passwd=XXX&session=SurveillanceStation&format=sid'; var url_logout = 'http://192.168.180.2:5000/webapi/auth.cgi? api=SYNO.API.Auth&method=Logout&version=2&session=SurveillanceStation'; var url_snapshot = 'http://192.168.180.2:5000/webapi/entry.cgi?camStm=2&version=8&cameraId=2&api=SYNO.SurveillanceStation.Camera&preview=true&method=GetSnapshot'; function main() { readJson(url_login, function(err,json) { if(!err) { myJson = json; sid = myJson.data.sid; url_snapshot += '&_sid='+sid; url_logout += '&_sid='+sid; 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', '/tmp/snap.jpg'); request.get({url: url_logout, encoding: 'binary'}) } }); }); } else { log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn"); myJson = {}; } }); }
-
Off Topic: Netter Tippfehler im Subject!
Hört sich aber auch gut an :lol:
-
Probier das mal mit:
on({id:"hm-rpc.0.xxx.1.MOTION"/Bewegungsmelder Gartentür.MOTION/, val: true}, main);
sofern du auf True reagieren willst.
Matze
-
Probier das mal mit:
on({id:"hm-rpc.0.xxx.1.MOTION"/Bewegungsmelder Gartentür.MOTION/, val: true}, main);
sofern du auf True reagieren willst.
Matze `
Danke, das scheint es schon gewesen zu sein.