Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Klingelbild Script/Telegram Fehler

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Klingelbild Script/Telegram Fehler

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 1.1k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    HoffmannOs
    schrieb am zuletzt editiert von
    #1

    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.Camera2

    
    Als 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!

    1 Antwort Letzte Antwort
    0
    • wendy2702W Online
      wendy2702W Online
      wendy2702
      schrieb am zuletzt editiert von
      #2

      Verzeichnis / Platte voll ?

      // Anzahl der Bilder, die vorgehalten werden sollen
      const imageCountMax = 9999;                
      

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        HoffmannOs
        schrieb am zuletzt editiert von
        #3

        Hat sich erledigt, im Script hat sich die IP durch Neukonfig geändert!

        Soviele Sachen die man immer beachten muss :D

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        307

        Online

        32.4k

        Benutzer

        81.5k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe