Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Bild speichern Datum+Zeit Variable

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bild speichern Datum+Zeit Variable

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lutzer last edited by

      Hallo ich habe ein tolles script im web gefunden um Bilder einer Kamera zu speichern und per Telegramm zu senden.
      Ich verwende es für meine Klingel.
      Leider werden die Bilder auf dem immer überschrieben, das möchte ich nicht.
      Also habe ich dem Bild einen String aus Datum und Zeit beigemischt und dachte das geht. Geht auch, leider immer nur wenn man das Script neu startet. Ich habe für die Klingel noch ein Blockly und dachte ich kann damit das Script neu starten. Da kommt dann kein Bild mit.

      Beim Schreiben ist mir ein Gedanke gekommen. Das Script erstellt ja Datum+Zeit in einer Variable, natürlich muss diese wieder gelehrt werden denke ich???

      Kann mir da jemand helfen?

      dslraser 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @lutzer last edited by dslraser

        @lutzer sagte in Bild speichern Datum+Zeit Variable:

        Kann mir da jemand helfen?

        Kann bestimmt Jemand, wenn Du Dein Script und oder Blockly hier rein stellen würdest...

        1 Reply Last reply Reply Quote 1
        • L
          lutzer last edited by

          Hier das Script, ich hoffe damit den Urheber nicht zu verletzen:

          var cam_img = 'http://........................'; 
          var trigger_auto = '#Variablen.0.BriefkastenSchlitz';
          var img_path = '/opt/iobroker/temp/cam/';  
          var img_name = 'Briefkasten ';   
          var img_typ = '.jpg'; 
          //var timeInMs = Date.now();
          
          var today = new Date();
          var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
          var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
          var dateTime = date+' '+time;
          
          createState( trigger_auto, false, {name: 'Datenpunkt zur autmatischen Auslösung'});
          
          var stateTrigger_auto = getState(trigger_auto).val;
          var request = require('request');
          var fs      = require('fs');
          var timer;
          
          function sendImage (pfad) {
              setTimeout(function() {
                  sendTo('telegram.0', {
              text:   pfad,
          });
                  log('Webcam Bild per telegram verschickt.');
              }, 2000);
          }
          
          function saveImage() {
              request.get({url: cam_img, encoding: 'binary'}, function (err, response, body) {
                  fs.writeFile(img_path + img_name + dateTime + img_typ, body, 'binary', function(err) {
                  if (err) {
                      log('Fehler beim Speichern von Bild 1: ' + err, 'warn');
                  } else {
                      log('Bild 1 gespeichert.');
                      sendImage(img_path + img_name + dateTime + img_typ); 
                  }
                }); 
              });
              if (timer) {
                  clearTimeout(timer);
                  timer = null; 
              } 
          }     
          
          on(trigger_auto, function(dp) {
              stateTrigger_auto = dp.newState.val;
              stateDisable = getState(disable).val;
              if (stateTrigger_auto === true) {
                  saveImage();
              }
          });
           
          
          1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser last edited by

            Ich kann Dir das Skript von Uhla empfehlen ,

            so in etwa : Link Text

            paul53 1 Reply Last reply Reply Quote 1
            • paul53
              paul53 @Glasfaser last edited by paul53

              @lutzer
              Die Berechnung von dateTime (Zeilen 8 bis 11) gehört in die Funktion saveImage(). Dafür gibt es allerdings die Funktion formatDate() des Javascript-Adapters.

              1 Reply Last reply Reply Quote 1
              • L
                lutzer last edited by

                @Glasfaser danke schau ich mir an, ist nur für mich mit try&error aufwendig alles umzubasteln.😬

                @paul53 Danke wenn ich die Variablen für die Zeit mit runter in die Funktion nehme klappt es so wie ich es wollte. Jetzt schaue ich mir das mit der Zeit noch mal an.

                Wenn ich jetzt ein Bild einer andern Kamera mit versenden möchte. Ist dieser Aufbau gut oder muss man da im Skript ganz anders ran gehen?

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                467
                Online

                31.7k
                Users

                79.9k
                Topics

                1.3m
                Posts

                4
                6
                991
                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