NEWS
Javascript nach Uhrzeit/DP-Status starten/stoppen
-
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?
-
@a200 sagte in Javascript nach Uhrzeit/DP-Status starten/stoppen:
Was übersehe ich?
Du übersiehst dass Du Dein bisheriges Skript hier nicht zeigst
-
@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.
-
@a200 Ich glaube, du übersiehst nichts. Man macht das genau so, wie du vermutest, zumindest im Blockly würde ich das so machen.
-
@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); } });
-
@paul53 ok. also doch innerhalb der Schleife. Habe gedacht, dass es vllt auch andere sinnvolle Methoden gibt. Aber das werde ich so umsetzen. Danke
-
@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!
-
@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. -
@codierknecht sagte: verbraucht auch keinen (exakter: kaum) Speicher.
Am RAM-Verbrauch ändert sich wenig durch ein Ereignis.
-
@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.