NEWS
Rollladenfahrt ankündigen - wie Daten im Blockly auswerten?
-
@djmarc75 Hast du dir den Text durchgelesen? Ich frage doch nach Trigger in Trigger.
-
@guitardoc sagte in Trigger innerhalb eines Triggers:
@djmarc75 Hast du dir den Text durchgelesen? Ich frage doch nach Trigger in Trigger.
jetzt aber langsam!
2as willst du mit Trigger in Trigger retten, wenn das Senden der Änderung zu lange dauert?
-
@homoran Es hat doch mit dem Senden der Änderung gar nichts mehr zu tun. Dass das so lange dauert, daran kann man nichts ändern. Wie ich es lösen will hab ich schon beschrieben, aber das ist nur Nebensache (war vielleicht zu ausführlich)
Es soll nur irgendwie innerhalb des einen Triggers (Jalousie fährt runter) und seiner Abarbeitung (die dauert ja einige Sekunden infolge der notwendigen Pausen für das Fahren der Jalousien) geprüft werden, ob ein anderer Objektzustand geändert wurde. Ich hoffe, ich konnte es verständlich beschreiben? Vielleicht ist es auch kein Trigger im Trigger sondern irgendwas anderes - ich wusste aber nicht wie ich es besser nennen sollte.
Ein Trigger wurde ausgelöst, das Script wird abgearbeitet, und ich möchte irgendwie wissen, ob sich zwischenzeitlich während der Abarbeitung ein ganz anderer Objektzustand geändert hat. Vielleicht beschreibt es das genauer?
Ich könnte zu Anfang der Abarbeitung des Triggers mir den Objrktzustand merken und dann zum Schluss noch mal abfragen und vergleichen, aber ich hatte gehofft, dass es da eine elegantere Variante gibt?
-
@guitardoc Du musst das Fahren des Rolladenmotors unterbrechen, sobald der Datenpunkt des Fliegengitters offen meldet..
Javascript ist aber kein Multitasking... die Trigger-Ausführung erfolgt immer fein säuberlich der Reihe nach...
Ich vermute aber, zumindest in den "Pause" Blöcken werden auch andere Datenpunkte aktualisiert ... Da muss man dann ausreichend engmaschig den Datenpunkt des Fliegengitters abfragen und entsprechend in der Schleife reagieren ...Ich finde das Script nur schwer nachvollziehbar. Sollwert und Stellwert scheinen Eins zu sein ....
-
@martinp sagte in Trigger innerhalb eines Triggers:
Da muss man dann ausreichend engmaschig den Datenpunkt des Fliegengitters abfragen und entsprechend in der Schleife reagieren ...
oder ein zweites Skript das auf das Fliegengitter triggert hinzunehmen.
Das müsste dann allerdings sofort die Fahrt der Jalousie umkehren.Das geht irgendwie, aber frag mich nicht wie. (löschen wenn aktiv???)
-
@martinp sagte in Trigger innerhalb eines Triggers:
Du musst das Fahren des Rolladenmotors unterbrechen, sobald der Datenpunkt des Fliegengitters offen meldet..
Na das ist doch das Problem, dass der Sensor nicht schnell genug meldet.
Alles was er will (hat zwar mit Trigger in Trigger) nichts zu tun, ist dass sich der Rollladen bevor er runterfährt bemerkbar macht.
Also muss man halt 1% runterfahren, 1 % hochfahren und das 3 mal bevor es auf die Zielposition geht. Das kann man doch alles sequentiell abarbeiten. Nur ich werde das sicher nicht im Blockly machen. Das könnt ihr besser.
-
@homoran sagte in Trigger innerhalb eines Triggers:
@martinp sagte in Trigger innerhalb eines Triggers:
Da muss man dann ausreichend engmaschig den Datenpunkt des Fliegengitters abfragen und entsprechend in der Schleife reagieren ...
oder ein zweites Skript das auf das Fliegengitter triggert hinzunehmen.
Das müsste dann allerdings sofort die Fahrt der Jalousie umkehren.Das geht irgendwie, aber frag mich nicht wie. (löschen wenn aktiv???)
Er will ja nicht unterbrechen - er will dass der Rollladen sich ankündigt, damit er die Fliegengittertür nicht öffnet, wenn die Jalousie herunterfahren möchte. Bzw. das nach dem Wackeln einfach nach einer Zeitspanne von 5s nochmals der Status des Fliegengittertürkontaktsensors überprüft wird. (was für ein Wort )
-
@mickym Korrekt, so ist es. Das funktioniert auch. Wenn niemand am Fliegenschutz fummelt dann wackelt die Jalousie dreimal hin und her und fährt dann runter. Wenn aber jemand dran rumfummelt, dann fährt die Jalousie nach dem Wackeln auch runter und ich würde gern, dass sie dann hochfährt. Dazu müsste ich prüfen, ob jemand in der Zeit den Fliegenschutz geöffnet hat.
Normalerweise würde man das dann ja über einen trigger abfragen (dachte ich mir) - deswegen Trigger in Trigger. -
@guitardoc sagte in Trigger innerhalb eines Triggers:
@mickym Korrekt, so ist es. Das funktioniert auch. Wenn niemand am Fliegenschutz fummelt dann wackelt die Jalousie dreimal hin und her und fährt dann runter. Wenn aber jemand dran rumfummelt, dann fährt die Jalousie nach dem Wackeln auch runter und ich würde gern, dass sie dann hochfährt. Dazu müsste ich prüfen, ob jemand in der Zeit den Fliegenschutz geöffnet hat.
Normalerweise würde man das dann ja über einen trigger abfragen (dachte ich mir) - deswegen Trigger in Trigger.Nein Du prüfst innerhalb des Triggers einfach nochmal den Wert des Sensors.
Nach dem 3maligen Wackeln oder nach der Zeitspanne X.
Der Trigger des Kontaktsensors der Tür ist in diesem Fall irrelevant, es ist nur wichtig, wenn die Jalousie getriggert hat, dass nach einer Zeit X inkl. Wackeln der Status des Kontaktsensors nochmal geprüft wird.
Egal wie du es logisch machst - müssen halt Deine Hausbewohner wenn es wackelt den Status des Kontaktsensor nicht mehr ändern - die Schwachstelle ist ja die Differenz bis dieser meldet.
-
@mickym said in Trigger innerhalb eines Triggers:
Also muss man halt 1% runterfahren, 1 % hochfahren und das 3 mal bevor es auf die Zielposition geht.
Das "Einleitungs-Zappeln" soll dann wohl der Alarmierung der potentiellen Bediener des Fliegengitters dienen?
Bin mir nicht sicher, ob das Herangehen gut für die Getriebe und Motoren des Rolladen-Antriebs ist ...
Eine LED-Zeile, die aus dem Rolladenkasten herunterblinkt wäre auch eine effektvolle Lösung des Problems ...
Oder ein Fangriegel, der das Öffnen des Fliegengitters verhindert, wenn das Fahren des Rolladen eingeleitet wurde....
-
@guitardoc sagte: prüfen, ob ein neuer Trigger "Fliegengitter geöffnet" ausgelöst wurde.
Verwende anstelle der Schleife und der Pausen besser einen Timeout und stoppe ihn durch das Fliegengitter.
-
@guitardoc said in Trigger innerhalb eines Triggers:
Wenn aber jemand dran rumfummelt, dann fährt die Jalousie nach dem Wackeln auch runter und ich würde gern, dass sie dann hochfährt.
Man verschiebt nur den Zeitpunkt der Verwundbarkeit ... Wer das Zappeln der Rollade ignoriert, schafft es auch danach womöglich treffsicher den Zeitpunkt zu erwischen, wo das endgültige Verfahren ausgelöst wird ...
Mein "Verriegel die Gittertür vor dem Fahren" Ansatz gefällt mir aber auch nicht besonders... die Türen sind meist recht filigran ...Vielleicht Türgriffe der Tür unter Spannung setzen (Weidezaungerät?)
-
@martinp Das Weidezaungerät gefällt mir am Besten! Da hab ich gleich viele Ideen, wo ich da noch alles Spannung drauflegen könnte, wenn meine bessere Hälfte wieder mal irgendwo dran rumfummelt wo sie nicht soll...
@paul53 Das Blockly muss ich mir in Ruhe anschauen. Die Idee dahinter klingt aber erst mal gut!