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. ioBroker Allgemein
  4. [Frage] Klingel Bild per Mail versenden / Snapshot von Cam per Email versenden

NEWS

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

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

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

[Frage] Klingel Bild per Mail versenden / Snapshot von Cam per Email versenden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
17 Beiträge 10 Kommentatoren 3.7k Aufrufe
  • Ä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.
  • S Offline
    S Offline
    SigiMOE
    schrieb am zuletzt editiert von
    #3

    Hi,

    ich bin es nochmal, leider bin ich immer noch kein schritt weiter gekommen…., habe aber auch eine neue CAM

    Ich möchte gerne, dass meine Hikvision DS-2CD2342WD-I bei auslösen der Klingeltasters mir das Bild per Mail zusendet.

    Geht dies und wenn ja, wie....

    Also der Befehl für den SNAP lautet bei meinem Modell :

    http://192.168.178.70/Streaming/channels/101/picture

    meine Klingel hört auf : hm-rpc.0.MEQ0656994.1.PRESS_SHORT

    Email Adresse soll an : bild@klingelbild.de gesendet werden.

    Reichen die Angaben um was zu basteln oder fehlt noch eine Information ?

    Was ich bemerkt habe, das Bild benötigt ca. 5 Sekunden bis es im Browser vollständig angezeigt wird....

    Ich hoffe auf Eure Hilfe :-)

    CU

    SigiMOE

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #4

      @SigiMOE:

      Hi,

      ich bin es nochmal, leider bin ich immer noch kein schritt weiter gekommen…., habe aber auch eine neue CAM

      Ich möchte gerne, dass meine Hikvision DS-2CD2342WD-I bei auslösen der Klingeltasters mir das Bild per Mail zusendet.

      Geht dies und wenn ja, wie....

      Also der Befehl für den SNAP lautet bei meinem Modell :

      http://192.168.178.70/Streaming/channels/101/picture

      meine Klingel hört auf : hm-rpc.0.MEQ0656994.1.PRESS_SHORT

      Email Adresse soll an : bild@klingelbild.de gesendet werden.

      Reichen die Angaben um was zu basteln oder fehlt noch eine Information ?

      Was ich bemerkt habe, das Bild benötigt ca. 5 Sekunden bis es im Browser vollständig angezeigt wird....

      Ich hoffe auf Eure Hilfe :-)

      CU

      SigiMOE `

      Schonmal mit blockly dein Glück versucht ?

      Helfen dir lösungs Richtungen oder brauste eine Endlösung?

      Greetz

      Dutch

      Sent from my iPhone using Tapatalk

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        SigiMOE
        schrieb am zuletzt editiert von
        #5

        am liebsten eine Endlösung, aber eine Richtung wäre zumindest hilfreich.

        Nein Blockly habe ich nur ansatzweise mal versucht, aber richtig schlau werde ich leider nicht.

        Bin eben nur ein Kaufmann und Nutzer ;-) , leider kein IT Profi

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          SigiMOE
          schrieb am zuletzt editiert von
          #6

          keiner eine Idee, bzw. Hilfe für mich ?

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            BasGo
            schrieb am zuletzt editiert von
            #7

            Mal eben schnell aus dem eigenen Scripte-Fundus zusammengeschoben:

            function sendMailWithAttachment(subject, msg, attachment) {
                sendTo("email", {
                    to:         "empfaenger@email.de",
                    subject:    subject,
                    text:       msg,
                    html:       "
            
            " + msg + "
            
            ![](cid:image1)
            
            ",
                    attachments: [{path: attachment, cid: "image1"}]
                });
            }
            
            function sendPictureByMail(subject, message) {
            	// URL mit der man das Bild bekommt
            	var req = 'http://ip-der-kamera:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=BENUTZER&pwd=PASSWORT';
                request.get({url: req, encoding: 'binary'}, function (err, response, body) {
                    fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                        if (!err) {
                            sendMailWithAttachment(subject, message, '/tmp/snap.jpg');
                        }
                    }); 
                });
            }
            
            subscribe({id: "hhm-rpc.0.MEQ0656994.1.PRESS_SHORT" , val: true}, function (obj) {
                    sendPictureByMail('Es hat geklingelt', 'Hier ein aktuelles Bild:');
            });
            
            

            Ich hoffe, dass du damit was anfangen kannst? 8-)

            VG

            Bastian

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              SigiMOE
              schrieb am zuletzt editiert von
              #8

              hi,

              ich bekomme folgenden Fehler :

              21:06:09.770 [error] javascript.0 script.js.common.Klingel.EmailK compile failed: SyntaxError: Unexpected identifier

              Skript :

              ! ````
              function sendMailWithAttachment(subject, msg, attachment) {
              sendTo("email", {
              to: "iobrokertestxxx@gmail.com",
              subject: subject, hallo
              text: msg, test
              html: "
              ! " + msg + "
              !
              ! ",
              attachments: [{path: attachment, cid: "image1"}]
              });
              }
              ! function sendPictureByMail(subject, message) {
              // URL mit der man das Bild bekommt
              var req = 'http://192.168.178.21/Streaming/channels/102/picture';
              request.get({url: req, encoding: 'binary'}, function (err, response, body) {
              fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
              if (!err) {
              sendMailWithAttachment(subject, message, '/tmp/snap.jpg');
              }
              });
              });
              }
              ! subscribe({id: "hhm-rpc.0.MEQ0656994.1.PRESS_SHORT" , val: true}, function (obj) {
              sendPictureByMail('Es hat geklingelt', 'Hier ein aktuelles Bild:');

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                BasGo
                schrieb am zuletzt editiert von
                #9

                @SigiMOE:

                hi,

                ich bekomme folgenden Fehler :

                21:06:09.770 [error] javascript.0 script.js.common.Klingel.EmailK compile failed: SyntaxError: Unexpected identifier

                Skript :

                function sendMailWithAttachment(to, subject, msg, attachment) {
                    sendTo("email", {
                        to:         to,
                        subject:    subject,
                        text:       msg,
                        html:       "
                
                " + msg + "
                
                ![](cid:image1)
                
                ",
                        attachments: [{path: attachment, cid: "image1"}]
                    });
                }
                
                function sendPictureByMail(uri, to, subject, message) {
                    request.get({url: uri, encoding: 'binary'}, function (err, response, body) {
                        fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                            if (!err) {
                                sendMailWithAttachment(to, subject, message, '/tmp/snap.jpg');
                            }
                        }); 
                    });
                }
                
                subscribe({id: "hhm-rpc.0.MEQ0656994.1.PRESS_SHORT" , val: true}, function (obj) {
                        sendPictureByMail('http://192.168.178.21/Streaming/channels/102/picture', 'iobrokertestxxx@gmail.com', 'Hallo', 'Test');
                ```` `  
                

                Nimm dein "Hallo" und "Test" wieder raus und setze es unten in den Aufruf der Funktion sendPictureByMail(…) rein. Der Einfachheit halber habe ich die Adresse fürs Bild und die E-Mail-Adresse auch mal in den Aufruf verschoben. Das Schema ist wie folgt:

                sendPictureByMail('<adresse fürs/bild="">', '<e-mail-empfänger', '<betreff="">', '<text>');</text></e-mail-empfänger',></adresse> 
                

                Mehr als diese eine Zeile solltest du nicht ändern müssen.

                VG

                Bastian

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  SigiMOE
                  schrieb am zuletzt editiert von
                  #10

                  hm habe jetzt genau diese Zeilen als Skript :

                  function sendMailWithAttachment(to, subject, msg, attachment) {
                      sendTo("email", {
                          to:         to,
                          subject:    subject,
                          text:       msg,
                          html:       "
                  
                  " + msg + "
                  
                  ![](cid:image1)
                  
                  ",
                          attachments: [{path: attachment, cid: "image1"}]
                      });
                  }
                  
                  function sendPictureByMail(uri, to, subject, message) {
                      request.get({url: uri, encoding: 'binary'}, function (err, response, body) {
                          fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                              if (!err) {
                                  sendMailWithAttachment(to, subject, message, '/tmp/snap.jpg');
                              }
                          }); 
                      });
                  }
                  
                  subscribe({id: "hhm-rpc.0.MEQ0656994.1.PRESS_SHORT" , val: true}, function (obj) {
                          sendPictureByMail('http://192.168.178.21/Streaming/channels/102/picture', 'iobrokertestxxx@gmail.com', 'Hallo', 'Test');
                  

                  und es kommt beim Starten immer noch dieser Fehler :

                  07:41:53.679 [error] javascript.0 script.js.common.Klingel.Email compile failed: SyntaxError: Unexpected end of input

                  was habe ich falsch gemacht ?

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    dtp
                    schrieb am zuletzt editiert von
                    #11

                    Na, auf jeden Fall fehlt da schon mal ein

                    });
                    

                    am Ende des Skripts.

                    ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      spaceduck
                      schrieb am zuletzt editiert von
                      #12

                      Ich häng mich hier mal dran da ich auch eine Möglichkeit suche das Kamerabild per Mail zu versenden. Sobald ich das Script aus Post #10 auslöse kommt bei mir folgende Fehlemeldung im Log:

                      javascript.0	2017-07-02 19:21:40.878	error	at Object.change (/volume1/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3045:37)
                      javascript.0	2017-07-02 19:21:40.878	error	at Object.stateChange (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:253:17)
                      javascript.0	2017-07-02 19:21:40.878	error	at checkPatterns (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17)
                      javascript.0	2017-07-02 19:21:40.878	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3229:28)
                      javascript.0	2017-07-02 19:21:40.878	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3229:28)
                      javascript.0	2017-07-02 19:21:40.878	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3210:17)
                      javascript.0	2017-07-02 19:21:40.878	error	at /volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48
                      javascript.0	2017-07-02 19:21:40.878	error	at Object.callback (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48)
                      javascript.0	2017-07-02 19:21:40.878	error	at Object. (script.js.common.Klingel_-_Kamerabild:24:9)
                      javascript.0	2017-07-02 19:21:40.878	error	at sendPictureByMail (script.js.common.Klingel_-_Kamerabild:14:5)
                      javascript.0	2017-07-02 19:21:40.878	error	ReferenceError: request is not defined
                      javascript.0	2017-07-02 19:21:40.877	error	message hm-rpc.0.MEQ0045011.1.PRESS_SHORT [object Object] request is not defined
                      javascript.0	2017-07-02 19:21:40.839	error	at Object.change (/volume1/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3045:37)
                      javascript.0	2017-07-02 19:21:40.839	error	at Object.stateChange (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:253:17)
                      javascript.0	2017-07-02 19:21:40.839	error	at checkPatterns (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17)
                      javascript.0	2017-07-02 19:21:40.839	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3229:28)
                      javascript.0	2017-07-02 19:21:40.839	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3229:28)
                      javascript.0	2017-07-02 19:21:40.839	error	at getObjectEnums (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3210:17)
                      javascript.0	2017-07-02 19:21:40.839	error	at /volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48
                      javascript.0	2017-07-02 19:21:40.839	error	at Object.callback (/volume1/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48)
                      javascript.0	2017-07-02 19:21:40.839	error	at Object. (script.js.common.Klingel_-_Kamerabild:24:9)
                      javascript.0	2017-07-02 19:21:40.839	error	at sendPictureByMail (script.js.common.Klingel_-_Kamerabild:14:5)
                      javascript.0	2017-07-02 19:21:40.839	error	ReferenceError: request is not defined
                      javascript.0	2017-07-02 19:21:40.838	error	message hm-rpc.0.MEQ0045011.1.PRESS_SHORT [object Object] request is not defined
                      

                      Kann damit jemand was anfangen? Ich steh grad auf dem Schlauch was da falsch laufen könnte.

                      MfG Jan

                      HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

                      1 Antwort Letzte Antwort
                      0
                      • frankjokeF Offline
                        frankjokeF Offline
                        frankjoke
                        schrieb am zuletzt editiert von
                        #13

                        Seit nodejs 4.x ist 'request' ein eigenes modul und muss deshalb mit

                        var request = require('request');
                        
                        

                        definiert werden.

                        Ich bin mir nicht sicher ob nicht auch ein Eintrag in der Javascript-Adapter-Konfig notwendig ist.

                        Frank,

                        NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                        Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          spaceduck
                          schrieb am zuletzt editiert von
                          #14

                          Danke Dir… Das war's.

                          Zusätzlich musste ich noch fs definieren, dann lief das Script. Bild wird direkt als Anhang versendet.

                          var fs = require('fs');
                          

                          HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            Dice19
                            schrieb am zuletzt editiert von
                            #15

                            HI,

                            wollte das für mich übernehmen nur bei mir kommt eine andere Fehlermeldung wenn jemand drauf schauen könnte…..

                            Danke Euch

                            Tobias

                            Error 1 at row 1 col 39 near ^ sendMailWithAttachment(subject, msg, attachment) {
                                sendTo("email", {
                            
                            Parse following code failed:
                            function sendMailWithAttachment(subject, msg, attachment) {
                                sendTo("email", {
                                    to:         "XXX@gmail.com",
                                    subject:    subject,
                                    text:       msg,
                                    html:       "
                            
                            " + msg + "
                            
                            ![](cid:image1)
                            
                            ",
                                    attachments: [{path: attachment, cid: "image1"}]
                                });
                            }
                            
                            function sendPictureByMail(subject, message) {
                               // URL mit der man das Bild bekommt
                               var req = 'http://192.168.178.48/tmpfs/auto.jpg?user=XXX&pwd=XXX';
                                request.get({url: req, encoding: 'binary'}, function (err, response, body) {
                                    fs.writeFile('/tmp/snap.jpg', body, 'binary', function(err) {
                                        if (!err) {
                                            sendMailWithAttachment(subject, message, '/tmp/snap.jpg');
                                        }
                                    }); 
                                });
                            }
                            
                            subscribe({id: "HM-Sen-DB-PCB NEQ095XXXX:1.PRESS_SHORT" , val: true}, function (obj) {
                                    sendPictureByMail('Es hat geklingelt', 'Hier ein aktuelles Bild:');
                            });
                            

                            geändert: Code in Code-Tags; Homoran (Mod.)

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              marschmello
                              schrieb am zuletzt editiert von
                              #16

                              Hallo,

                              ich habe hierzu eine Nachfrage. Ich benutze die Befehle request.get und fs.writeFile schon erfolgreich in einem Script um meine Kameras bei Bedarf ab zu fragen.

                              Ich habe nun noch eine weitere Kamera per WLAN hinzugefügt und bekomme leider kein Bild abgespeichert bzw es wird ein jpg abgespeichert, welches aber in der Dateigröße deutlich kleiner ist als alle anderen und auch nicht zu öffnen geht.

                              Leider meldet der Request auch keine Fehler. Ich bin Ratlos.

                              Die gleiche Kamera hatte ich vorher im Lan angeschlossen und es war kein Problem ein

                              Bild zu erzeugen und zu speichern.

                              Muss man andere Befehle benutzen , wenn die Kamera über WLAN angesprochen wird?

                              Weiß jemand Rat?? :roll:

                              Lg Ralf

                              var url_snapshot3 = "http://192.168.XX.XX/snapshot.cgi?usr=XXXX&pwd=XXXXX";//Auffahrt
                              
                              request.get({url: url_snapshot3, encoding: 'binary'}, function (err, response, body)
                                      {
                                       if (body) {
                                              log('Request - alles ok');
                                          } else {
                                              log('Request meldet Fehler!', 'error');  
                                          }   
                              
                                      fs.writeFile("/home/pi/Bilder/AlleKameras/NEU.jpg", body, 'binary', function(err) 
                                          {
                                          if (err) 
                                              {
                                              console.error(err);
                                              log("Fehler Foto 5");
                                              } 
                                          else     
                                              {
                                              console.log('Foto 5 OK');
                                              }
                                          });
                              
                                      });
                              
                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                chrizzel
                                schrieb am zuletzt editiert von
                                #17

                                @marschmello:

                                Hallo,

                                ich habe hierzu eine Nachfrage. Ich benutze die Befehle request.get und fs.writeFile schon erfolgreich in einem Script um meine Kameras bei Bedarf ab zu fragen.

                                Ich habe nun noch eine weitere Kamera per WLAN hinzugefügt und bekomme leider kein Bild abgespeichert bzw es wird ein jpg abgespeichert, welches aber in der Dateigröße deutlich kleiner ist als alle anderen und auch nicht zu öffnen geht.

                                Leider meldet der Request auch keine Fehler. Ich bin Ratlos.

                                Die gleiche Kamera hatte ich vorher im Lan angeschlossen und es war kein Problem ein

                                Bild zu erzeugen und zu speichern.

                                Muss man andere Befehle benutzen , wenn die Kamera über WLAN angesprochen wird?

                                Weiß jemand Rat?? :roll:

                                Lg Ralf `

                                Hi Ralf,

                                ich habe keine Ahnung vom Programmieren, aber dafür ein ähnliches Problem in meiner alten FHEM Installation gehabt. Bei mir waren es die deutlich längeren Laufzeiten über WLAN.

                                Dadurch wurde zwar eine .jpg Datei erzeugt, aber diese war vor ihrer Weiterverarbeitung quasi nicht zuende geschrieben und daher nicht lesbar.

                                Ich hatte damals eine Zeitverzögerung eingebaut um das Problem zu lösen.

                                beste Grüße

                                Chris

                                Beste Grüße

                                Chris

                                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
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                573

                                Online

                                32.7k

                                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