NEWS
[Gelöst] Blockly einfachen Timer einstellen
-
Hey Leute,
Ich habe gerade eine Denklücke.
Ich möchte folgendes realisieren.Wenn Fester A geöffnet wurde, dann soll ein Timer die Zeit zählen.
Wenn das Fenster nach 1 Stunde immernoch offen ist, dann eine Telegram Meldung schicken und Timer weiter laufen lassen und nach einer weiteren Stunde wieder eine Meldung mit einer Telegram Meldung dass das Fenster nun 2 Stunden offen ist. usw usw also brauch ich hier irgendwas mit einer Variablen oder ?Wenn das Fenster inzwischen geschloßen wurde dann Timer anhalten und auf 0 setzen. Wenn wieder neu auf gemacht wurde dann soll der Timer wieder von 0 zählen natürlich.
Ich komme nicht auf die Lösung irgendwas fehlt immer egal wie ich das Thema anpacken möchte -.-
Vielleicht hat jemand eine theoretische Idee oder sowas schon implemtiert dann kann ich es umbauen ?
-
@mend
Das hier mit einer zusätzlichen Zählvariablen sollte zum Ziel führen. Etwa so -
Danke für den Code.
Werd das gleich mal probieren.Damit ich aber in Zukunft auch alleine schaffe hätte ich noch zwei Verständnisfragen ...
-
"wurde geändert" -> Hab ich dann hier nicht das Problem, dass auch Wenn das Fenster zu ist 1 stunde dass ich ne Meldung bekomme ? Weil hier nicht auf Wahr geprüft wird sondern nur auf eine Änderung ? Das heisst auch eine Änderung von offen nach zu ?
-
Was macht dieses Falls "Falls -> Wert" ? Prüfen wir hier ob offen ? Wenn ja dann versteh ich nicht wie hier geprüft wird -.-
-
-
@mend sagte:
dann prüft er ja garnicht weiter ob das Fenster immernoch offen ist.
Wenn das Fenster geschlossen wird, wird das Intervall gestoppt.
-
-
@mend sagte:
Was macht dieses Falls "Falls -> Wert" ? Prüfen wir hier ob offen ?
Ja. Der mache-Zweig wird ausgeführt, wenn das Fenster geöffnet wird, der sonst-Zweig bei Schließen des Fensters.
-
@paul53 sagte in Blockly einfachen Timer einstellen:
@mend sagte:
Was macht dieses Falls "Falls -> Wert" ? Prüfen wir hier ob offen ?
Ja. Der mache-Zweig wird ausgeführt, wenn das Fenster geöffnet wird, der sonst-Zweig bei Schließen des Fensters.
Aber woher weiss Blockly das er beim geöffnten Fenster den mache-zweig ausführt und beim geschloßenen den sonst-zweig ?
Wenn da stehen würde "falls -> Wert = wahr" dann würde ich es verstehen, aber ich versteh nicht was in dem Block "Wert" drin steht und woher die Infos von dem Inhalt her kommt.
P:S VIELEN DANK das Script funktioniert !!!
-
@mend sagte:
"falls -> Wert = wahr" dann würde ich es verstehen
Wert enthält den Wert des Trigger-Datenpunktes. Eine Abfrage if(Bedingung) liefert true, wenn die Bedingung erfüllt ist, andernfalls wird false geliefert. Wenn der Wert schon true bzw. false liefert, kann man sich den Vergleich sparen.
-
@paul53 sagte in Blockly einfachen Timer einstellen:
@mend sagte in Blockly einfachen Timer einstellen:
"falls -> Wert = wahr" dann würde ich es verstehen
Wert enthält den Wert des Trigger-Datenpunktes. Eine Abfrage if(Bedingung) liefert true, wenn die Bedingung erfüllt ist, andernfalls wird false geliefert. Wenn der Wert schon true bzw. false liefert, kann man sich den Vergleich sparen.
ok ich denke ich verstehe. Dadurch dass wird auf "wurde geänderte" abfragen bekommen wir true zurück wenn das Fenster auf geht weil sich der Status vom Datenpunkt ändert ?
Also müsste das das gleiche Ergebniss bringen ?
-
@mend sagte:
Also müsste das das gleiche Ergebniss bringen ?
Ja, wenn die richtige ID zugewiesen wird.
-
Alles klar ... TOP Danke
-
Jetzt ist mir grad aufgefallen, dass er die Meldung mit "Fenster zu" immer bringt sobald man das Fenster auf und zu macht.
Ziel wäre die Zu Meldung zu bringen "nur" wenn er nach 1 Stunde wegen Fenster offen gewarnt hat.
Wenn das Fenster davor schon zu gemacht wird dann soll er garnichts schreiben.Wenn das zu viel Aufwand ist nehme ich die Fenster zu Nachricht einfach komplett raus, wäre nicht soooo wichtig.
-
@mend sagte:
Zu Meldung zu bringen "nur" wenn er nach 1 Stunde wegen Fenster offen gewarnt hat.
Beachte, dass setze stunden auf 0 nur im mache-Zweig erfolgt.
-
Danke scheint zu funktionieren