NEWS
Blockly nested trigger und die stop Funktion
-
Hallo,
ich möchte mit meinem blockly script folgendes prüfen:
-
Trigger 1: Wenn RFID sich ändert zu false (Abwesend)
-
Trigger 2: Prüfe permanent ob Bewegung erkannt oder Tür offen
-
Benachrichtige User z.B. via Telegramm
Nur irgendwie scheine ich dann in dem 2. Trigger zu hängen und komme da nie wieder raus. (siehe Anhang)
Meine Frage ist, wie man den Stop im Trigger nutzen kann. Wenn ich auf den Pfeil klicke,
wird mir nichts angezeigt. Oder hättet Ihr eine Bessere Idee, um mein Problem zu lösen?
//davinci
3143_blockly_trigger.png -
-
In kürze, weil schon spät
Nicht Trigger in Trigger!
Und Stop ist nur für Zeitplan Schedule.
Grüße
-
Bei timeout ist clearTimeout das Gegenstück.
-
Nach meiner ersten Betrachtung würde ich glauben wollen dass dein Trigger sein sollte:
"Wenn Bewegung vom Bewegungsmelder erkannt wurde …"
und anschließend prüfen ob etwas ausgelöst werden soll, z.B.
"Wenn abwesend, dann Meldung"
und dort baust Du dann ggf. deine Verzögerung ein
Das meinte rantanplan sicher auch mit dem Hinweis "nicht Trigger in Trigger verwenden"
-
Nabend zusammen,
danke für die Tipps!
@rantanplan: Das konnte ich mir schon denken
@BBTown: Das ist auch eine gute Idee, habe ich mal versucht umzusetzen … siehe Screenshot. Langsam glaube ich, ich verstehe da irgendwas nicht richtig.
Trotz der & Bedingung werden Nachrichten verschickt, was ich nicht nachvollziehen kann :?
Es soll im Prinzip eine Nachricht verschickt werden, wenn ich mich via RFID ausgeloggt habe und mein Handy via PING nicht mehr erreichbar ist.
Ein anderer Versucht mit einer Schleife erzeugt immer 100% Auslastung für den io.javascript.0 Prozess … So langsam fällt mir nix mehr ein.
Normalerweise ist die Anforderung "eigentlich" recht simpel ...
Hättet Ihr da noch nen Tipp für mich?
Schönen Abend noch.
-
Leider sind deine Objekte/Datenpunkte nicht selbsterklärend, daher kann ich nicht nachvollziehen
-
weshalb Du 2 Triggerobjekte beobachtest und nicht nur einen (Bewegung erkannt)
-
weshalb Du 2 "Wenn" Bedingungen hast und nicht nur eine (Abwesend)
Kannst Du die 4 von dir verwendeten Objekte einmal kurz beschreiben?
-
was ist "movement"?
-
was ist "HM-Sec …"?
-
was ist "Lenovo ..."?
-
was ist "presence ..."?
-
Wofür benötigst/willst Du das "timeout" ?
-
-
Trotz der & Bedingung werden Nachrichten verschickt, was ich nicht nachvollziehen kann `
Hallo davinci91Die & Bedingung ist wohl falsch.
Die Bedingung soll wohl sein, das BEIDE Zustände UNWAHR sein sollen.
Du schreibst:
Falls (Wert von presence…) und (Wert von lenovo... = unwahr)
Übersetzt:
Falls TRUE und Wert von lenovo... = UNWAHR
Richtig:
Falls (Wert von presence... = unwahr) und (Wert von lenovo... = unwahr)
Ein anderer Versucht mit einer Schleife erzeugt immer 100% Auslastung für den io.javascript.0 Prozess … So langsam fällt mir nix mehr ein.
Normalerweise ist die Anforderung "eigentlich" recht simpel ... `
Nun dann wird "presence.." wohl nicht WAHR.Schleifen ohne Notausgang können tötlich sein.
Setze dort eine lokale Variable als Zähler ein
Und wenn Zähler >100 Schleife verlassen.
Ich kann nur immer wieder den Baustein "Debug Output" ans Herz legen.
Damit kann man beim Testen sehr gut die Werte und Zustände überprüfen.
Grüße
-
Kleiner Nachtrag.
Du vergleichst Datum-Objekte. Das ist sehr kniffelig.
Mach mal ein Debug Output (da isser wieder) von Last_Change und Letzte Änderung…
Die müssen nicht kompatibel sein.
Und auch da schein die Bedingung nicht richtig zu sein. (s.o)
Grüße
-
Hi Jungs,
Richtig:
Falls (Wert von presence… = unwahr) und (Wert von lenovo... = unwahr) `
DAS WARS … wie dämlich von mir! :roll: :oops: Danke!
Kannst Du die 4 von dir verwendeten Objekte einmal kurz beschreiben?
-
was ist "movement"? >>> Mein Bewegungssensor
-
was ist "HM-Sec …"? >>> Mein Türsensor
-
was ist "Lenovo …"? >>> Mein Handy via Ping
-
was ist "presence …"? >>> Mein RFID Reader
-
Wofür benötigst/willst Du das "timeout" ? >>> Nur damit ich nicht zugespamt werde `
Das debugging werde ich dann wohl des öfteren mal zu rate ziehen.
Grüße
-