Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Variable Zeitsteuerung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Variable Zeitsteuerung

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

      Ich bin mir nicht ganz sicher ob ich verstanden habe was du möchtest.

      So wie ich das verstanden habe gibst du in Vis eine Zeit ein, zu der eingegebenen Zeit soll eine Aktion ausgeführt werden.

      Dazu willst du alle 5 Minuten überprüfen ob sich das object mit der Zeit geändert hat.

      Du kannst mit "on(id)" auf Änderungen des Objekts reagieren, dann brauchst du das Objekt nicht alle 5 Minuten abfragen.

      1 Reply Last reply Reply Quote 0
      • M
        mark77 last edited by

        Hallo Jey Cee,

        danke für deine Antowrt, genauso möchte ich es machen.

        Ich habe das Script folgendermaßen umgestellt:

        Das geht:

        on("javascript.0.Lights.Diningroom.Light_1.off", function (val){
        
            log("neue Schaltzeit: ");
        
            log("--------Start new OffTime");
            var offTime = [23,0,0];
            off=getState("javascript.0.Lights.Diningroom.Light_1.off").val;
            offTime = off.split(":");
            log("--------Set New Off Time: " + off);
            //schedule({hour: offTime[0], minute: offTime[1]}, function () {
            //log("-------- Testzeit:" + off);
            //});
        
        });
        
        

        Das geht nicht:

        on("javascript.0.Lights.Diningroom.Light_1.off", function (val){
        
            log("neue Schaltzeit: ");
        
            log("--------Start new OffTime");
            var offTime = [23,0,0];
            off=getState("javascript.0.Lights.Diningroom.Light_1.off").val;
            offTime = off.split(":");
            log("--------Set New Off Time: " + off);
            schedule({hour: offTime[0], minute: offTime[1]}, function () {
            log("-------- Testzeit:" + off);
            });
        
        });
        
        

        Sobald der schedule hinzukommt passiert genau wie in der Cronjob Variante nichts, keine Fehlermeldungen o.ä.

        Gruß,

        Mark

        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer last edited by

          Geh ich recht in der Annahme das du die Funktion Schedule nicht selbst geschrieben hast sondern das Paket "node-schedule" verwenden willst?

          Wenn du das Paket verwenden willst: Ist es im Javascript.0 ordner installiert?

          1 Reply Last reply Reply Quote 0
          • M
            mark77 last edited by

            1. Korrekt

            2. Wäre das ein Zusatzmodul? (d.h. unter "Zusätzliche NPM-Module" einzutragen) bzw. wie kann ich das prüfen ob es installiert ist?

            1 Reply Last reply Reply Quote 0
            • Jey Cee
              Jey Cee Developer last edited by

              Ja das ist ein Zusatzmodul. Ich hab bisher erst einmal ein modul selber nach installiert und das Händisch im Terminal.

              > (d.h. unter "Zusätzliche NPM-Module" einzutragen)
              Kannst du mir sagen wo es das gibt? Wenn es zur Verfügung steht dann Teste das mal.

              Mit "npm list" kannst du im Terminal sehen welche module installiert sind. Evtl. musst du den Befehl im ioBroker ordner ausführen.

              1 Reply Last reply Reply Quote 0
              • M
                mark77 last edited by

                Wenn Du unter "Instanzen" in die "Adapterkonfiguration" von javascript gehst, gibt es den Punkt "Zusätzliche NPM-Module".

                ich bekomme das:

                #/opt/iobroker$ npm list | grep schedule
                │ ├─┬ node-schedule@0.5.1
                │ ├─┬ node-schedule@0.2.9
                │ └─┬ node-schedule@0.6.0
                npm ERR! missing: node-uuid@~1.4.0, required by request@2.40.0
                npm ERR! missing: combined-stream@~0.0.4, required by form-data@0.1.4
                npm ERR! missing: mime@~1.2.11, required by form-data@0.1.4
                npm ERR! missing: async@~0.9.0, required by form-data@0.1.4
                npm ERR! missing: assert-plus@^0.1.5, required by http-signature@0.10.1
                npm ERR! missing: asn1@0.1.11, required by http-signature@0.10.1
                npm ERR! missing: ctype@0.5.3, required by http-signature@0.10.1
                npm ERR! missing: hoek@0.9.x, required by hawk@1.1.1
                npm ERR! missing: boom@0.4.x, required by hawk@1.1.1
                npm ERR! missing: cryptiles@0.2.x, required by hawk@1.1.1
                npm ERR! missing: sntp@0.2.x, required by hawk@1.1.1
                npm ERR! extraneous: xml2js@0.4.15 /opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js
                npm ERR! not ok code 0
                
                

                EDIT: habe schedule gerade ausprobiert:

                schedule("15 15 * * *", function() {
                    setState("hm-rpc.0.HEQxxxxxx.1.STATE", false);
                    log("Lampe aus");
                });
                
                

                das geht!

                1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer last edited by

                  Die Ausgabe sagt es sind mehrere Versionen von node-schedule in verschiedenen Unterordnern installiert ist. Wenn einer von diesen Unterordnern javascript.0 ist fehlts wo anders. Sonst einfach mal bei Zusätzliche NPM-Module angeben.

                  Die Warnmeldungen kann man glaub ich ignorieren, zumindest mach ich das Mittlerweile so bis was nicht funktioniert.

                  1 Reply Last reply Reply Quote 0
                  • B
                    Brati last edited by

                    Ich hänge mich hier mal dran, funktioniert die Variable Zeitsteuerung?

                    Ich versuche darüber:

                    on({time: {hour: parseInt(getState("javascript.0.Li_Stunde").val, 10), minute: parseInt( getState("javascript.0.Li_Minute").val, 10)}}, function () {
                         log('Test Aufwachen!');
                    });
                    
                    

                    Das zu realisieren. Li_Stunde und Li_Minute können über Increase geändert werden und werden auch richtig unter Objekten angezeigt. Leider funktioniert das nur zu genau der Zeit, die auch zum Anlegen des Scripts hinterlegt war. Änderungen werden ignoriert.

                    Grüße

                    Brati

                    1 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      Hallo,

                      auch mal hier im Forum nach 'unsubscribe'. Bin unterwegs und finde den Link gerade nicht.

                      Gruß,

                      Pix

                      Gesendet mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • B
                        Brati last edited by

                        @pix:

                        Hallo,

                        auch mal hier im Forum nach 'unsubscribe'. Bin unterwegs und finde den Link gerade nicht.

                        Gruß,

                        Pix

                        Gesendet mit Tapatalk `

                        Gefunden, gleiche Frage und das obwohl ich gesucht hatte :ugeek: .

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        2401
                        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