Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Sript zu Zeiten ausführen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Sript zu Zeiten ausführen

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

      Hallo @ all

      ich möchte eine URL in ioBroker zu einer bestimmten Zeit aufrufen. Ich weiss aber nicht wo ich das Script erstellen muss das dies immer und immer wieder passiert. Es soll zb jeden Wochentag Tag 5 Uhr und 15 Uhr aufgerufen werden am Wochenende 9 Uhr und 19 Uhr.

      Die Cron Einstellung, im ioBroker beim Script, habe ich gefunden aber ich weiß nicht wie ich dies zu einem funktionierenden Kreislauf zusammenbaue.

      LG

      1 Reply Last reply Reply Quote 0
      • Y
        ykuendig last edited by

        Ich hab sowas um den Stromtarif nachzubilden (Nix mit URL (Aber Du musst ja auch noch etwas tun))

        createState("javascript.0.Keller.Strom.Tarif", "Hochtarif", {type: "string"});
        createState("javascript.0.Keller.Strom.Farbe", "red", {type: "string"});
        
        schedule({hour: 7, minute: 0}, function () {
            // Hochtarif, ausser Sonntag
            if(WelcherTag()!==0) {
                setState("javascript.0.Keller.Strom.Tarif", "Hochtarif", true);
                setState("javascript.0.Keller.Strom.Farbe", "red", true);
                log("Script Strom-Tarif; Ab jetzt gilt Hochtarif (" + WelcherTag() + ")", "warn");
            } else {
                setState("javascript.0.Keller.Strom.Tarif", "Niedertarif", true);
                setState("javascript.0.Keller.Strom.Farbe", "green", true);
                log("Script Strom-Tarif; Es ist Sonntag, ab jetzt gilt Niedertarif (" + WelcherTag() + ")", "warn");
            }
        });
        schedule({hour: 20, minute: 0}, function () {
            // Alle Tage
            setState("javascript.0.Keller.Strom.Tarif", "Niedertarif", true);
                setState("javascript.0.Keller.Strom.Farbe", "green", true);
            log("Script Strom-Tarif; Ab jetzt gilt Niedertarif (" + WelcherTag() + ")", "warn");
        });
        schedule({hour: 13, minute: 0}, function () {
            // Samstag
            if (WelcherTag()===6) {
                setState("javascript.0.Keller.Strom.Tarif", "Niedertarif", true);
                setState("javascript.0.Keller.Strom.Farbe", "green", true);
                log("Script Strom-Tarif; Es ist Samstag, ab jetzt gilt Niedertarif (" + WelcherTag() + ")", "warn");
            }
        });
        
        function WelcherTag() {
            var d = new Date();
            var Wochentag = d.getDay();
            return Wochentag;
        }
        
        

        Vielleicht hilfts als Idee…

        1 Reply Last reply Reply Quote 0
        • S
          skorpil last edited by

          @photographix:

          Hallo @ all

          ich möchte eine URL in ioBroker zu einer bestimmten Zeit aufrufen. Ich weiss aber nicht wo ich das Script erstellen muss das dies immer und immer wieder passiert. Es soll zb jeden Wochentag Tag 5 Uhr und 15 Uhr aufgerufen werden am Wochenende 9 Uhr und 19 Uhr.

          Die Cron Einstellung, im ioBroker beim Script, habe ich gefunden aber ich weiß nicht wie ich dies zu einem funktionierenden Kreislauf zusammenbaue.

          LG `
          Ich denke, das sollte mit dem schedule Befehl funktionieren. Schau Dir den mal an.

          1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by

            @photographix:

            Hallo @ all

            ich möchte eine URL in ioBroker zu einer bestimmten Zeit aufrufen. Ich weiss aber nicht wo ich das Script erstellen muss das dies immer und immer wieder passiert. Es soll zb jeden Wochentag Tag 5 Uhr und 15 Uhr aufgerufen werden am Wochenende 9 Uhr und 19 Uhr.

            Die Cron Einstellung, im ioBroker beim Script, habe ich gefunden aber ich weiß nicht wie ich dies zu einem funktionierenden Kreislauf zusammenbaue.

            LG `

            Kann man in dem cron nicht Arbeitstag und Wochenende einstellen.

            Und dann halt mehrere Schedule erzeugen.

            Mit freundlichen Grüßen

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

              Hallo,

              mein Problem ist eher "wo" erstelle ich das Script das es zu diesen Zeiten etwas macht. Es soll ja automatisch wie ein Cronjob ablaufen der von nichts getriggert wird.

              Mein Script (in Vis auf einem Button) geht wenn ich es selbst anschiebe. Nun wollte ich das ioBroker das selbst zu best Uhrzeiten erledigt. Diese "Erkenntnis" wollte ich später in meine Heizungssteuerung einfließen lassen.

              // Chumby Reboot mit Button
              var request = require ('request');
              var url = "http://192.168.200.24/cgi-bin/custom/reboot_normal.sh"
              request(url)
              setState("javascript.0.scriptEnabled.Chumby.Control.reboot"/*scriptEnabled.Chumby.Control.reboot*/, false);
              

              LG

              1 Reply Last reply Reply Quote 0
              • Y
                ykuendig last edited by

                Dafür ist der JavaScript Adapter. Dort lässt Du Scripte unabhängig von anderen Adaptern laufen (und hast aber Zugriff auf fast alles).

                {Und ich hab den Zusammenhang vom request und vom setState noch nicht begriffen} -duckundweg-

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

                  Hat das geklappt?

                  Pack deinen Code in eine Funktion und rufe die per Schedule auf.

                  Ich vermute, du hast auch noch eine Subscription auf den state "reboot" laufen:

                  function reboot() {
                      // Chumby Reboot mit Button
                      var request = require ('request');
                      var url = "http://192.168.200.24/cgi-bin/custom/reboot_normal.sh"
                      request(url)
                      setState("javascript.0.scriptEnabled.Chumby.Control.reboot"/*scriptEnabled.Chumby.Control.reboot*/, false);
                  }
                  
                  // werktags
                  schedule('0 5,15 * * 1-5', reboot);
                  // wochenende
                  schedule('0 9,19 * * 0,6', reboot);
                  // reagiert auf Variable
                  on("javascript.0.scriptEnabled.Chumby.Control.reboot", function(obj) {
                     if (obj.state.val) reboot();
                  });
                  
                  

                  Gruß

                  Pix

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

                    Hallo @ all,

                    ich bin jetzt erst dazu gekommen mich wieder damit zu beschäftigen. Leider bin ich gar kein guter Scripter. Ich brauch immer eine kleine Vorlage. @ Pix dein Script hat geklappt. Ich musste lediglich die Cron Notation anpassen. Die von dir lief nicht richtig. Danke nochmal auch an die anderen.

                    LG

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    978
                    Online

                    31.7k
                    Users

                    79.8k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    2904
                    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