Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Variable Zeitsteuerung

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Variable Zeitsteuerung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 4 Kommentatoren 2.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    mark77
    schrieb am zuletzt editiert von
    #1

    Moin moin,

    es war jetzt doch an der zeit mich bei euch anzumelden, da mich mein Stöbern im Forum leider nicht zum Erfolg gebracht hat.

    Folgendes möchte ich realisieren.

    Eine Lampe per Astro einzuschalten -> das läuft

    Die Lampe per fester Zeit auszuschalten -> läuft

    Jetzt möchte ich die Ausschaltzeit per VIS und dem "Input Datetime" Widget variabel ändern können.

    Das ändern der Zeit geht natürlich auch.

    Dann war meine Idee, das Object alle 5 Minuten überprüfen zu lassen und den schedule zu setzten -> bekomme ich nicht hin

    Es passiert nichts, Fehlermeldungen laufen auch nicht auf, Logeinträge auch nicht.

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

    Ist der Weg überhaupt der richtige?

    Gibt es eine Möglichkeit die Scripte per Shell (LINUX) manuell zu testen?

    Danke!

    Gruß,

    Mark

    1 Antwort Letzte Antwort
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      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.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mark77
        schrieb am zuletzt editiert von
        #3

        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 Antwort Letzte Antwort
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #4

          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?

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            mark77
            schrieb am zuletzt editiert von
            #5

            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 Antwort Letzte Antwort
            0
            • Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              schrieb am zuletzt editiert von
              #6

              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.

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mark77
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                • Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  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.

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    Brati
                    schrieb am zuletzt editiert von
                    #9

                    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

                    CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #10

                      Hallo,

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

                      Gruß,

                      Pix

                      Gesendet mit Tapatalk

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        Brati
                        schrieb am zuletzt editiert von
                        #11

                        @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: .

                        CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                        1 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        582

                        Online

                        32.5k

                        Benutzer

                        81.7k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe