Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Bei Klingeln cam Photo speichern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bei Klingeln cam Photo speichern

    This topic has been deleted. Only users with topic management privileges can see it.
    • Horst Böttcher
      Horst Böttcher last edited by Homoran

      Ich wollte gerne das wenn jemand klingelt unten das von einer Cam ein Photo gespeichert wird

      Will ich benutzen
      nuki-extended.0.openers.haustür_unten.state.ringState
      und
      motionEye http://192.168.178.62:8765/picture/2/current/

      da ich keine ahnung von blockly hab brauch ich eure hilfe

      1 Reply Last reply Reply Quote 0
      • Horst Böttcher
        Horst Böttcher last edited by

        This post is deleted!
        crunchip 1 Reply Last reply Reply Quote 0
        • crunchip
          crunchip Forum Testing Most Active @Horst Böttcher last edited by

          @horst-böttcher https://forum.iobroker.net/search?term=klingelbild&in=titlesposts

          1 Reply Last reply Reply Quote 1
          • E
            emil70 last edited by emil70

            Bei mir wird, wenn es klingelt ein Bild gemacht und mir über Telegramm zugeschickt bei Abwesendheit

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable type="timeout" id="KameraEingangTimeout">KameraEingangTimeout</variable>
                <variable type="timeout" id="KameraEingangTimeout2">KameraEingangTimeout2</variable>
                <variable type="timeout" id="KameraEingangTimeout3">KameraEingangTimeout3</variable>
              </variables>
              <block type="comment" id="kGX98j}5F(2C~L@4|E^~" x="-522" y="-310">
                <field name="COMMENT">Kamerabild Eingang beim Klingeln auf Telegram</field>
                <next>
                  <block type="on_ext" id="2j@b2{0;E6VEv|ca0_[n">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                    <field name="CONDITION">true</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                      <shadow type="field_oid" id="aTcl(uOpOdE_Y#5vVEHp">
                        <field name="oid">hm-rega.0.61837</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="controls_if" id="0XNBi(O3.yg%Ir~V$SY,">
                        <value name="IF0">
                          <block type="logic_compare" id="7[NU7lbQHV~kfz={(jZ8">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value_var" id="9_TH]^Esm*JqmJPia1^Q">
                                <field name="ATTR">val</field>
                                <value name="OID">
                                  <shadow type="text">
                                    <field name="TEXT"></field>
                                  </shadow>
                                  <block type="field_oid" id="Frfa(olkKN!U2GB9=5~*">
                                    <field name="oid">hm-rega.0.2289</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id="j`jygyLN}_qK-9B@]*#J">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="telegram" id="+66$1v]jFR5]agD;#yt%">
                            <field name="INSTANCE"></field>
                            <field name="LOG"></field>
                            <field name="SILENT">FALSE</field>
                            <field name="PARSEMODE">default</field>
                            <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                            <value name="MESSAGE">
                              <shadow type="text" id="/?e[,dEssN6Scjp?`lG3">
                                <field name="TEXT">Es klingelt, jemand steht vor der Haustür</field>
                              </shadow>
                            </value>
                            <next>
                              <block type="exec" id="n{4xKX-pif:/7K{.H0|.">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                <field name="WITH_STATEMENT">FALSE</field>
                                <field name="LOG"></field>
                                <value name="COMMAND">
                                  <shadow type="text" id="kJVTb*_6Tth4c-y;t::M">
                                    <field name="TEXT">wget --output-document /opt/iobroker/Kamerabilder/Eingang.jpg "http://xxx.xxx.xxx.xxx/snap.jpeg"</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="timeouts_settimeout" id="p?2]Bqf-u/)/bqWv3ggN">
                                    <field name="NAME">KameraEingangTimeout</field>
                                    <field name="DELAY">2</field>
                                    <field name="UNIT">sec</field>
                                    <statement name="STATEMENT">
                                      <block type="telegram" id="FL]N=e$Mq#yD4_SpnHw5">
                                        <field name="INSTANCE"></field>
                                        <field name="LOG"></field>
                                        <field name="SILENT">FALSE</field>
                                        <field name="PARSEMODE">default</field>
                                        <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                        <value name="MESSAGE">
                                          <shadow type="text" id="D`he76{stPJv5$?^?Snw">
                                            <field name="TEXT">/opt/iobroker/Kamerabilder/Eingang.jpg</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="timeouts_wait" id="!h7)`WNsTG0GZ:O7/~?5">
                                        <field name="DELAY">10</field>
                                        <field name="UNIT">sec</field>
                                        <next>
                                          <block type="exec" id="-yySkn%FMD?!o-L/34jz">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                            <field name="WITH_STATEMENT">FALSE</field>
                                            <field name="LOG"></field>
                                            <value name="COMMAND">
                                              <shadow type="text" id="qDnzLwMns2yscdO[M~uL">
                                                <field name="TEXT">wget --output-document /opt/iobroker/Kamerabilder/Eingang.jpg "http://xxx.xxx.xxx.xxx/snap.jpeg"</field>
                                              </shadow>
                                            </value>
                                            <next>
                                              <block type="timeouts_settimeout" id="2yHR=|D-4_pE6B8kQSi,">
                                                <field name="NAME">KameraEingangTimeout2</field>
                                                <field name="DELAY">2</field>
                                                <field name="UNIT">sec</field>
                                                <statement name="STATEMENT">
                                                  <block type="telegram" id="@{_JSYTF-9}o}4*?XUf-">
                                                    <field name="INSTANCE"></field>
                                                    <field name="LOG"></field>
                                                    <field name="SILENT">FALSE</field>
                                                    <field name="PARSEMODE">default</field>
                                                    <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                                    <value name="MESSAGE">
                                                      <shadow type="text" id="q~Q9oG;$K?`Nz~@7$HWe">
                                                        <field name="TEXT">/opt/iobroker/Kamerabilder/Eingang.jpg</field>
                                                      </shadow>
                                                    </value>
                                                  </block>
                                                </statement>
                                                <next>
                                                  <block type="timeouts_wait" id="!JzTB`=+eA7Iq++;1pfm">
                                                    <field name="DELAY">10</field>
                                                    <field name="UNIT">sec</field>
                                                    <next>
                                                      <block type="exec" id="=mn_(D.|[kLxLIobc@7p">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                        <field name="WITH_STATEMENT">FALSE</field>
                                                        <field name="LOG"></field>
                                                        <value name="COMMAND">
                                                          <shadow type="text" id="K}(n|DLPpdy:O9@x0_.$">
                                                            <field name="TEXT">wget --output-document /opt/iobroker/Kamerabilder/Eingang.jpg "http://xxx.xxx.xxx.xxx/snap.jpeg"</field>
                                                          </shadow>
                                                        </value>
                                                        <next>
                                                          <block type="timeouts_settimeout" id="no|t|MGlaRRRJul+Dd?Z">
                                                            <field name="NAME">KameraEingangTimeout3</field>
                                                            <field name="DELAY">2</field>
                                                            <field name="UNIT">sec</field>
                                                            <statement name="STATEMENT">
                                                              <block type="telegram" id="tzL[Jk[A{,Y]tHoc}Z+N">
                                                                <field name="INSTANCE"></field>
                                                                <field name="LOG"></field>
                                                                <field name="SILENT">FALSE</field>
                                                                <field name="PARSEMODE">default</field>
                                                                <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                                                <value name="MESSAGE">
                                                                  <shadow type="text" id="1(Dan1nqsiZ4!Z#4k.#G">
                                                                    <field name="TEXT">/opt/iobroker/Kamerabilder/Eingang.jpg</field>
                                                                  </shadow>
                                                                </value>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </xml>
            

            dazu habe ich unter "/opt/iobroker" einen Ordner "Kamerabilder" angelegt. Wo alle Bilder gespeichert werden die ich so mache

            Nutze teilweise auch motionEye dazu

            In dem Blockly bekomme ich 3 Bilder in vorgegebener Zeit geschickt

            lobomau 1 Reply Last reply Reply Quote 0
            • lobomau
              lobomau @emil70 last edited by

              @Horst-Böttcher das "Uhula-Script" geht gut. Hier auch mit motion eye Bild:

              // -------------------------------------------------------------------------
              // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei
              // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet
              // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und
              // gesendet.
              // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt
              // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten
              // Uhula 2017.11
              // -------------------------------------------------------------------------
              
              // -------------------------------------------------------------------------
              // Konfiguration
              // -------------------------------------------------------------------------
              //Edimax Detection Variable anlegen:
              //createState('javascript.0.Variablen.Edimax-detection2', false, //Edimax-detection für VIS-Darstellung
              //{type: 'boolean', name: 'Edimax-detection', min: false, max: true, read: true, write: true, role: 'javascript' });
              
                    // Objekt-ID des Bewegungsmelders
              const oidLichtBewmelderTuer = '0_userdata.0.Cam.tapo_C200.motion_detected_extern'/*motion detected extern*/;
                    // URL zur Kamera umn ein Image (jpg) zu erhalten
              const cam_url = "http://192.168.1.25:8765/picture/2/current/";
                    // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren
              const dest_path = '/opt/iobroker/iobroker-data/files/vis.0/cams/edimax/';
                    // Anzahl der Bilder, die vorgehalten werden sollen
              const imageCountMax = 8;                
                    // Prefix für die Bildnamen
              const imageNamePre = "tapo_"; 
              
              // -------------------------------------------------------------------------
              // Scriptteil
              // -------------------------------------------------------------------------
              var request = require('request');
              var fs      = require('fs');
              
              // Bild an telegram schicken 
              function sendImage (path) { 
                  try {
                      var stats = fs.statSync(path);
                      var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1);
                      sendTo('telegram.1', {
                          text:                   path,
                          caption:                msg, 
                          disable_notification:   true
                      });
                  }
                  catch(err) { if (err.code != "ENOENT") log(err); }     
              }
              
              // löscht eine Datei synchron (wartet auf das Ergebnis)
              function fsUnlinkSync(path) {
                  try {
                      var stats = fs.statSync(path);
                      try { fs.unlinkSync(path); }
                      catch(err) { if (err.code != "ENOENT") log(err); }     
                  }
                  catch(err) { if (err.code != "ENOENT") log(err); }
              }
              
              // benennt eine Datei synchron um (wartet auf das Ergebnis)
              function fsRenameSync(oldPath, newPath) {
                  try {
                      var stats = fs.statSync(oldPath);
                      try { fs.renameSync(oldPath, newPath); }
                      catch(err) { if (err.code != "ENOENT") log(err); }     
                  }
                  catch(err) { if (err.code != "ENOENT") log(err); }
              }
              
              // Bild speichern und senden
              function saveImage() {
                  // Bild imageCountMax-1 löschen
                  fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" );
                  // Bilder 0..imageCountMax-2 umbenennen
                  for (var i=imageCountMax-2; i >= 0; i-- ) { 
                      fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg"); 
                  }
                  // Bild 0 löschen
                  var fname = imageNamePre + "0.jpg";
                  fsUnlinkSync( fname );
                  // Bild holen und speichern
                  request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) {
                      fs.writeFile(dest_path + fname, body, 'binary', function(err) {
                          if (err) {
                              log('Fehler beim Bild speichern: ' + err, 'warn');
                          } else {
                              // dem Filesystem 2 Sek Zeit zum Speichern lassen
                              setTimeout(function() { sendImage(dest_path + fname); }, 2000); 
                          }
                      }); 
                  });
              }
              
              // sofort ein Bild senden und nach 4 Sek erneut
              function onEvent() {
                  saveImage();
                  setTimeout(function() { saveImage(); }, 4 * 1000); 
                //  setTimeout(function() { saveImage(); }, 9 * 1000);
              }
              
              // Ereignisroutine
              on({id: oidLichtBewmelderTuer, val: true}, function (obj) {
                  onEvent( obj );
              });
              
              // manuelle Ausführung (Test)
              onEvent();
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              415
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              blockly
              4
              5
              217
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo