Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Java Script startet nicht von Blockly aus

    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

    Java Script startet nicht von Blockly aus

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

      Hallo zusammen,

      ich möchte hier ein Thema aufnehmen und um eure Hilfe bitten, da ich mittlerweile fast verzweifle und auch an mir zweifle. :?

      Ich habe das Klingelbild Script von ([viewtopic.php?f=22&t=2912&sid=48bb7ccf2 … 1d1#p26352]) für mich umgesetzt.

      Der Code an sich läuft manuell angestoßen sauber rund, schickt das Bild an die Telegram Gruppe und setzt sich nach 12 Sekunden selbst wieder zurück auf „false“, wie es sein soll.

      Will ich jetzt jedoch das Skript über Blockly durch einen Trigger State starten, so wird das Skript automatisch angestoßen (State des Skripts wechselt auf „true“) aber dann hängt er scheinbar.

      Kein Bild, keine automatischer Reset, es bleibt einfach stehen mit dem True Status.

      Hat jemand eine Idee woran es liegen kann ?

      Bildscript:

      /* BILDSPEICHERUNG Obergeschoss
      soll bei Aktion Webcam Bild speichern und per telegram senden
      Skript ist normalerweise inaktiv und wird per ScriptEnabled ausgelöst
      */
      
      var source_url = 'http://User:PWD@192.168.xxx.xxx/Streaming/channels/102/picture', // Kamerabild zB http://kameraserver:9090/image1.jpg
          dest_path = '/opt/iobroker/iobroker-data/klingelbild/';
      
      var request = require('request');
      var fs      = require('fs');
      
      // Bild an telegram schicken (immer Dienst 3)
      function sendImage (pfad) {
          setTimeout(function() {
              sendTo('telegram.0', {text: '/opt/iobroker/iobroker-data/klingelbild/image2.jpg', chatId: '-27xxxxx30'});
              log('Webcam Bild OG per telegram verschickt');
          }, 2 * 1000);
      }
      
      // 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 OG speichern: ' + err, 'warn');
              } else {
                  log('Webcam Bild OG gespeichert');
                  sendImage(dest_path + 'image2.jpg');
              }
            }); 
          });
      }
      
      // bei Skriptstart ausführen
      saveImage();
      
      // selbständig Skript wieder anhalten (nach 12s)
      setStateDelayed('javascript.' + instance +  '.scriptEnabled.' + name.slice(10), false, 12*1000);
      
      

      Log Meldung nach erfolgtem Start über Blockly:

      javascript.0 2019-01-18 22:30:52.801 info script.js.Meine_Skripte.Klingeln.Benachrichtigung_Bild_OG: registered 1 subscription and 0 schedules

      javascript.0 2019-01-18 22:30:52.793 info Start javascript script.js.Meine_Skripte.Klingeln.Benachrichtigung_Bild_OG

      Blockly Script:

      9243_blockly_trigger.png

      Danke und Gruß

      Newi

      1 Reply Last reply Reply Quote 0
      • C
        cruunnerr last edited by

        Der Befehl sollte innerhalb des Triggers stattfinden. 🙂

        Also den einzelnen Block direkt unter den Telegram Block setzen

        1 Reply Last reply Reply Quote 0
        • N
          Newi last edited by

          Hallo Cruunnerr,

          danke für den Tip, aber auch im Triggerbereich wird der JS-Script nicht gestartet ! :evil:

          Jetzt bleibt auch der log ohne jeglichen Eintrag.

          Noch weitere Ideen ?

          Gruß Newi

          1 Reply Last reply Reply Quote 0
          • R
            RappiRN Most Active last edited by

            Es gibt unter Blockly auch den Block Javascript-Funktion (unter Funktionen), damit soll sowas besser durchgeführt werden. Scripte durch andere Scripte zu starten und zu stoppen ist nicht die beste Lösung!

            Musst du mal probieren, ich habe das bisher noch nicht ausprobiert! 😄

            Enrico

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

              Was ist denn Obergeschoss Klingel.STATE (ein button oder switch ?)

              Wenn es ein button ist, der steht immer auf wahr, der muß auf wurde aktualisiert getriggert werden.

              1 Reply Last reply Reply Quote 0
              • N
                Newi last edited by

                Hallo dslraser,

                also der State ist ein button und steht richtigerweise auf true.

                Egal worauf ich trigger (false oder aktualisieren) wird zwar der Text an Telegram geschickt aber es kommt kein Bild.

                Habe gerade mit dem Ansatz der Funktionen von Enrico ein Bild mitgeschickt.

                Werde ich jetzt mal detailliert testen.

                Gruß Newi

                1 Reply Last reply Reply Quote 0
                • N
                  Newi last edited by

                  Hallo zusammen,

                  also die Idee von Enrico mit der "Javascript Funktion" scheint bestens geklappt zu haben.

                  Ich häng den jetzigen Blockly der läuft mal dran, für diejenigen die es interessiert.

                  Danke Enrico ! …und natürlich auch allen anderen. 😉

                  Gruß Newi

                  9243_blockly_trigger_final.png

                  1 Reply Last reply Reply Quote 0
                  • R
                    RappiRN Most Active last edited by

                    Danke für die Rückmeldung! 😄

                    Enrico

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    582
                    Online

                    31.8k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    1278
                    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