NEWS
Blockly: Zwei verschiedene Zeiträume in einer Abfrage
-
@homoran sagte in Blockly: Zwei verschiedene Zeiträume in einer Abfrage:
@asgothian sagte in Blockly: Zwei verschiedene Zeiträume in einer Abfrage:
Die Abfrage Zeit zwischen 18:01 und 8:59 geht so nicht.
warum nicht?
tagesübergreifend geht meines Wissens nur bei Astro nicht.Soweit ich das erinnere war bei "zwischen" implizit immer das a < b < c. Da es sich bei den Zeiten nur um Stunden handelt ist diese Bedingung nicht erfüllt. Ist in diesem Beispiel auch kein problem, da die beiden Zeiträume in der Summe genau 24 Stunden ausmachen.
A.
-
@asgothian sagte: bei "zwischen" implizit immer das a < b < c.
Das muss nur bei Verwendung von Astrozeiten beachtet werden. Uhrzeiten "hh:mm" funktionieren auch über den Tageswechsel.
-
@paul53 Wieder was gelernt
unabhängig davon ( und wenn wir das Skript schon so weit optimieren) würde ich auf den Folgenden Ansatz wechseln:
Dann passiert so lange wirklich nix wie der Timeout noch aktiv ist. Erst wenn er was tun darf wird geprüft ob er denn was tun will (soll).A.
Edit: Der Kommentar von @paul53 war korrekt - ich hatte den Wert-Vergleich vergessen. Ist im Screenshot oben jetzt korrigiert.
-
@asgothian sagte: Folgenden Ansatz
Ist deine Javascript-Version älter als 7.0.5?
Es fehlt der Vergleich mit dem Wert des Trigger-DP. -
@paul53 sagte in Blockly: Zwei verschiedene Zeiträume in einer Abfrage:
@asgothian sagte: Folgenden Ansatz
Ist deine Javascript-Version älter als 7.0.5?
Nein, 8.7.6. Allerdings nutze ich die Zeit-Funktionen selten, und so hat sich bei mir die oben angesprochene Regel festgesetzt. Einen Grund dass anzupassen habe ich nicht gefunden.
Und das ich die Timeout-variable auf null gesetzt hab dient ausschliesslich der Übersichtlichkeit für den menschlichen Betrachter - mir ist klar das das implizit sowieso passiert. Das explizite Setzen zeigt jedem der das Skript anschaut (auch wenn er wenig Ahnung hat) was passiert.
A.
-
@asgothian sagte: Ist im Screenshot oben jetzt korrigiert.
Dann korrigiere bitte auch noch den Vergleich mit der Variablen
Shelly
in ungleich. -
@paul53 @Asgothian vielen dank für eure Hilfe.
Ich versuche gerade die Abfrage nachzubilden und find aber nirgends eine Möglichkeit diesen Block (<) einzubinden:Wie bekomme ich den rein? Logik???
Vielen Dank
-
@pomme1st sagte: Wie bekomme ich den rein? Logik???
Ja, Vergleichslogik: Mauszeiger über dem Block und mit rechter Maustaste "externe Eingänge" auswählen.
-
@paul53 perfekt vielen Dank
Hier meine abschließende Abfrage:
Scheint alles soweit zu funktionieren.
Vielen Dank nochmals an alle die dazu beigetragen hatten
-
@pomme1st Schoen das es geklappt hat.
Allerdings macht der Baustein
keinen Sinn - entweder passt du die Variable auf "timeout" an oder du löscht den einfach - der wird nicht gebraucht.Auch der Baustein
wird in diesem Fall nicht benötigt, die Variable wird im Trigger jedes mal neu definiert. Der kann also auch weg ohne das die Funktion sich ändert.
A.