Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skript läuft seit heute nicht mehr

    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

    Skript läuft seit heute nicht mehr

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @Gezi70 last edited by

      @gezi70 sagte in Skript läuft seit heute nicht mehr:

      httpGet({url: cam_img, encoding: 'binary'}, function (err, response) {

      Ich hatte das restliche Script gar nicht angeschaut. Der Aufruf von httpGet ist falsch. Siehe Doku.

      https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget

      httpGet(cam_img, { responseType: 'arraybuffer' }, async (err, response) => {
      
      G 1 Reply Last reply Reply Quote 0
      • G
        Gezi70 @haus-automatisierung last edited by

        @haus-automatisierung ich habe das jetzt entsprechend geändert und es wird das erste Bild geschickt und wohl die beiden anderen auch gespeichert.

        javascript.0	12:25:50.097	info	script.js.common.Kamera.Kameraskript_httpGet: Bild 1 gespeichert.
        javascript.0	12:25:52.099	info	script.js.common.Kamera.Kameraskript_httpGet: Webcam Bild per telegram verschickt.
        javascript.0	12:25:53.073	info	script.js.common.Kamera.Kameraskript_httpGet: Bild 2 gespeichert.
        javascript.0	12:25:56.323	info	script.js.common.Kamera.Kameraskript_httpGet: Bild 3 gespeichert.
        

        Aber bei der Eingabe der Kommandos in Telegram werden diese nicht abgerufen und an mich geschickt. Muss ich da noch etwas umstellen?

        haus-automatisierung 2 Replies Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Gezi70 last edited by

          @gezi70 Du rufst sendImage ja auch nur beim ersten Bild auf.

          Warum nutzt Du überhaupt JavaScript? Das geht doch mitterweile alles in Blockly...

          1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Gezi70 last edited by

            @gezi70 sagte in Skript läuft seit heute nicht mehr:

            Aber bei der Eingabe der Kommandos in Telegram werden diese nicht abgerufen und an mich geschickt.

            Achso Du meinst die Tastatur die da angeboten wird? Die weiteren Bilder werden nach Script ja nur verschickt, wenn 0_userdata.0.notify.telegram.cam.trigger_more_img auf true gesetzt wird.

            Wie auch immer das passieren soll mit der Tastatur. Da würde ich in Blockly mit dem "Frage-Block" arbeiten. Habe ich extra für solche Themen programmiert 🙂

            G 1 Reply Last reply Reply Quote 0
            • G
              Gezi70 @haus-automatisierung last edited by Gezi70

              @haus-automatisierung weil ich das Skript irgendwo hier gefunden habe und es funktionierte. 😉 Leider hab ich keine Ahnung wie ich das in Blockly umsetzen kann...
              Die Bilder sind ja schon abgespeichert. Matthias, kannst du mir bitte einen Tipp geben, wie ich mittels Blockly diese aus dem Pfad abrufen kann? Ich meine nur den Befehl zum abrufen des Bildes. Mal sehen ob ich das in ein Blockly basteln kann...

              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @Gezi70 last edited by haus-automatisierung

                @gezi70 Sorry, bin gerade unterwegs und kann das nicht mal eben zeigen. Im ioBroker-Master-Kurs habe ich dazu viele Beispiele gezeigt.

                Guck mal das an:

                https://forum.iobroker.net/topic/74606/javascript-8-3-0-log-trigger-file-events-und-warnungen

                https://forum.iobroker.net/topic/75178/test-adapter-telegram-3-4-1-blockly-bausteine-für-fragen

                G 1 Reply Last reply Reply Quote 0
                • G
                  Gezi70 @haus-automatisierung last edited by

                  @haus-automatisierung das Skript läuft wieder. Irgendwie waren die dafür angelegten Datenpunkte auf true, hätten aber false sein müssen.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    Meto304 @Gezi70 last edited by

                    @gezi70
                    Hi, ich stehe vor dem gleichen Problem wie du und würde mich freuen, wenn du deinen Code posten könntest.

                    Danke

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Meto304 last edited by

                      @meto304 sagte in Skript läuft seit heute nicht mehr:

                      ich stehe vor dem gleichen Problem

                      ganz sicher?
                      ist es nämlich meistens nicht.

                      Was genau ist alles gleich?

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Meto304 @Homoran last edited by

                        @homoran vielen Dank für die Reaktion:

                        63/64, 79/80 und 90/91 waren identisch..
                        bei Zeile 36 weiß ich nicht was rein muss

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Meto304 @Meto304 last edited by

                          // Datenpunkte anlegen (Kann unter Umständen auskommentiert werden, wenn die Datenpunkte manuell angelegt wurden.)
                          createState( trigger_auto, false, {name: 'Datenpunkt zur autmatischen Auslösung'});
                          createState( trigger_manu, false, {name: 'Datenpunkt zur manuellen Auslösung'});
                          createState( trigger_more_img, false, {name: 'Datenpunkt zur Abfrage weiterer Bilder'});
                          createState( disable, false, {name: 'Aktivierung/Deaktivierung des Versands per telegram'});
                           
                          // Variablendeklaration und Initialisierung bei Scriptstart
                          var stateTrigger_auto = getState(trigger_auto).val;
                          var stateTrigger_manu = getState(trigger_manu).val;
                          var stateTrigger_more_img = getState(trigger_more_img).val;
                          var stateDisable = getState(disable).val;
                          var request = require('request');
                          var fs      = require('fs');
                          var timer;
                           
                           
                           
                          // Funktionen
                          // -------------------------------------------
                           
                          // Funktion Bilder versenden
                          function sendImage (pfad) {
                              setTimeout(function() {
                                  sendTo('telegram.4', {
                              text:   pfad,
                          //    reply_markup: {
                          //        keyboard: [
                          //            ['Mehr Bilder', 'Danke']
                          //        ],
                          //        resize_keyboard:   true,
                          //        one_time_keyboard: true
                          //    }
                          });
                                  log('Webcam Bild per telegram verschickt.');
                              }, 2000);
                          }
                           
                          // Funktion Bilder speichern
                          function saveImage() {
                              //get({url: cam_img, encoding: 'binary'}, function (err, response, body) {
                              httpGet(cam_img, { responseType: 'arraybuffer' }, async (err, response) => {    
                                  writeFile(img_path + 'cam1_1.jpg', body, 'binary', function(err) {
                                  if (err) {
                                      log('Fehler beim Speichern von Bild 1: ' + err, 'warn');
                                  } else {
                                      log('Bild 1 gespeichert.');
                                      sendImage(img_path + 'cam1_1.jpg');
                                  }
                                }); 
                              });
                               
                              if (timer) {
                                  clearTimeout(timer);
                                  timer = null;
                              } 
                              timer = setTimeout(function () {
                                  //get({url: cam_img, encoding: 'binary'}, function (err, response, body) {
                                  httpGet(cam_img, { responseType: 'arraybuffer' }, async (err, response) => {      
                                      writeFile(img_path + 'cam1_2.jpg', body, 'binary', function(err) {
                                      if (err) {
                                          log('Fehler beim Speichern von Bild 2: ' + err, 'warn');
                                      } else {
                                          log('Bild 2 gespeichert.');
                                  }
                                }); 
                              });
                                  }, interval);
                              timer = setTimeout(function () {
                                  // get({url: cam_img, encoding: 'binary'}, function (err, response, body) {
                                  httpGet(cam_img, { responseType: 'arraybuffer' }, async (err, response) => { 
                                      writeFile(img_path + 'cam1_3.jpg', body, 'binary', function(err) {
                                      if (err) {
                                          log('Fehler beim Speichern von Bild 3: ' + err, 'warn');
                                      } else {
                                          log('Bild 3 gespeichert.');        }
                                }); 
                              });
                                  }, 2 * interval);
                          }
                           
                           
                          // Trigger für die verschiedenen Aktionen
                          // -------------------------------------------
                           
                          // trigger_auto
                          on(trigger_auto, function(dp) {
                              stateTrigger_auto = dp.newState.val;
                              stateDisable = getState(disable).val;
                              if (stateTrigger_auto === true && stateDisable === false) {
                                  saveImage();
                                  // setState(trigger_auto, false);     // Option zum Zurücksetzen des Triggers. Standardmäßig auskommentiert, da sich der Bewegungsmelder automatisch zurück setzt. Bei Bedarf "//" am Zeilenafang entfernen.
                              }
                          });
                           
                          // trigger_more_img
                          on(trigger_more_img, function(dp) {
                              stateTrigger_more_img = dp.newState.val;
                              if (stateTrigger_more_img === true) {
                                  sendImage(img_path + 'cam1_2.jpg');
                                  sendImage(img_path + 'cam1_3.jpg');
                                  setState(trigger_more_img, false);
                              }
                          });
                           
                          // trigger_manu
                          on(trigger_manu, function(dp) {
                              stateTrigger_manu = dp.newState.val;
                              if (stateTrigger_manu === true) {
                                  saveImage();
                                  setState(trigger_manu, false);
                              }
                          });
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          836
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          6
                          21
                          1056
                          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