NEWS
(Gelöst) Delay/Wait zum Triggern einer Meldung
-
Hallo erneut,
habe mal wieder ein Problem mit der Logik somit auch mit Blockly.
Folgende Situation:
Ich möchte unser Garagentor überwachen. Derzeit läuft ein Skript, das jede Statusänderung per Telegram meldet. Das führt zu Tonnen von Meldungen pro Tag (Tor auf/zu/auf/zu....)
Interessant ist allerdings nur der Fall, wenn das Garagentor im offenen Zustand vergessen wurde. Dh, wenn das Tor zB >5 Minuten offen steht. Erst dann soll eine Telegram Meldung raus [OFFEN], und auch nur dann eine Folge-Meldung, dass/wenn das Tor wieder [ZU] ist. Innerhalb der ersten 5 Minuten soll das Tor auf/zu fahren, wie es will, ohne Telegram Meldung!
Alle meine Versuche mit Trigger (wurde geändert/aktualisiert/wahr/unwahr) mit Timeout (5min.) und aktualisiere/schalte System mit (Zeichenkette/Logikwert) schlugen fehl. Die Variable wechselte ihre Werte, aber nicht, wie ich wollte.Wie könnte ein Blockly Skript für die Verzögerung aussehen?
Ist der Ansatz über eine -verzögert gesteuerte- Variable überhaupt sinnvoll?Und dabei ist die WENN--> DANN Verknüpfung (Garagentor > 5min AUF [telegram: OFFEN] dannach Garagentor ZU [telegram: ZU]) noch nicht einmal im Ansatz angedacht.
Auch dafür wäre ich für eine Anregung dankbar.Vielen Dank schon einmal und ein schönes Wochenende,
Martin -
Hallo erneut,
habe mal wieder ein Problem mit der Logik somit auch mit Blockly.
Folgende Situation:
Ich möchte unser Garagentor überwachen. Derzeit läuft ein Skript, das jede Statusänderung per Telegram meldet. Das führt zu Tonnen von Meldungen pro Tag (Tor auf/zu/auf/zu....)
Interessant ist allerdings nur der Fall, wenn das Garagentor im offenen Zustand vergessen wurde. Dh, wenn das Tor zB >5 Minuten offen steht. Erst dann soll eine Telegram Meldung raus [OFFEN], und auch nur dann eine Folge-Meldung, dass/wenn das Tor wieder [ZU] ist. Innerhalb der ersten 5 Minuten soll das Tor auf/zu fahren, wie es will, ohne Telegram Meldung!
Alle meine Versuche mit Trigger (wurde geändert/aktualisiert/wahr/unwahr) mit Timeout (5min.) und aktualisiere/schalte System mit (Zeichenkette/Logikwert) schlugen fehl. Die Variable wechselte ihre Werte, aber nicht, wie ich wollte.Wie könnte ein Blockly Skript für die Verzögerung aussehen?
Ist der Ansatz über eine -verzögert gesteuerte- Variable überhaupt sinnvoll?Und dabei ist die WENN--> DANN Verknüpfung (Garagentor > 5min AUF [telegram: OFFEN] dannach Garagentor ZU [telegram: ZU]) noch nicht einmal im Ansatz angedacht.
Auch dafür wäre ich für eine Anregung dankbar.Vielen Dank schon einmal und ein schönes Wochenende,
Martin -
Hallo paul53,
danke zunächst für die schnelle Antwort.Sind [setze 'Timeout'] und ['Timeout'] selbst definierte Variablen? Wenn JA, wie und wo definiere ich diese generell.
Im Beitrag "Blockly variable Timeout Steuerung" wurde von ihnen eine ähnliche Option [xx'TimeoutMqttResp'] genutzt, wie wird diese generiert?
Ich denke, mir fehlen sehr viele Basics.
Aber ich arbeite dran...Ich habe das Problem vorläufig folgendermassen gelöst.

Jedoch mit dem Nachteil, dass sowohl [AUF] als auch [ZU] mit 5 Min. Verzögerung in der Variable geschrieben, und damit per telegram gesendet werden. Aber ansonsten funktioniert es nach Stunden gem. trial&error Prinzip.Grüße und Danke,
Martin -
Hallo paul53,
danke zunächst für die schnelle Antwort.Sind [setze 'Timeout'] und ['Timeout'] selbst definierte Variablen? Wenn JA, wie und wo definiere ich diese generell.
Im Beitrag "Blockly variable Timeout Steuerung" wurde von ihnen eine ähnliche Option [xx'TimeoutMqttResp'] genutzt, wie wird diese generiert?
Ich denke, mir fehlen sehr viele Basics.
Aber ich arbeite dran...Ich habe das Problem vorläufig folgendermassen gelöst.

Jedoch mit dem Nachteil, dass sowohl [AUF] als auch [ZU] mit 5 Min. Verzögerung in der Variable geschrieben, und damit per telegram gesendet werden. Aber ansonsten funktioniert es nach Stunden gem. trial&error Prinzip.Grüße und Danke,
Martin@mjohn sagte:
Sind [setze 'Timeout'] und ['Timeout'] selbst definierte Variablen?
Nein, setze timeout ist ein Block unter Timeouts. timeout ist die der Funktion setze timeout per Voreinstellung zugewiesene Variable. Um auf diese außerhalb der Timeout-Blöcke zugreifen zu können, muss man erst eine beliebige Variable erstellen und kann anschließend die Variable timeout selektieren.
-
Jetzt habe ich das Ganze zusammengebracht. Weis zwar nicht genau, wie die Logik funktioniert, jedoch es sieht so aus ...

Kleines Problem, der Code läuft nicht.
18:14:49.566 error javascript.0 script.js.common.Garage_Telegram compile failed: at script.js.common.Garage_Telegram:25
Das überfordert mich doch massiv. Bin aber lernwillig

Danke und schönen Abend.
-
Jetzt habe ich das Ganze zusammengebracht. Weis zwar nicht genau, wie die Logik funktioniert, jedoch es sieht so aus ...

Kleines Problem, der Code läuft nicht.
18:14:49.566 error javascript.0 script.js.common.Garage_Telegram compile failed: at script.js.common.Garage_Telegram:25
Das überfordert mich doch massiv. Bin aber lernwillig

Danke und schönen Abend.
-
Vielen Dank für die Unterstützung.
Hat letzendlich geklappt. Grund war, einmal der fehlerhafte falls-sonst-Zweig und dann, dass ich noch 'left-over-Befehle' (nicht sichtbare Blockly Kommandos) auf dem screen hatte. Leider durch den Zoom verdeckt.
Funktioniert jetzt.
Vielen Dank erneut.
Martin
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
