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. 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.8k

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

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
5 Beiträge 3 Kommentatoren 271 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.
  • amg_666A Offline
    amg_666A Offline
    amg_666
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #4

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

          iobroker auf proxmox container

          1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            1
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            843

            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