Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Tür Kamera bei Klingel

NEWS

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

  • 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

Tür Kamera bei Klingel

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
13 Posts 7 Posters 4.0k Views 12 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.
  • Meister-xM Offline
    Meister-xM Offline
    Meister-x
    wrote on last edited by
    #1

    Hallo ,

    hoffe es kann mir einer helfen..habe schon Tage/Wochen voller Verzweiflung verbracht. :roll:

    Mein Wunsch wäre es in der VIS meine IP Kamera (Instar) beim Klingelzeichen anzeigen zu lassen.(z.B. jpg alle 5 Sekunden -kein Livevideo)

    Toll wäre es auch wenn das Tablet automatisch aufwacht.

    Benütze zum Aufwachen meines Tablet den Fully Kiosk .

    Im Fritzphone klappt es prima..lasse JPG in ca 5 Sek Rytmus anzeigen.

    Vielen Dank

    Gerhard

    1 Reply Last reply
    0
    • K Offline
      K Offline
      Kaldi
      wrote on last edited by
      #2

      sowas hier?: https://www.youtube.com/watch?v=0r6QgCjZMd8

      1 Reply Last reply
      0
      • Meister-xM Offline
        Meister-xM Offline
        Meister-x
        wrote on last edited by
        #3

        danke für die Info -werd es gleich mal versuchen.

        Mein grösseres Problem ist das meine Aussen-Kamera per JPG zwar im VIS am PC angezeigt wird aber nicht am Tablet ….

        Vielleicht hat einer eine Lösung ?

        Danke

        1 Reply Last reply
        0
        • ChaotC Offline
          ChaotC Offline
          Chaot
          wrote on last edited by
          #4

          Am elegantesten wird es wenn du die Kamera als View in VIS einbindest.

          Bei meinem Klingelscript wird das alles automatisch abgearbeitet.

          var sperre = false;  //verhindert das doppeltes Drücken das Script stoppt
          
          on({id: 'sonoff.0.Eingang.POWER2', change: "any"}, function (obj) {
            if(!sperre) {
              sperre = true;
               sendTo('phantomjs.0', 'send', {
              url:                    'http://192.168.8.95:8765/picture/2/current/?_username=xxxxxx&_signature=xxxxxxx',
              output:                 'picture.png',  // default value
              width:                  800,            // default value
              height:                 600,            // default value
              timeout:                2000,           // default value
              zoom:                   1,              // default value
          
              'clip-top':             0,              // default value
              'clip-left':            0,              // default value
              'clip-width':           800,            // default value is equal to width
              'clip-height':          600,            // default value is equal to height
              'scroll-top':           0,              // default value
              'scroll-left':          0,              // default value
          
              online:                 true           // default value
          }, function (result) {
              if (result.error) {
                  console.error(JSON.stringify(result.error));
              }
              if (result.stderr) {
                  console.error(result.stderr);
              }
              if (result.stdout) {
                  console.log(result.stdout);
              }
              console.log(result.output);
          
          });
          timeout = setTimeout(function () {
          sendTo("email", "send", {
               text: '',
               to: 'xxxxx@gxxx.com',
               subject: 'Klingel',
               attachments:[
                  {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"},
                ]
          
           }); //Mail mit Bild Empfänger 1
           sendTo("email", "send", {
               text: '',
               to: 'xxxxxxxx@gxxxxx.com',
               subject: 'Klingel',
               attachments:[
                  {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"},
                ]
          
           }); //Mail mit Bild Empfänger 2
           }, 5000); // Verzögert den Mailversand bis das Bild gespeichert ist
          
               setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Tuer"}'); 
                     // oder
                     //setState("vis.0.control.instance", 'FFFFFFFF');
                     //setState("vis.0.control.data",     'DemoView');
                     //setState("vis.0.control.command",  'changeView'); // muss immer letzte sein
          
                     // Setze View auf Kamerabild
                     setTimeout(function () {
                                setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Neu/Info"}');
                     }, 60000); // Nach 60 Sekunden, zeige wieder Start View
              setState("tr-064.0.states.ring"/*ring*/, '**611, 15'); //Klingelt 15 Sekunden auf dem Telefon
              sendTo("pushover", "send", {
                 message: 'Klingel',
                    file: "/opt/iobroker/node_modules/iobroker.phantomjs/picture.png",   
                    sound: ""
              }); //Klingelinfo über Pushover
              timeout = setTimeout(function () {
              setState("alexa2.0.Echo-Devices.G2AxxxxxLLE.Player.volume"/*volume*/, 90, true);
              }, 500); // Setzt Alexa auf 90%
              timeout = setTimeout(function () {
              setState("alexa2.0.Echo-Devices.G2AxxxxxLLE.Commands.speak"/*speak*/, 'Es ist jemand an der Tür');
              }, 1000); // Sprachansage
              timeout = setTimeout(function () {
              setState("alexa2.0.Echo-Devices.G2AxxxxxLLE.Player.volume"/*volume*/, 50, true);
              }, 1500); // Setzt Alexa auf 50%
              setTimeout(function() {
                 sperre = false;
              }, 5000); //Zeit für Klingelsperre 1.Zeile
            }  
          });
          

          Beim Drücken des Klingelknopfes passiert folgendes:

          • Es wird ein Snapshot erstellt

          • dieser wird an zwei Mailadressen versendet

          • über die Fritzbox wird das Dect Telefon angerufen (als Klingelsignal)

          • Alexa äußert sich

          • die View am Tablet wird für 60 Sekunden auf das Kamerabild geschaltet.

          Zusätzlich wird der Klingelknopf für 5000 ms gesperrt um zu verhindern das das Script durch schnelles Drücken gestoppt wird.

          Meine Kamera hat nur einen rstp Stream der auch so nicht verwendbar ist. Deshalb läuft nebenher noch Motineye das mir den Stream umsetzt.

          ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

          1 Reply Last reply
          0
          • Meister-xM Offline
            Meister-xM Offline
            Meister-x
            wrote on last edited by
            #5

            Dankeschön- ist ja echt toll !

            Für einen Anfänger wie mich sehr umfangreich -werde es versuchen - nur ohne Mail.

            Was für Adapter für Video benötige ich noch ?

            1 Reply Last reply
            0
            • T Offline
              T Offline
              tege0
              wrote on last edited by
              #6

              Hallo,

              super Umsetzung, könntest du die auch als Blockly Ausgeben und/oder per Telgramm das Bild verschicken?

              Vielen Dank

              1 Reply Last reply
              0
              • ChaotC Offline
                ChaotC Offline
                Chaot
                wrote on last edited by
                #7

                @tege0

                Das Versenden per Telegramm ist sicher möglich. Aber da ich Telegramm nicht nutze kann ich das auf die Schnelle so nicht erklären was da zu machen wäre.

                Als Blockly umsetzen?

                Ich wüsste nicht wie man das konvertieren könnte. Umgekehrt geht, aber von JS nach Blockly :?:

                @Meister-x

                Die Viedoausgabe hängt von deiner Kamera ab.

                In meinem Fall liefert die billige Chinesenkamera nur einen RSTP-Stream den ich direkt im ioBroker nicht nutzen konnte. So musste ich auf dem Server noch motionEye installieren und den Stream umwandeln.

                Manche Kameras liefern auch ein mjpg-Stream. Den kannst du direkt in VIS verwenden. Dann brauchst du auch keinen zusätzlichen Adapter im ioBroker

                Für das Bild benötige ich noch den "phantom.js" Adapter. Aber wenn du das Bild direkt vorliegen hast musst du nur den Speicerort beim Mailversand anpassen und kannst dir den Umweg vermutlich auch sparen.

                Wenn du den Mailversand auch nicht brauchst kannst du den Bereich:

                 sperre = true;
                     sendTo('phantomjs.0', 'send', {
                    url:                    'http://192.168.8.95:8765/picture/2/current/?_username=xxxxxx&_signature=xxxxxxx',
                    output:                 'picture.png',  // default value
                    width:                  800,            // default value
                    height:                 600,            // default value
                    timeout:                2000,           // default value
                    zoom:                   1,              // default value
                
                    'clip-top':             0,              // default value
                    'clip-left':            0,              // default value
                    'clip-width':           800,            // default value is equal to width
                    'clip-height':          600,            // default value is equal to height
                    'scroll-top':           0,              // default value
                    'scroll-left':          0,              // default value
                
                    online:                 true           // default value
                }, function (result) {
                    if (result.error) {
                        console.error(JSON.stringify(result.error));
                    }
                    if (result.stderr) {
                        console.error(result.stderr);
                    }
                    if (result.stdout) {
                        console.log(result.stdout);
                    }
                    console.log(result.output);
                
                });
                timeout = setTimeout(function () {
                sendTo("email", "send", {
                     text: '',
                     to: 'xxxxx@gxxx.com',
                     subject: 'Klingel',
                     attachments:[
                        {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"},
                      ]
                
                 }); //Mail mit Bild Empfänger 1
                 sendTo("email", "send", {
                     text: '',
                     to: 'xxxxxxxx@gxxxxx.com',
                     subject: 'Klingel',
                     attachments:[
                        {path: '/opt/iobroker/node_modules/iobroker.phantomjs/picture.png', cid: "file1"},
                      ]
                
                 }); //Mail mit Bild Empfänger 2
                 }, 5000); // Verzögert den Mailversand bis das Bild gespeichert ist
                

                weglassen.

                ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                1 Reply Last reply
                0
                • FredFF Online
                  FredFF Online
                  FredF
                  Most Active Forum Testing
                  wrote on last edited by
                  #8

                  @tege0:

                  Hallo,

                  super Umsetzung, könntest du die auch als Blockly Ausgeben und/oder per Telgramm das Bild verschicken?

                  Vielen Dank `

                  Ich habe auch eine Instar und nutze diese javascript hier aus dem Forum.

                  Der Trigger ist ein Zigbee Kontakt und die Bilder werden nur gesendet wenn niemand zuhause ist (Unifi Adapter).

                  // Telegram Bild senden durch Klingel oder Text to command
                  var source_url = 'http://192.168.xx.xx:80/tmpfs/auto.jpg?usr=xxx&pwd=xxx', //IP Adresse der Instar mit user und password
                      dest_path = 'G:/Kam/'; //Speicherort für das Bild
                  
                  var Nachricht = "Es hat an der Haustüre geklingelt"; // Nachricht, welche mit dem Bild gesendet wird
                  
                  var request = require('request');
                  var fs      = require('fs');
                  
                  //var timer = null;
                  var count = 0;
                  
                  // Bild an telegram schicken
                  function sendImage (pfad) {
                          sendTo('telegram.0', pfad);
                          //log('Webcam Bild per telegram verschickt');
                          //sendTo("telegram.0", Nachricht);    // <-- nach der Timeout funktion ausführen
                  }
                  
                  // Bild speichern
                  function saveImage() {
                      request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                          fs.writeFile(dest_path + 'image2.jpg', body, 'binary', function(err) {
                  
                          if (err) {
                              //log('Fehler beim Bild speichern: ' + err, 'warn');
                          } else {
                              //log('Webcam Bild gespeichert');
                              sendImage(dest_path + 'image2.jpg');
                          }
                        }); 
                      });
                  }
                  
                  //Trigger
                  // 3 Bilder senden wenn Bewegung erkannt und keiner zu Hause ist
                  on({id: "zigbee.0.xxxx.isopen"/*Is open*/, val: true}, function () {
                  //    if (getState("javascript.0.Unifi.Anwesenheit.UAP.Chef"/*WLAN Anwesenheit (UAP) - Chef*/).val === false) {
                      count = 3;
                      counter();
                      timer = setInterval(counter, 3000);
                      }
                  );
                  
                  function counter() {
                      saveImage();
                      count--;
                      if(count === 0 && timer) clearInterval(timer);
                  }   
                  
                  1 Reply Last reply
                  1
                  • D Offline
                    D Offline
                    danw
                    wrote on last edited by
                    #9

                    @Chaot:

                    In meinem Fall liefert die billige Chinesenkamera nur einen RSTP-Stream den ich direkt im ioBroker nicht nutzen konnte. So musste ich auf dem Server noch motionEye installieren und den Stream umwandeln. `

                    Schau dir mal ONVIF (https://en.wikipedia.org/wiki/ONVIF + https://github.com/futomi/node-onvif) an.

                    It's not a Bug, it's a Feature

                    1 Reply Last reply
                    0
                    • ChaotC Offline
                      ChaotC Offline
                      Chaot
                      wrote on last edited by
                      #10

                      @danw Aber dann muss ich den Stream doch trotzdem umwandeln um ihn in VIS darzustellen.

                      Deshalb habe ich mich für motionEye entschieden. ONVIF kann zwar mehr, aber das sind überwiegend Funktionen die ich benötige.

                      ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                      1 Reply Last reply
                      0
                      • J Offline
                        J Offline
                        jensus11
                        wrote on last edited by jensus11
                        #11

                        Hi,
                        ich versuche mir auch ein Script zurecht zu basteln, klappt leider nicht.
                        Kann da mal jemand rüber schauen?

                        var sperre = false;  //verhindert das doppeltes Drücken das Script stoppt
                        
                        on({id: "hm-rpc.0.OEQ0124924.1.STATE"/*Is open*/, val: true}, function () {
                            if (getState("javascript.0.Unifi.Anwesenheit.UAP.Chef"/*WLAN Anwesenheit (UAP) - Chef*/).val === false) {
                            
                            sendTo('phantomjs.0', 'send', {
                            url:                    'http://192.168.1.XX:XXX/picture/1/current/',
                            output:                 'picture.png',  // default value
                            width:                  800,            // default value
                            height:                 600,            // default value
                            timeout:                2000,           // default value
                            zoom:                   1,              // default value
                        
                            online:                 true           // default value
                        }, function (result) {
                            if (result.error) {
                                console.error(JSON.stringify(result.error));
                            }
                            if (result.stderr) {
                                console.error(result.stderr);
                            }
                            if (result.stdout) {
                                console.log(result.stdout);
                            }
                            console.log(result.output);
                        
                        }),
                        
                        // Bild an telegram schicken
                        function sendImage (pfad) {
                                sendTo('telegram.0', '/opt/iobroker/node_modules/iobroker.phantomjs/test.png');
                                log('Webcam Bild per telegram verschickt');
                                //sendTo("telegram.0", Nachricht);    // <-- nach der Timeout funktion ausführen
                        },
                        
                            sendTo("pushover", "send", {
                               message: 'Klingel',
                                  file: "/opt/iobroker/node_modules/iobroker.phantomjs/test.png",   
                                  sound: ""
                            }, //Klingelinfo über Pushover
                        
                            setTimeout(function() {
                               sperre = false;
                             }, 5000); //Zeit für Klingelsperre 1.Zeile
                          }  
                        });
                        

                        Zeile 44 meckert er immer.

                        danke.

                        ChaotC 1 Reply Last reply
                        0
                        • J jensus11

                          Hi,
                          ich versuche mir auch ein Script zurecht zu basteln, klappt leider nicht.
                          Kann da mal jemand rüber schauen?

                          var sperre = false;  //verhindert das doppeltes Drücken das Script stoppt
                          
                          on({id: "hm-rpc.0.OEQ0124924.1.STATE"/*Is open*/, val: true}, function () {
                              if (getState("javascript.0.Unifi.Anwesenheit.UAP.Chef"/*WLAN Anwesenheit (UAP) - Chef*/).val === false) {
                              
                              sendTo('phantomjs.0', 'send', {
                              url:                    'http://192.168.1.XX:XXX/picture/1/current/',
                              output:                 'picture.png',  // default value
                              width:                  800,            // default value
                              height:                 600,            // default value
                              timeout:                2000,           // default value
                              zoom:                   1,              // default value
                          
                              online:                 true           // default value
                          }, function (result) {
                              if (result.error) {
                                  console.error(JSON.stringify(result.error));
                              }
                              if (result.stderr) {
                                  console.error(result.stderr);
                              }
                              if (result.stdout) {
                                  console.log(result.stdout);
                              }
                              console.log(result.output);
                          
                          }),
                          
                          // Bild an telegram schicken
                          function sendImage (pfad) {
                                  sendTo('telegram.0', '/opt/iobroker/node_modules/iobroker.phantomjs/test.png');
                                  log('Webcam Bild per telegram verschickt');
                                  //sendTo("telegram.0", Nachricht);    // <-- nach der Timeout funktion ausführen
                          },
                          
                              sendTo("pushover", "send", {
                                 message: 'Klingel',
                                    file: "/opt/iobroker/node_modules/iobroker.phantomjs/test.png",   
                                    sound: ""
                              }, //Klingelinfo über Pushover
                          
                              setTimeout(function() {
                                 sperre = false;
                               }, 5000); //Zeit für Klingelsperre 1.Zeile
                            }  
                          });
                          

                          Zeile 44 meckert er immer.

                          danke.

                          ChaotC Offline
                          ChaotC Offline
                          Chaot
                          wrote on last edited by
                          #12

                          @jensus11 Was mir auffällt ist, das du für das Speichern des Bildes keinen Timeout gesetzt hast. Also versuchst du zu versenden solange er noch das Bild speichert. Das hat bei mir nicht funktioniert.
                          Ob das jetzt dein Problem ist kann ich aber nicht erkennen.

                          ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                          1 Reply Last reply
                          0
                          • J Offline
                            J Offline
                            jensus11
                            wrote on last edited by
                            #13

                            Das kommt wenn ich speichern drücke.
                            Ich denke etwas stimmt mit den Klammern nicht.

                            2.3.2019, 08:21:51.712	[info ]: javascript.0 Stop script script.js.Meldungen_Alarme.Klingel
                            2.3.2019, 08:21:51.715	[info ]: javascript.1 Stop script script.js.Meldungen_Alarme.Klingel
                            2.3.2019, 08:21:51.725	[info ]: javascript.0 Start javascript script.js.Meldungen_Alarme.Klingel
                            2.3.2019, 08:21:51.725	[error]: javascript.0 script.js.Meldungen_Alarme.Klingel compile failed:
                            at script.js.Meldungen_Alarme.Klingel:44
                            
                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            623

                            Online

                            32.7k

                            Users

                            82.6k

                            Topics

                            1.3m

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

                            • Don't have an account? Register

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