NEWS
Fehler bei Telegram "Snapshot" sent
-
Hallo,
hat vielleicht jemand eine Lösung für folgende ERROR : {'errno':-13,'code':'EACCES','syscall':'open','path':'/opt/download.jpg'}Ich würde mir gern via Telegram "Snapshot" von meine Überwachung Kamera senden bekomme ich aber immer das gleiche ERROR. Ich bin mir nicht sicher dass ich den Iobroker als ROOT installiert habe und ist vielleicht hier das problem ??
Also beim JS Adapter is "EXEC" angehängt also daran liegt es nicht.Folgende script will ich werden:
var request = require('request'); var fs = require('fs'); request.get({url: 'http://192.XX.0.XX:XX/picture/1/current/', encoding: 'binary'}, function (err, response, body) { fs.writeFile("/opt/download.jpg", body, 'binary', function(err) { if (err) { console.error(err); } else { var info_text = 'Ein neues Bild'; console.log('Snapshot sent'); sendTo('telegram.0', {text: '/opt/download.jpg', caption: info_text }); } }); }); -
Hallo,
hat vielleicht jemand eine Lösung für folgende ERROR : {'errno':-13,'code':'EACCES','syscall':'open','path':'/opt/download.jpg'}Ich würde mir gern via Telegram "Snapshot" von meine Überwachung Kamera senden bekomme ich aber immer das gleiche ERROR. Ich bin mir nicht sicher dass ich den Iobroker als ROOT installiert habe und ist vielleicht hier das problem ??
Also beim JS Adapter is "EXEC" angehängt also daran liegt es nicht.Folgende script will ich werden:
var request = require('request'); var fs = require('fs'); request.get({url: 'http://192.XX.0.XX:XX/picture/1/current/', encoding: 'binary'}, function (err, response, body) { fs.writeFile("/opt/download.jpg", body, 'binary', function(err) { if (err) { console.error(err); } else { var info_text = 'Ein neues Bild'; console.log('Snapshot sent'); sendTo('telegram.0', {text: '/opt/download.jpg', caption: info_text }); } }); });@Novak Evtl. fehlende Zugriffsrechte im Ordner /opt ?
-
Nein, ich würde als root erstmal
chmod -R 777 /opt/in einem Terminal setzen und dann das Script nochmal ausprobieren.
Wenn es dann läuft kannst du die Rechte auf den User einschränken, unter dem iobroker läuft.
Ansonsten hat dann eben jeder User auf der Maschine Lese- und Schreibberechtigungen auf /opt. -
Du brauchst auf jeden Fall eine Pause zwischen dem Abruf des Bildes von der Kamera und dem Aufruf von Telegram, da die Bereitstellung des jpg Sekunden dauern kann.
Ich habe in meiner Lösung mit 5 Sekunden eine guten Zuverlässigkeit erreicht.Es gibt im Forum mehrere Themen dazu, wobei es aber mit Blockly umgesetzt wird.
Das könntest du leicht in js übernehmen. -
Nein, ich würde als root erstmal
chmod -R 777 /opt/in einem Terminal setzen und dann das Script nochmal ausprobieren.
Wenn es dann läuft kannst du die Rechte auf den User einschränken, unter dem iobroker läuft.
Ansonsten hat dann eben jeder User auf der Maschine Lese- und Schreibberechtigungen auf /opt.
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