Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst] Zeitbereich als Trigger für On()

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] Zeitbereich als Trigger für On()

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

      Hallo Zusammen,

      erstmal muss ich sagen dass das ein super Forum ist. Ich versuche gerade in die Javascript-Programmierung einzusteigen und mir fehlt an der ein oder anderen Stelle noch etwas das Verständnis.

      Ich wollte mittels Blockly ein Skript erstellen das nur getriggert wird wenn die Zeit zwischen zwei Zeiten liegt.

      2411_blockly.jpg

      Bei der Code-Prüfung ist alles ok und wenn ich das Skript starte bekomme ich folgende Meldungen wenn die Zeit außerhalb des Zeitraumes ist

      javascript.0	2017-04-13 21:15:08.605	info	script.js.ontest_Blockly: registered 1 subscription and 0 schedules
      javascript.0	2017-04-13 21:15:08.605	error	Error by subscription: empty ID defined. All states matched.
      javascript.0	2017-04-13 21:15:08.602	info	Start javascript script.js.ontest_Blockly
      javascript.0	2017-04-13 21:15:08.578	error	unsubscribe: invalid type of id - boolean
      

      Wenn sie innerhalb liegt hätte ich die Ausgabe von "Test" im Log erwartet, aber es passiert nichts.

      Kann das überhaupt funktionieren oder setzt On() zwingend eine Id voraus.

      Gruß

      Dolomiti

      1 Reply Last reply Reply Quote 0
      • frankjoke
        frankjoke last edited by

        Na ja,

        dein 'Falls Object' verlangt eine ID und AktuelleZeit ist kein ID sondern eine Abfrage die nur bei einem 'normalen' falls funktioniert.

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

          Hallo

          nimm den Zeitplan aus Trigger damit habe ich das auch hinbekommen.

          1 Reply Last reply Reply Quote 0
          • Dolomiti
            Dolomiti last edited by

            @fsjoke: Also war meine Vermutung mit der Id richtig.

            @nobse: Aber der Zeitplan wird doch nur zu einem bestimmten wiederkehrend Zeitpunkt ausgeführt.

            Vielleicht zur Erklärung folgendes:

            Ziel des Ganzen soll sein dass in meinem Arbeitszimmer die Rollade runterfährt wenn ein Spiel gestartet wird. Dieses Skript funktioniert über Aufruf von Schedule() jede Minute auch soweit. Das ganze ist aber nur nötig wenn es hell draussen ist. Also wollte ich den Skriptteil innerhalb von Schedule() nur tagsüber ausführen lassen und jetzt hänge ich.

            !

            + '%" '; if (x < Spieleliste.length-1) { Abfrage += 'or '; } } ! /* Prozesse vom PC abfragen und auswerten */ schedule("*/1 * * * *", function(){ exec("wmic -Uxxx%xxx //10.20.30.40 \'SELECT Name FROM win32_process WHERE " + Abfrage + "\'", function (error, stdout, stderr) { var Prozessliste = stdout.split('\n'); var status = false; var laufendesSpiel = "Keins"; for (x = 2; x < Prozessliste.length-1; x++) { for (y=0; y < Spieleliste.length; y++) { status = (Prozessliste[x].includes(Spieleliste[y])); if (status && getState("hm-rpc.0.xxxx.LEVEL").val >= '60') { setState("hm-rpc.0.xxx.LEVEL",30); laufendesSpiel = Spieleliste[y]; //log('laufendes Spiel: ' + laufendesSpiel); break; } } } }); }); !

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

              Ich habe das so gelöst
              347_skizze.png

              1 Reply Last reply Reply Quote 0
              • Dolomiti
                Dolomiti last edited by

                D.h. es wird alle 5 Minuten geprüft ob es nach 20:00 Uhr ist und dann "SetAllCamOn" ausgeführt? Bis wann wird die Schleife denn dann durchlaufen? Bis Mitternacht?

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

                  genau

                  1 Reply Last reply Reply Quote 0
                  • Dolomiti
                    Dolomiti last edited by

                    Könntest du mir evtl. noch die Codeansicht von deinem Blockly-Schnipsel zur Verfügung stellen. Ich glaube ich muss das in Javascript machen. Ich weiß nicht ob ich mein oben erwähntes Skript in Blockly realisieren kann.

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

                      Der Code bringt dich nicht weiter.

                      Ziehe bitte dann noch aus Funktionen das Javascript_Funktion rein und hier kannst du dann dein script einstellen.

                      function setAllCamOn() {
                          var request = require("request");
                          var url_ein = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
                      
                          request(url_ein);
                          log("20.00 Uhr CAM alle Eingeschaltet");
                      }
                      
                      schedule("*/5 * * * *", function () {
                        if (compareTime('20:00', null, ">", null)) {
                          setAllCamOn();
                        }
                      });
                      

                      So jetzt ist Ostern. Muss mich ab morgen um die Enkelkinder kümmern.

                      Gruß Norbert

                      1 Reply Last reply Reply Quote 0
                      • Dolomiti
                        Dolomiti last edited by

                        Super. Vielen Dank und schöne Ostern.

                        Mir ging es auch nur um den Schedule-Part. Dann werde ich mich jetzt mal ans ausprobieren begeben.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        667
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        3
                        10
                        1974
                        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