NEWS
Mehrfaches Triggern/ Endlosschleife vermeiden
-
Hallo zusammen,
ich versuche gerade meinen Sonnenschutz/ Beschattung vernünftig einzustellen.

Um zu vermeiden, dass mehrere Timeouts gestartet werden, frage ich ab, ob der vorheriger Wert geringer als x ist.
Mein Problem ist allerdings, dass wirklich sonnigen Tagen dieses Ereignis nur einmal recht früh eintritt und im späteren Verlauf des Tages nicht mehr.
Aber die Voraussetzung fürs Auslösen ist nur später am Tag (Azimut der Sonne) gegeben.
Muss ich hier prinzipiell auf beides triggern oder mit Variablen arbeiten?@paul53 Hast du hier evtl. einen Vorschlag oder eine Idee?
Lieben Dank vorab!
-
Hallo zusammen,
ich versuche gerade meinen Sonnenschutz/ Beschattung vernünftig einzustellen.

Um zu vermeiden, dass mehrere Timeouts gestartet werden, frage ich ab, ob der vorheriger Wert geringer als x ist.
Mein Problem ist allerdings, dass wirklich sonnigen Tagen dieses Ereignis nur einmal recht früh eintritt und im späteren Verlauf des Tages nicht mehr.
Aber die Voraussetzung fürs Auslösen ist nur später am Tag (Azimut der Sonne) gegeben.
Muss ich hier prinzipiell auf beides triggern oder mit Variablen arbeiten?@paul53 Hast du hier evtl. einen Vorschlag oder eine Idee?
Lieben Dank vorab!
@lessthanmore sagte: Ereignis nur einmal recht früh eintritt und im späteren Verlauf des Tages nicht mehr.
Verwende anstelle des Vergleiches mit "vorheriger Wert" die Prüfung der Timer-Variablen.

EDIT: Rücksetzen der Timer-Variable auf null entfernt.
-
@lessthanmore sagte: Ereignis nur einmal recht früh eintritt und im späteren Verlauf des Tages nicht mehr.
Verwende anstelle des Vergleiches mit "vorheriger Wert" die Prüfung der Timer-Variablen.

EDIT: Rücksetzen der Timer-Variable auf null entfernt.
@paul53 Vielen lieben Dank.
Ist es so korrekt?

-
@paul53 Vielen lieben Dank.
Ist es so korrekt?

@lessthanmore sagte: Ist es so korrekt?
Nicht ganz: "setzte timeout3 auf null" muss in den Callback von timeout3.
Ein "stop timeout" ist zu viel: Entweder bei Unterschreitung des unteren Grenzwertes oder bei Unterschreitung des oberen Grenzwertes (sonst-Zweig).Die 3 Variablen gibt es jeweils nur einmal in der ersten Zeile der Javascript-Ansicht?
-
@lessthanmore sagte: Ist es so korrekt?
Nicht ganz: "setzte timeout3 auf null" muss in den Callback von timeout3.
Ein "stop timeout" ist zu viel: Entweder bei Unterschreitung des unteren Grenzwertes oder bei Unterschreitung des oberen Grenzwertes (sonst-Zweig).Die 3 Variablen gibt es jeweils nur einmal in der ersten Zeile der Javascript-Ansicht?
@paul53 Gutes Auge.
Ja, sind nur einmal definiert:

-
@lessthanmore sagte: Ist es so korrekt?
Nicht ganz: "setzte timeout3 auf null" muss in den Callback von timeout3.
Ein "stop timeout" ist zu viel: Entweder bei Unterschreitung des unteren Grenzwertes oder bei Unterschreitung des oberen Grenzwertes (sonst-Zweig).Die 3 Variablen gibt es jeweils nur einmal in der ersten Zeile der Javascript-Ansicht?
@paul53 said in Mehrfaches Triggern/ Endlosschleife vermeiden:
Ein "stop timeout" ist zu viel: Entweder bei Unterschreitung des unteren Grenzwertes oder bei Unterschreitung des oberen Grenzwertes (sonst-Zweig).
Was wenn der Wert dazwischen liegt?
In diesem Fall zwischen 35000 und 26250. Der Timeout muss ja beide Male unterbrochen werden. -
@paul53 said in Mehrfaches Triggern/ Endlosschleife vermeiden:
Ein "stop timeout" ist zu viel: Entweder bei Unterschreitung des unteren Grenzwertes oder bei Unterschreitung des oberen Grenzwertes (sonst-Zweig).
Was wenn der Wert dazwischen liegt?
In diesem Fall zwischen 35000 und 26250. Der Timeout muss ja beide Male unterbrochen werden.@lessthanmore sagte: Der Timeout muss ja beide Male unterbrochen werden.
Nicht erst bei Unterschreitung des unteren Grenzwertes (26250)?
timeout2 und timeout3 werden erst wieder bei Überschreiten des oberen Grenzwertes gestoppt. -
@lessthanmore sagte: Der Timeout muss ja beide Male unterbrochen werden.
Nicht erst bei Unterschreitung des unteren Grenzwertes (26250)?
timeout2 und timeout3 werden erst wieder bei Überschreiten des oberen Grenzwertes gestoppt.@paul53 Hast Recht, timeout2 und müssen ebenfalls noch im sonst-Zweig gestoppt werden.
Erst wenn der obere Grenzwert überschritten wird sollen die Rollläden nach einem timeout fahren. Wird innerhalb dieser Zeit der Wert einmal unterschritten, so soll der Timer von vorne beginnen.Sind die Rollos unten und es ist dauerhaft zu dunkel, sollen sie teilweise hochfahren, etc.
Besten Dank!
-
@paul53 Hast Recht, timeout2 und müssen ebenfalls noch im sonst-Zweig gestoppt werden.
Erst wenn der obere Grenzwert überschritten wird sollen die Rollläden nach einem timeout fahren. Wird innerhalb dieser Zeit der Wert einmal unterschritten, so soll der Timer von vorne beginnen.Sind die Rollos unten und es ist dauerhaft zu dunkel, sollen sie teilweise hochfahren, etc.
Besten Dank!
@lessthanmore sagte: ebenfalls noch im sonst-Zweig gestoppt werden.
Dann lasse alle 3 "setze timeoutX auf null" weg, denn das erledigen die Stopps.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden