Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Javascript nach Uhrzeit/DP-Status starten/stoppen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Javascript nach Uhrzeit/DP-Status starten/stoppen

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

      Moin, ich habe ein Javascript das auf ein DP reagiert on(id: ....)

      Jetzt möchte ich, dass mein Skript nur zu gewissen Zeiten läuft. Starten kann ich es über cron, aber wie beende ich so ein Teil elegant? Wie kann ich meine Skripte nach der Uhrzeit stoppen und starten? Und b) es abhängig von einem anderen DP Starten/Stoppen? Klar, ich könnte innerhalb der on Schleife den Zustand/Uhrzeit prüfen und dann ausführen oder nicht, aber es muss auch eleganter gehen? Was übersehe ich?

      DJMarc75 P Codierknecht 3 Replies Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @a200 last edited by

        @a200 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:

        Was übersehe ich?

        Du übersiehst dass Du Dein bisheriges Skript hier nicht zeigst 😉

        a200 1 Reply Last reply Reply Quote 0
        • a200
          a200 @DJMarc75 last edited by

          @djmarc75 Ich glaube nicht, dass der Inhalt eine Rolle spielt. Nehmen wir z.B das hier:

          on({id: Quelle, change: "ne"}, function (obj) {
              setState(Ziel, getState(Quelle).val, true);
          });
          

          Es soll nur zwischen 8:00 und 16:00 laufen, oder nur dann, wenn ein DP > -7 und kleiner 14 ist.

          paul53 1 Reply Last reply Reply Quote 0
          • P
            pd_mueller @a200 last edited by

            @a200 Ich glaube, du übersiehst nichts. Man macht das genau so, wie du vermutest, zumindest im Blockly würde ich das so machen.🤔

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @a200 last edited by paul53

              @a200 sagte: Es soll nur zwischen 8:00 und 16:00 laufen, oder nur dann, wenn ein DP > -7 und kleiner 14 ist.

              on({id: Quelle, change: "ne"}, function (obj) {
                  if(compareTime('8:00', '16:00', 'between') && obj.state.val > -7 && obj.state.val < 14) {
                      setState(Ziel, obj.state.val, true);
                  }
              });
              
              a200 1 Reply Last reply Reply Quote 1
              • a200
                a200 @paul53 last edited by

                @paul53 ok. also doch innerhalb der Schleife. Habe gedacht, dass es vllt auch andere sinnvolle Methoden gibt. Aber das werde ich so umsetzen. Danke

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @a200 last edited by Codierknecht

                  @a200 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:

                  also doch innerhalb der Schleife

                  Welche Schleife?
                  Das ist ein Trigger. Eine Ereignisbehandlung, die aufgerufen wird wenn sich der Wert des DP ändert.
                  Da läuft keine Schleife oder etwas vergleichbares.

                  @a200 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:

                  Habe gedacht, dass es vllt auch andere sinnvolle Methoden gibt

                  Das ist die sinnvollste Methode!

                  1 Reply Last reply Reply Quote 1
                  • Codierknecht
                    Codierknecht Developer Most Active @a200 last edited by

                    @a200 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:

                    Wie kann ich meine Skripte nach der Uhrzeit stoppen und starten

                    Man startet bzw. stoppt keine Scripte nach Uhrzeit. Jedenfalls nicht ohne ganz bestimmten Grund. Und solche Gründe sind äußerst selten.

                    So ein Script mit einem Trigger wird einmal gestartet und "registriert" eine Ereignisbehandlung. Damit wird gesagt "falls sich der DP XYZ ändert, führe den folgenden Code aus.
                    Solange sich am DP nix ändert, passiert ... nix. Das Script erzeugt dann keine Last und verbraucht auch keinen (exakter: kaum) Speicher.

                    Da wir das Thema heute schon mehrfach hatten: Stell es Dir wie einen Button in einem Windows-Programm vor.
                    Solange niemand auf den Button drückt, passiert nix. Das Programm erzeugt 0 CPU-Last.
                    Es ist lediglich definiert, was passieren soll falls jemand klickt.
                    Erst wenn jemand klickt, wird der Code dahinter ausgeführt.
                    Anschließend legt sich das Programm wieder zur Ruhe und wartet auf den nächsten Klick.

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Codierknecht last edited by

                      @codierknecht sagte: verbraucht auch keinen (exakter: kaum) Speicher.

                      Am RAM-Verbrauch ändert sich wenig durch ein Ereignis.

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @paul53 last edited by Codierknecht

                        @paul53 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:

                        Am RAM-Verbrauch ändert sich wenig durch ein Ereignis.

                        Kommt halt darauf an, was man dann in der Ereignisbehandlung so treibt 😉
                        Durch das reine "anhängen" der Methode an das Event natürlich nicht.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        762
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        javascript
                        5
                        10
                        398
                        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