Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. komme mit schedule nicht klar...

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    203

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

komme mit schedule nicht klar...

komme mit schedule nicht klar...

Scheduled Pinned Locked Moved JavaScript
javascript
5 Posts 3 Posters 642 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ELKE Offline
    ELKE Offline
    ELK
    wrote on last edited by ELK
    #1

    Moin!
    Eigentlich sollte es doch ganz einfach sein...
    Ich möchte per schedule eine Aktion einmalig auslösen. Mit dem CRON-Rechner komme ich zu dem oberen Ergebnis, das bei mir aber nicht funktioniert.
    Der untere Aufruf funktioniert, aber würde sich ja jeden Tag (bzw. je nach Angaben jährlich) wiederholen. Und das Jahr kann ich ja wohl nicht angeben.
    Was passiert eigentlich mit schedule-Einträgen, die mit "once" eingerichtet wurden und ausgelöst wurden? Werden die automatisch gelöscht, weil sie ja nicht mehr ausgelöst werden können?

    schedule('{"time":{"exactTime":true,"start":"21:27"},"period":{"once":"02.05.2020"}}', function () {log('Schedule 1 funktioniert');});
    schedule('5 27 21 * * *', function () {log('Schedule 2 funktioniert');});
    // 5 Sekunden später, um Probleme durch Gleichzeitigkeit auszuschließen
    

    ergibt:

    21:25:57.287 info javascript.0 (11000) Start javascript script.js.Versuche.AnwSimTest
    21:25:57.289 info javascript.0 (11000) script.js.Versuche.AnwSimTest: registered 0 subscriptions and 1 schedule
    21:27:05.006 info javascript.0 (11000) script.js.Versuche.AnwSimTest: Schedule 2 funktioniert

    Z 1 Reply Last reply
    0
    • ELKE Offline
      ELKE Offline
      ELK
      wrote on last edited by
      #2

      offenbar gibt es doch einen year-Parameter:

      schedule({hour:21,minute:56,date:2,month:4,year:2020} , function () {log('Schedule 3 funktioniert');}); // Monat -1!
      

      funktioniert bei mir. Bleibt nur noch die Frage von oben: wird von der internen schedule-Verwaltung erkannt, dass der Termin nur einmal dran kommt und er deshalb gelöscht werden kann?
      Wenn nicht, würde ich mir ja die schedule-Tabelle komplett zumüllen, wenn ich jeden Tag einige zig Termine einstelle...

      1 Reply Last reply
      0
      • JohGreJ Offline
        JohGreJ Offline
        JohGre
        wrote on last edited by
        #3

        Kannst du uns kurz mal deine Beweggründe mitteilen. Mir fällt da jetzt nichts ein was ich mit einmal schedule ausführen sollte.

        nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

        ELKE 1 Reply Last reply
        1
        • JohGreJ JohGre

          Kannst du uns kurz mal deine Beweggründe mitteilen. Mir fällt da jetzt nichts ein was ich mit einmal schedule ausführen sollte.

          ELKE Offline
          ELKE Offline
          ELK
          wrote on last edited by
          #4

          @JohGre klar doch.
          Das Stichwort ist Anwesenheitssimulation. Irgendwann tagsüber wird für den folgenden Abend eine Abfolge von Zeitpunkten erstellt, zu denen bestimmte Beleuchtung geschaltet wird. Am nächsten Tag muss das natürlich anders aussehen.
          Ok, wenn es in einem Jahr der gleiche Ablauf ist, wird das niemand merken...
          Was ich eigentlich wollte, klappt jetzt ja schon. Bleibt nur noch die Frage, ob ich damit das schedule-System intern zumülle und überfordere.

          1 Reply Last reply
          0
          • ELKE ELK

            Moin!
            Eigentlich sollte es doch ganz einfach sein...
            Ich möchte per schedule eine Aktion einmalig auslösen. Mit dem CRON-Rechner komme ich zu dem oberen Ergebnis, das bei mir aber nicht funktioniert.
            Der untere Aufruf funktioniert, aber würde sich ja jeden Tag (bzw. je nach Angaben jährlich) wiederholen. Und das Jahr kann ich ja wohl nicht angeben.
            Was passiert eigentlich mit schedule-Einträgen, die mit "once" eingerichtet wurden und ausgelöst wurden? Werden die automatisch gelöscht, weil sie ja nicht mehr ausgelöst werden können?

            schedule('{"time":{"exactTime":true,"start":"21:27"},"period":{"once":"02.05.2020"}}', function () {log('Schedule 1 funktioniert');});
            schedule('5 27 21 * * *', function () {log('Schedule 2 funktioniert');});
            // 5 Sekunden später, um Probleme durch Gleichzeitigkeit auszuschließen
            

            ergibt:

            21:25:57.287 info javascript.0 (11000) Start javascript script.js.Versuche.AnwSimTest
            21:25:57.289 info javascript.0 (11000) script.js.Versuche.AnwSimTest: registered 0 subscriptions and 1 schedule
            21:27:05.006 info javascript.0 (11000) script.js.Versuche.AnwSimTest: Schedule 2 funktioniert

            Z Offline
            Z Offline
            Znarf
            wrote on last edited by
            #5

            @ELK Moin,
            ich stand vor der gleichen Herausforderung:
            Ich lasse mir im Script Einmalausführungstermine errechen und erstelle dann einen schedule.
            Beispiel:
            var scheduleEin = schedule(Minuten + " " + Stunde + " * * *", Funktion);
            Mit clearschedule(scheduleEin) lösche ich den schedule wieder (letzte Zeile der aufgerufenen Funktion).

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            130

            Online

            32.4k

            Users

            81.3k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe