Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. (Gelöst) Probleme mit Skript (Bild an Telegram senden)

NEWS

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

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

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

(Gelöst) Probleme mit Skript (Bild an Telegram senden)

(Gelöst) Probleme mit Skript (Bild an Telegram senden)

Scheduled Pinned Locked Moved JavaScript
javascript
5 Posts 3 Posters 265 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • amg_666A Offline
    amg_666A Offline
    amg_666
    wrote on last edited by amg_666
    #1

    Hallo, ich werte einen HM-Klingelsensor aus und wenn Klingel gedrückt wird, soll ein Bild einer Webcam an meinen Telegram account gesendet werden.
    Das läuft gefühlt seit Jahren stabil, ich habe jetzt aber gesehen, dass Fehler im Log sind und weiß da nicht wirklich weiter.
    Beta-Repository, alle Adapter aktuell, node-js 20.15.1, npm 10.7.0, js-controller 6.0.9.

    Das Skript:

    url_snapshot = 'http://192.168.1.30/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXXXX';
    
    on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT", val: true}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      await etwas_tun();
    });
    
    async function etwas_tun() {
        var fs = require('fs');
        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', {text: '/tmp/snap.jpg',chatId: 'XXXXXXX', caption: 'Es hat geklingelt !'});
                        }
                    }); 
                });     
    }
    
    

    Wenn hm-rpc.0....PRESS_SHORT auslöst, kommt folgendes log:

    288
    
    Log-Größe: 195.1 KB
    Zeit
    	
    javascript.0
    	2024-07-23 16:52:29.295	error	at processImmediate (node:internal/timers:478:21)
    javascript.0
    	2024-07-23 16:52:29.295	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11053:62)
    javascript.0
    	2024-07-23 16:52:29.295	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:644:29)
    javascript.0
    	2024-07-23 16:52:29.295	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1427:38)
    javascript.0
    	2024-07-23 16:52:29.295	error	at Object.<anonymous> (script.js.Telegram.Bild_an_Telegram:16:9)
    javascript.0
    	2024-07-23 16:52:29.295	error	at etwas_tun (script.js.Telegram.Bild_an_Telegram:21:5)
    javascript.0
    	2024-07-23 16:52:29.294	error	script.js.Telegram.Bild_an_Telegram: ReferenceError: request is not defined
    

    Wär toll, wenn mir hier jemand weiterhelfen könnte.

    iobroker auf proxmox container

    paul53P T 2 Replies Last reply
    0
    • amg_666A amg_666

      Hallo, ich werte einen HM-Klingelsensor aus und wenn Klingel gedrückt wird, soll ein Bild einer Webcam an meinen Telegram account gesendet werden.
      Das läuft gefühlt seit Jahren stabil, ich habe jetzt aber gesehen, dass Fehler im Log sind und weiß da nicht wirklich weiter.
      Beta-Repository, alle Adapter aktuell, node-js 20.15.1, npm 10.7.0, js-controller 6.0.9.

      Das Skript:

      url_snapshot = 'http://192.168.1.30/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXXXX';
      
      on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT", val: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        await etwas_tun();
      });
      
      async function etwas_tun() {
          var fs = require('fs');
          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', {text: '/tmp/snap.jpg',chatId: 'XXXXXXX', caption: 'Es hat geklingelt !'});
                          }
                      }); 
                  });     
      }
      
      

      Wenn hm-rpc.0....PRESS_SHORT auslöst, kommt folgendes log:

      288
      
      Log-Größe: 195.1 KB
      Zeit
      	
      javascript.0
      	2024-07-23 16:52:29.295	error	at processImmediate (node:internal/timers:478:21)
      javascript.0
      	2024-07-23 16:52:29.295	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11053:62)
      javascript.0
      	2024-07-23 16:52:29.295	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:644:29)
      javascript.0
      	2024-07-23 16:52:29.295	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1427:38)
      javascript.0
      	2024-07-23 16:52:29.295	error	at Object.<anonymous> (script.js.Telegram.Bild_an_Telegram:16:9)
      javascript.0
      	2024-07-23 16:52:29.295	error	at etwas_tun (script.js.Telegram.Bild_an_Telegram:21:5)
      javascript.0
      	2024-07-23 16:52:29.294	error	script.js.Telegram.Bild_an_Telegram: ReferenceError: request is not defined
      

      Wär toll, wenn mir hier jemand weiterhelfen könnte.

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @amg_666 sagte: ReferenceError: request is not defined

      Wenn du request() verwenden willst, muss oben im Skript ergänzt werden

      const request = require('request');
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      amg_666A 1 Reply Last reply
      1
      • amg_666A amg_666

        Hallo, ich werte einen HM-Klingelsensor aus und wenn Klingel gedrückt wird, soll ein Bild einer Webcam an meinen Telegram account gesendet werden.
        Das läuft gefühlt seit Jahren stabil, ich habe jetzt aber gesehen, dass Fehler im Log sind und weiß da nicht wirklich weiter.
        Beta-Repository, alle Adapter aktuell, node-js 20.15.1, npm 10.7.0, js-controller 6.0.9.

        Das Skript:

        url_snapshot = 'http://192.168.1.30/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=admin&pwd=XXXXX';
        
        on({id:"hm-rpc.0.MEQ0657107.1.PRESS_SHORT", val: true}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          await etwas_tun();
        });
        
        async function etwas_tun() {
            var fs = require('fs');
            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', {text: '/tmp/snap.jpg',chatId: 'XXXXXXX', caption: 'Es hat geklingelt !'});
                            }
                        }); 
                    });     
        }
        
        

        Wenn hm-rpc.0....PRESS_SHORT auslöst, kommt folgendes log:

        288
        
        Log-Größe: 195.1 KB
        Zeit
        	
        javascript.0
        	2024-07-23 16:52:29.295	error	at processImmediate (node:internal/timers:478:21)
        javascript.0
        	2024-07-23 16:52:29.295	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11053:62)
        javascript.0
        	2024-07-23 16:52:29.295	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:644:29)
        javascript.0
        	2024-07-23 16:52:29.295	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1427:38)
        javascript.0
        	2024-07-23 16:52:29.295	error	at Object.<anonymous> (script.js.Telegram.Bild_an_Telegram:16:9)
        javascript.0
        	2024-07-23 16:52:29.295	error	at etwas_tun (script.js.Telegram.Bild_an_Telegram:21:5)
        javascript.0
        	2024-07-23 16:52:29.294	error	script.js.Telegram.Bild_an_Telegram: ReferenceError: request is not defined
        

        Wär toll, wenn mir hier jemand weiterhelfen könnte.

        T Offline
        T Offline
        TT-Tom
        wrote on last edited by TT-Tom
        #3

        @amg_666

        Welche JS Adapter Version hast du?
        Du solltest dein Script umstellen auf httpGet und createTempFile , siehe Doku hier.

        Gruß Tom
        https://github.com/tt-tom17
        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

        NSPanel Script Wiki
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        NSPanel Adapter Wiki
        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

        amg_666A 1 Reply Last reply
        0
        • T TT-Tom

          @amg_666

          Welche JS Adapter Version hast du?
          Du solltest dein Script umstellen auf httpGet und createTempFile , siehe Doku hier.

          amg_666A Offline
          amg_666A Offline
          amg_666
          wrote on last edited by
          #4

          @tt-tom Die Doku schau ich mit an, js Adapter ist 8.7.1

          iobroker auf proxmox container

          1 Reply Last reply
          0
          • paul53P paul53

            @amg_666 sagte: ReferenceError: request is not defined

            Wenn du request() verwenden willst, muss oben im Skript ergänzt werden

            const request = require('request');
            
            amg_666A Offline
            amg_666A Offline
            amg_666
            wrote on last edited by
            #5

            @paul53 sagte in Probleme mit Skript (Bild an Telegram senden):

            const request = require('request');

            Danke, das hat erstmal funktioniert, aber er warnt jetzt, dass request "deprecated" ist, ich werd mal mit der Anleitung, die @TT-Tom verlinkt hat, auf httpGet umstellen.

            iobroker auf proxmox container

            1 Reply Last reply
            1
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            611

            Online

            32.4k

            Users

            81.3k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe