Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JavaScript
  5. Fehler: Bild via Telegram verschicken

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    729

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Fehler: Bild via Telegram verschicken

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 3 Kommentatoren 501 Aufrufe 2 Beobachtet
  • Ä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.
  • T Offline
    T Offline
    t1m0
    schrieb am zuletzt editiert von t1m0
    #1

    Grüße,

    ich musse leider mein System komplett neu aufsetzen. Seit dem funktioniert mein Script nicht mehr.
    Hat jemand eine Idee, woran dies liegt?

    
    
    var source_url = 'http://10.0.20.10:81/image/Haustuer', 
    
        dest_path = '/opt/iobroker/iobroker-data/files/_temp';
    
    var request = require('request');
    var fs      = require('fs');
    
    
    on({id: "doorbird.0.Doorbell.1.trigger"/*HM-Sen-DB-PCB PEQ0653647:1.PRESS_SHORT*/, val: true}, function (obj) {
        if (getState("vars.0.klingelfreigabe").val == true) {  //doppelklingel verhindern
            
           
            setState("vars.0.klingelfreigabe"/*klingelfreigabe*/, false);
            setStateDelayed("vars.0.klingelfreigabe"/*klingelfreigabe*/, true, 40000, true);
            //fuer 10 sekunden sperren
     setTimeout(function(){
      saveImage();
                        }, 2500);
        
    }
    //senden nach MILISEKDUNGEN 
    
    
    });
    
    
    
    
    
    
    
    function sendImage (pfad) {
        setTimeout(function() {
            setState("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '');
            setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, 'camera=Haustuer&snapshot', 100, false);
            setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '', 150, false);
            //Bild wird auf dem Server gespeichert und danach leeren damit der es abspielt
            sendTo('telegram.0', "Türklingel:");
            sendTo('telegram.0', pfad);
            sendTo('telegram', '/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell1_1.jpg');
            log('Webcam Bild per telegram verschickt');
        }, 2 * 1000);
    }
    
    
    
    
    
    
    
    
    
    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');
            }
          }); 
        });
    }
    
    
    
    
    
    
    
    haus-automatisierungH WalW 2 Antworten Letzte Antwort
    0
    • T t1m0

      Grüße,

      ich musse leider mein System komplett neu aufsetzen. Seit dem funktioniert mein Script nicht mehr.
      Hat jemand eine Idee, woran dies liegt?

      
      
      var source_url = 'http://10.0.20.10:81/image/Haustuer', 
      
          dest_path = '/opt/iobroker/iobroker-data/files/_temp';
      
      var request = require('request');
      var fs      = require('fs');
      
      
      on({id: "doorbird.0.Doorbell.1.trigger"/*HM-Sen-DB-PCB PEQ0653647:1.PRESS_SHORT*/, val: true}, function (obj) {
          if (getState("vars.0.klingelfreigabe").val == true) {  //doppelklingel verhindern
              
             
              setState("vars.0.klingelfreigabe"/*klingelfreigabe*/, false);
              setStateDelayed("vars.0.klingelfreigabe"/*klingelfreigabe*/, true, 40000, true);
              //fuer 10 sekunden sperren
       setTimeout(function(){
        saveImage();
                          }, 2500);
          
      }
      //senden nach MILISEKDUNGEN 
      
      
      });
      
      
      
      
      
      
      
      function sendImage (pfad) {
          setTimeout(function() {
              setState("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '');
              setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, 'camera=Haustuer&snapshot', 100, false);
              setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '', 150, false);
              //Bild wird auf dem Server gespeichert und danach leeren damit der es abspielt
              sendTo('telegram.0', "Türklingel:");
              sendTo('telegram.0', pfad);
              sendTo('telegram', '/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell1_1.jpg');
              log('Webcam Bild per telegram verschickt');
          }, 2 * 1000);
      }
      
      
      
      
      
      
      
      
      
      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');
              }
            }); 
          });
      }
      
      
      
      
      
      
      
      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @t1m0 Nicht manuell nach files schreiben… Nimm irgendein anderes Verzeichnis. Und request am besten auch direkt loswerden

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      T 1 Antwort Letzte Antwort
      0
      • T t1m0

        Grüße,

        ich musse leider mein System komplett neu aufsetzen. Seit dem funktioniert mein Script nicht mehr.
        Hat jemand eine Idee, woran dies liegt?

        
        
        var source_url = 'http://10.0.20.10:81/image/Haustuer', 
        
            dest_path = '/opt/iobroker/iobroker-data/files/_temp';
        
        var request = require('request');
        var fs      = require('fs');
        
        
        on({id: "doorbird.0.Doorbell.1.trigger"/*HM-Sen-DB-PCB PEQ0653647:1.PRESS_SHORT*/, val: true}, function (obj) {
            if (getState("vars.0.klingelfreigabe").val == true) {  //doppelklingel verhindern
                
               
                setState("vars.0.klingelfreigabe"/*klingelfreigabe*/, false);
                setStateDelayed("vars.0.klingelfreigabe"/*klingelfreigabe*/, true, 40000, true);
                //fuer 10 sekunden sperren
         setTimeout(function(){
          saveImage();
                            }, 2500);
            
        }
        //senden nach MILISEKDUNGEN 
        
        
        });
        
        
        
        
        
        
        
        function sendImage (pfad) {
            setTimeout(function() {
                setState("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '');
                setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, 'camera=Haustuer&snapshot', 100, false);
                setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '', 150, false);
                //Bild wird auf dem Server gespeichert und danach leeren damit der es abspielt
                sendTo('telegram.0', "Türklingel:");
                sendTo('telegram.0', pfad);
                sendTo('telegram', '/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell1_1.jpg');
                log('Webcam Bild per telegram verschickt');
            }, 2 * 1000);
        }
        
        
        
        
        
        
        
        
        
        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');
                }
              }); 
            });
        }
        
        
        
        
        
        
        
        WalW Offline
        WalW Offline
        Wal
        Developer
        schrieb am zuletzt editiert von
        #3

        @t1m0 ,
        hier mit "axios" und das Verzeichnis "/opt/iobroker/snapshots" habe ich mit "mkdir" manuell erzeugt.

        const fs      = require('fs');
        const axios   = require('axios');
        const camUrl = 'http://192.168.1.116:5000/api/doorbell/latest.jpg?h=600';
        var snap = '';
        var bell = true;
         
        async function sendImage() {
            const writer = fs.createWriteStream(snap);
            try {
                const response = await axios({
                    url: camUrl,
                    method: 'get',        
                    responseType: 'stream'
                })
            
                response.data.pipe(writer);
         
                return new Promise((resolve, reject) => {
                    writer.on('finish', resolve => {
                        sendTo('telegram.0', {text: snap, caption: 'Jemand klingelt an der Haustür !!!'});
                        sendTo("email", {
                            to:      "tuerklingel@gmx.net",
                            subject: "Message from ioBroker",
                            text:    "Jemand klingelt an der Haustür !!!",
                            attachments: [{path: snap}]
                        });
                    });        
                });   
            } catch (err) {
                console.log('Kamera hat ein problem');
            }
        }
        
        on({id: "mqtt.0.piface.input.DoorBell_1", val: true}, function (obj) {
            if (bell) {
                snap = '/opt/iobroker/snapshots/snap_' + formatDate(obj.state.lc, 'TT.MM.JJJJ_hh:mm:ss') + '.jpg';
                sendImage();
            }
            bell = false;
            setTimeout(function() {
                bell = true;
              }, 120000);
        });
        

        Gruß
        Walter

        DoorIO-Adapter
        wioBrowser-Adapter und wioBrowser

        1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @t1m0 Nicht manuell nach files schreiben… Nimm irgendein anderes Verzeichnis. Und request am besten auch direkt loswerden

          T Offline
          T Offline
          t1m0
          schrieb am zuletzt editiert von t1m0
          #4

          @haus-automatisierung
          @Wal

          Vielen Dank euch beiden!
          Script läuft wieder. Jedoch bekomme ich noch ein paar Fehlermeldungen :/

          javascript.0
          2024-07-07 22:49:38.285	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"","ack":false,"ts":1720385378285,"q":0,"from":"system.adapter.javascript.0","lc":1720385378285,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
          
          javascript.0
          2024-07-07 22:49:38.235	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"camera=Haustuer&snapshot","ack":false,"ts":1720385378235,"q":0,"from":"system.adapter.javascript.0","lc":1720385378235,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
          
          javascript.0
          2024-07-07 22:49:38.135	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"","ack":false,"ts":1720385378135,"q":0,"from":"system.adapter.javascript.0","lc":1720385378135,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
          
          javascript.0
          2024-07-07 22:49:35.440	warn	script.js.test2: setForeignState(id=vars.0.klingelfreigabe, state={"val":false,"ack":false,"ts":1720385375440,"q":0,"from":"system.adapter.javascript.0","lc":1720385375440,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
          

          So sieht das Script bei mir nun aus:

          const fs      = require('fs');
          const axios   = require('axios');
          const camUrl = 'http://10.0.20.10:81/image/Haustuer';
          var snap = '/opt/iobroker/snapshots/snap.jpg';
          
          
           
          async function sendImage() {
              const writer = fs.createWriteStream(snap);
              try {
                  const response = await axios({
                      url: camUrl,
                      method: 'get',        
                      responseType: 'stream'
                  })
              
                  response.data.pipe(writer);
           
                  return new Promise((resolve, reject) => {
                      writer.on('finish', resolve => {
                       
                          setState("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '');
                          setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, 'camera=Haustuer&snapshot', 100, false);
                          setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '', 150, false);
                          //Bild wird auf dem Server gespeichert und danach leeren damit der es abspielt
                          sendTo('telegram.0', "Türklingel:");
                          sendTo('telegram.0', {text: snap, caption: ''});
                          sendTo('telegram', '/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell1_1.jpg');
                          
                          
                          
          
                      });        
                  });   
              } catch (err) {
                  console.log('Kamera hat ein problem');
              }
          }
           
          
          
          
          
          
          on({id: "doorbird.0.Doorbell.1.trigger"/*HM-Sen-DB-PCB PEQ0653647:1.PRESS_SHORT*/, val: true}, function (obj) {
              if (getState("vars.0.klingelfreigabe").val == true) {  //doppelklingel verhindern
                  
                 
                  setState("vars.0.klingelfreigabe"/*klingelfreigabe*/, false);
                  setStateDelayed("vars.0.klingelfreigabe"/*klingelfreigabe*/, true, 40000, true);
                  //fuer 10 sekunden sperren
           setTimeout(function(){
          
                  
                  sendImage();
          
            
                              }, 2500);
              
          }
          //senden nach MILISEKDUNGEN 
          
          
          });
          
          
          
          
          
          
          
          
          
          
          
          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • T t1m0

            @haus-automatisierung
            @Wal

            Vielen Dank euch beiden!
            Script läuft wieder. Jedoch bekomme ich noch ein paar Fehlermeldungen :/

            javascript.0
            2024-07-07 22:49:38.285	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"","ack":false,"ts":1720385378285,"q":0,"from":"system.adapter.javascript.0","lc":1720385378285,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
            
            javascript.0
            2024-07-07 22:49:38.235	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"camera=Haustuer&snapshot","ack":false,"ts":1720385378235,"q":0,"from":"system.adapter.javascript.0","lc":1720385378235,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
            
            javascript.0
            2024-07-07 22:49:38.135	warn	script.js.test2: setForeignState(id=mqtt.0.BlueIris.admin, state={"val":"","ack":false,"ts":1720385378135,"q":0,"from":"system.adapter.javascript.0","lc":1720385378135,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
            
            javascript.0
            2024-07-07 22:49:35.440	warn	script.js.test2: setForeignState(id=vars.0.klingelfreigabe, state={"val":false,"ack":false,"ts":1720385375440,"q":0,"from":"system.adapter.javascript.0","lc":1720385375440,"c":"script.js.test2"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
            

            So sieht das Script bei mir nun aus:

            const fs      = require('fs');
            const axios   = require('axios');
            const camUrl = 'http://10.0.20.10:81/image/Haustuer';
            var snap = '/opt/iobroker/snapshots/snap.jpg';
            
            
             
            async function sendImage() {
                const writer = fs.createWriteStream(snap);
                try {
                    const response = await axios({
                        url: camUrl,
                        method: 'get',        
                        responseType: 'stream'
                    })
                
                    response.data.pipe(writer);
             
                    return new Promise((resolve, reject) => {
                        writer.on('finish', resolve => {
                         
                            setState("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '');
                            setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, 'camera=Haustuer&snapshot', 100, false);
                            setStateDelayed("mqtt.0.BlueIris.admin"/*BlueIris/admin/*/, '', 150, false);
                            //Bild wird auf dem Server gespeichert und danach leeren damit der es abspielt
                            sendTo('telegram.0', "Türklingel:");
                            sendTo('telegram.0', {text: snap, caption: ''});
                            sendTo('telegram', '/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell1_1.jpg');
                            
                            
                            
            
                        });        
                    });   
                } catch (err) {
                    console.log('Kamera hat ein problem');
                }
            }
             
            
            
            
            
            
            on({id: "doorbird.0.Doorbell.1.trigger"/*HM-Sen-DB-PCB PEQ0653647:1.PRESS_SHORT*/, val: true}, function (obj) {
                if (getState("vars.0.klingelfreigabe").val == true) {  //doppelklingel verhindern
                    
                   
                    setState("vars.0.klingelfreigabe"/*klingelfreigabe*/, false);
                    setStateDelayed("vars.0.klingelfreigabe"/*klingelfreigabe*/, true, 40000, true);
                    //fuer 10 sekunden sperren
             setTimeout(function(){
            
                    
                    sendImage();
            
              
                                }, 2500);
                
            }
            //senden nach MILISEKDUNGEN 
            
            
            });
            
            
            
            
            
            
            
            
            
            
            
            haus-automatisierungH Offline
            haus-automatisierungH Offline
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @t1m0 Mach den Debug-Modus im Script aus… (oben rechts)

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            T 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @t1m0 Mach den Debug-Modus im Script aus… (oben rechts)

              T Offline
              T Offline
              t1m0
              schrieb am zuletzt editiert von
              #6

              @haus-automatisierung 🙆 danke!

              1 Antwort Letzte Antwort
              0

              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
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              287

              Online

              32.8k

              Benutzer

              82.6k

              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