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. JavaScript
  5. Variable zur Zeitsteuerung verwenden

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    11
    1
    71

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    554

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

Variable zur Zeitsteuerung verwenden

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 5 Kommentatoren 832 Aufrufe 3 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.
  • paul53P paul53

    @warhammer73 sagte: ich habe Variablen in denen Uhrzeiten hinterlegt sind.

    Du meinst Datenpunkte?
    In welchem Format?

    W Offline
    W Offline
    warhammer73
    schrieb am zuletzt editiert von
    #3

    @paul53
    Variablen (Genauer ein 2 dimensionales Array) im Script, keine Datenpunkte.

    1 Antwort Letzte Antwort
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von arteck
      #4

      ist schon der 2-te kryptische thread von dir...

      gibbet da mehr infos zu ?? meine Glaskugel ist gerade zur Politur... da musst du dich ein wenig mehr zu eussern

      am besten incl des arrays

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      W 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        ist schon der 2-te kryptische thread von dir...

        gibbet da mehr infos zu ?? meine Glaskugel ist gerade zur Politur... da musst du dich ein wenig mehr zu eussern

        am besten incl des arrays

        W Offline
        W Offline
        warhammer73
        schrieb am zuletzt editiert von
        #5

        @arteck
        Was war denn an der Frage nach einer FB kryptisch?

        Oder was ist an der Frage hier kryptisch?
        In einem Array stehen Uhrzeiten, das sollte doch ziemlich eindeutig sein.
        Wenn eine Uhrzeit erreicht wird ist aus meiner Sicht auch eine einfach Bedingung.
        Die Reaktion darauf soll sein einen Datenpunkt zu verändern oder eine Funktion im Script aufzurufen.
        Was brauchst Du noch an Infos?

        bahnuhrB arteckA 2 Antworten Letzte Antwort
        0
        • W warhammer73

          @arteck
          Was war denn an der Frage nach einer FB kryptisch?

          Oder was ist an der Frage hier kryptisch?
          In einem Array stehen Uhrzeiten, das sollte doch ziemlich eindeutig sein.
          Wenn eine Uhrzeit erreicht wird ist aus meiner Sicht auch eine einfach Bedingung.
          Die Reaktion darauf soll sein einen Datenpunkt zu verändern oder eine Funktion im Script aufzurufen.
          Was brauchst Du noch an Infos?

          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #6

          @warhammer73

          Ein Schedule mit Variablen macht man so:

          schedule(DP_Minute + " " + DP_Stunde + " * * *",  function () {
               // tue was
          });
          

          und ein on mit o.g. DP auf Veränderung reagieren.

          (oder ich habs falsch verstanden).


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • W warhammer73

            @arteck
            Was war denn an der Frage nach einer FB kryptisch?

            Oder was ist an der Frage hier kryptisch?
            In einem Array stehen Uhrzeiten, das sollte doch ziemlich eindeutig sein.
            Wenn eine Uhrzeit erreicht wird ist aus meiner Sicht auch eine einfach Bedingung.
            Die Reaktion darauf soll sein einen Datenpunkt zu verändern oder eine Funktion im Script aufzurufen.
            Was brauchst Du noch an Infos?

            arteckA Offline
            arteckA Offline
            arteck
            Developer Most Active
            schrieb am zuletzt editiert von
            #7

            @warhammer73 wie ist der array aufgebaut

            steht da eine Uhrzeit drin wenn ja welche und wie in welchen Format
            oder ist da ein timestamp drin

            wenn das alles so einfach währe hätte ich nicht doof gefragt...
            da du ja anscheinend kein plan davon hast währe es ratsam uns Daten zur verfügung zur stellen
            einfacher für uns es zu lösen und einfacher für dich es zur verstehen

            zigbee hab ich, zwave auch, nuc's genauso und HA auch

            W 1 Antwort Letzte Antwort
            0
            • W Offline
              W Offline
              WolfgangFB
              schrieb am zuletzt editiert von WolfgangFB
              #8

              @bahnuhr
              Ich habe warhammer73 so verstanden, dass er ein Arry mit Zeiten hat (vermutlich sortiert) und dann sollen nacheinander zu den dort gespeicherten Zeiten Aktionen ausgeführt werden, also z.B. Zeitarray=["15:34", "17:28"];
              Die Idee mit dem schedule hatte ich auch, also am Anfang den ersten Zeiteintrag in ein ScheduleString umwandel (also z.B. "34 15 * * *" und dann im Funktionsteil den ScheduleString neu setzen (hier "27 17 * * *") und dann den Job neu starten.

              var ScheduleString = "20 15 18 * * *";
              const job = schedule(ScheduleString, function (){
                  console.log("Piep");
                  ScheduleString = "30 15 18 * * *";
              // hier den ScheduleString eben aus dem nächsten Array Wert berechnen
                  job.reschedule(ScheduleString);
                  });
              

              Das Skript hat einmal um 18:15:20 und um 18:50:30 "Piep" ausgegeben.

              W 1 Antwort Letzte Antwort
              0
              • W WolfgangFB

                @bahnuhr
                Ich habe warhammer73 so verstanden, dass er ein Arry mit Zeiten hat (vermutlich sortiert) und dann sollen nacheinander zu den dort gespeicherten Zeiten Aktionen ausgeführt werden, also z.B. Zeitarray=["15:34", "17:28"];
                Die Idee mit dem schedule hatte ich auch, also am Anfang den ersten Zeiteintrag in ein ScheduleString umwandel (also z.B. "34 15 * * *" und dann im Funktionsteil den ScheduleString neu setzen (hier "27 17 * * *") und dann den Job neu starten.

                var ScheduleString = "20 15 18 * * *";
                const job = schedule(ScheduleString, function (){
                    console.log("Piep");
                    ScheduleString = "30 15 18 * * *";
                // hier den ScheduleString eben aus dem nächsten Array Wert berechnen
                    job.reschedule(ScheduleString);
                    });
                

                Das Skript hat einmal um 18:15:20 und um 18:50:30 "Piep" ausgegeben.

                W Offline
                W Offline
                WolfgangFB
                schrieb am zuletzt editiert von WolfgangFB
                #9

                @wolfgangfb
                Mit Array würde das dann so aussehen:

                var ScheduleArray = ["00 27 18 * * *", "10 27 18 * * *"];
                var ScheduleString = ScheduleArray.shift();
                console.log(ScheduleString);
                const job = schedule(ScheduleString, function (){
                    console.log("Piep");
                    if (ScheduleArray.length > 0){
                        ScheduleString = ScheduleArray.shift();
                        console.log(ScheduleString);
                        job.reschedule(ScheduleString);
                        }
                    });
                
                W 1 Antwort Letzte Antwort
                0
                • arteckA arteck

                  @warhammer73 wie ist der array aufgebaut

                  steht da eine Uhrzeit drin wenn ja welche und wie in welchen Format
                  oder ist da ein timestamp drin

                  wenn das alles so einfach währe hätte ich nicht doof gefragt...
                  da du ja anscheinend kein plan davon hast währe es ratsam uns Daten zur verfügung zur stellen
                  einfacher für uns es zu lösen und einfacher für dich es zur verstehen

                  W Offline
                  W Offline
                  warhammer73
                  schrieb am zuletzt editiert von
                  #10

                  @arteck said in Variable zur Zeitsteuerung verwenden:

                  @warhammer73 wie ist der array aufgebaut

                  steht da eine Uhrzeit drin wenn ja welche und wie in welchen Format
                  oder ist da ein timestamp drin

                  wenn das alles so einfach währe hätte ich nicht doof gefragt...
                  da du ja anscheinend kein plan davon hast währe es ratsam uns Daten zur verfügung zur stellen
                  einfacher für uns es zu lösen und einfacher für dich es zur verstehen

                  Wie gerade schon geschrieben denke ich Du gehst von der falschen Seite aus los (Jedenfalls für meine Erwartungen).
                  Wenn die Antwort ist "Es gibt eine Lösung unter Verwendung vom Unix Timestamp oder vom tibetanischen Mondkalender" dann steht im Array eben der tibetanische Mondkalender. Javascript ist eine Programmiersprache und egal wie die Quellzeit formatiert ist lässt die sich doch ins Zielformat konvertieren. Warum soll ich mich jetzt auf "01.01.2023, 02:00, 22:00" festlegen und die Lösung die Dir vermutlich vorschwebt braucht aber "0200 2200 20230101"?
                  Insofern verstehe ich nicht was das ursprüngliche Quellformat (Das auch an der Stelle noch variabel ist) für die Lösungsfindung für eine Rolle spielt.

                  ... und nein, ich habe keinen Plan welche Lösungsansätze das JS im IOBroker dafür bietet - sonst würde ich nicht fragen.
                  Programmtechnisch einen Format in ein anderes umzuwandeln habe ich vor >40 Jahren das erste mal gemacht. Also Programme schreiben kriege ich hin.

                  1 Antwort Letzte Antwort
                  0
                  • W WolfgangFB

                    @wolfgangfb
                    Mit Array würde das dann so aussehen:

                    var ScheduleArray = ["00 27 18 * * *", "10 27 18 * * *"];
                    var ScheduleString = ScheduleArray.shift();
                    console.log(ScheduleString);
                    const job = schedule(ScheduleString, function (){
                        console.log("Piep");
                        if (ScheduleArray.length > 0){
                            ScheduleString = ScheduleArray.shift();
                            console.log(ScheduleString);
                            job.reschedule(ScheduleString);
                            }
                        });
                    
                    W Offline
                    W Offline
                    warhammer73
                    schrieb am zuletzt editiert von
                    #11

                    @wolfgangfb
                    Danke, das sieht doch schon gut aus, muss ich mich mal mit dem gesamten Format beschäftigen, so spontan scheint es ja ans cron Format angelehnt zu sein.

                    W 1 Antwort Letzte Antwort
                    0
                    • W warhammer73

                      @wolfgangfb
                      Danke, das sieht doch schon gut aus, muss ich mich mal mit dem gesamten Format beschäftigen, so spontan scheint es ja ans cron Format angelehnt zu sein.

                      W Offline
                      W Offline
                      WolfgangFB
                      schrieb am zuletzt editiert von
                      #12

                      @warhammer73 sagte in Variable zur Zeitsteuerung verwenden:

                      @wolfgangfb
                      Danke, das sieht doch schon gut aus, muss ich mich mal mit dem gesamten Format beschäftigen, so spontan scheint es ja ans cron Format angelehnt zu sein.

                      Ja, ist cron ähnlich, siehe
                      https://www.npmjs.com/package/node-schedule

                      Wie Du aus dem Array die passeden Eintraäge machst weißt Du wohl selbst.

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      533

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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