NEWS
2 Trigger Abhängigkeit definieren
-
Hallo zusammen,
ich habe mit Blockly ein Script mit Geofence erstellt, dass bestimmte Aktivitäten bei Betreten des Home Bereiches erfolgen.
Ich habe es für Person 1 und Person 2 erstellt.
Das funktioniert auch soweit.
Mein Problem...
Wenn nun Person 1 und Person 2 gleichzeitig (Bsp. in einem Auto) den Home Bereich betreten, werden Aktionen 2x ausgeführt.
Ich bin auf der Suche nach einer Lösung, dass in diesem Fall die Aktionen nur 1x ausgeführt werden.Ich hoffe jemand kann helfen.
-
@Jan1
Ja, da ist ein leichter Versatz.
Das ist ja das Problem.
Wenn der Trigger von Person 1 kommt, dann wird der Impulstaster angesteuert und das Tor geht auf.
Wenn der Trigger kurze Zeit danach von Person 2 kommt, dann wird der Impulstaster wieder angesteuert und das Tor stoppt. -
@jjmargis
Hast mein Vorschlag mit der Variable nicht verstanden?
Damit kannst das gegenseitig verriegeln. Hat einer ausgelöst, ist der andere gesperrt. -
@jjmargis
Ereignis setzt Variable und diese sperrt das zweite Ereigniss und umgekehrt, eigentlich ne einfache gegenseitige Verriegelung.@Jan1
Ich glaube ich kann dir folgen.Das wären dann 2 Scripts.
Script 1:
Wenn Person 1 den Home Bereich betritt (true) und Variable 2 = false dann sende Befehl an Impulstaster für Tor und setze Variable 1 auf true.Script 2:
Wenn Person 2 den Home Bereich betritt (true) und Variable 1 = false dann sende Befehl an Impulstaster für Tor und setze Variable 2 auf true.Damit sollten sich die Verhalten gegenseitig steuern.
Jetzt müsste ich die Variablen aber nach (sagen wir mal) 30 Sekunden wieder auf false zurücksetzen.Das müsste doch mit rein in die Scripts - am Ende.
Wie sollte das wohl aussehen? -
@Jan1
Ich glaube ich kann dir folgen.Das wären dann 2 Scripts.
Script 1:
Wenn Person 1 den Home Bereich betritt (true) und Variable 2 = false dann sende Befehl an Impulstaster für Tor und setze Variable 1 auf true.Script 2:
Wenn Person 2 den Home Bereich betritt (true) und Variable 1 = false dann sende Befehl an Impulstaster für Tor und setze Variable 2 auf true.Damit sollten sich die Verhalten gegenseitig steuern.
Jetzt müsste ich die Variablen aber nach (sagen wir mal) 30 Sekunden wieder auf false zurücksetzen.Das müsste doch mit rein in die Scripts - am Ende.
Wie sollte das wohl aussehen?@jjmargis
Genau so wie Du es geschrieben hast kommt das mit ins Blocky rein. Ersetzte einfach das "wenn" am Anfang mit Namen von vorhandenen Blöcken "falls", Dann hast schon Dein Blockly:wink:Ist eigentlich das was @paul53 oben schon gepostet hat nur mit dem UND in der falls Bedingung mit drin. Der Trigger ist dann auch wie oben nur Deine Geofence Ereignisse.
-
@jjmargis
Genau so wie Du es geschrieben hast kommt das mit ins Blocky rein. Ersetzte einfach das "wenn" am Anfang mit Namen von vorhandenen Blöcken "falls", Dann hast schon Dein Blockly:wink:Ist eigentlich das was @paul53 oben schon gepostet hat nur mit dem UND in der falls Bedingung mit drin. Der Trigger ist dann auch wie oben nur Deine Geofence Ereignisse.
-
@jjmargis
Genau so wie Du es geschrieben hast kommt das mit ins Blocky rein. Ersetzte einfach das "wenn" am Anfang mit Namen von vorhandenen Blöcken "falls", Dann hast schon Dein Blockly:wink:Ist eigentlich das was @paul53 oben schon gepostet hat nur mit dem UND in der falls Bedingung mit drin. Der Trigger ist dann auch wie oben nur Deine Geofence Ereignisse.
-
@jjmargis
Ist wie es @paul53 schreibt. Kannst das Script von oben so verwenden, musst nur noch zusätzlich Deine Aktion einfügen und die zwei Trigger DPs anpassen, fertig.
Das Ereignis das zuerst eintrifft sperrt eh das andere und somit wird immer nur eins der beiden Ereignisse abgearbeitet. Beim Timeout musst mal schauen, wie weit die Ereignisse bei einer gemeinsamen Autofahrt auseinander liegen und dem entsprechend anpassen, dass das zuverlässig läuft (lieber bisschen mehr als zu wenig).Manchmal kann man mit einer Erweiterung ein Programm tatsächlich verkürzen :blush:
-
@jjmargis
Ist wie es @paul53 schreibt. Kannst das Script von oben so verwenden, musst nur noch zusätzlich Deine Aktion einfügen und die zwei Trigger DPs anpassen, fertig.
Das Ereignis das zuerst eintrifft sperrt eh das andere und somit wird immer nur eins der beiden Ereignisse abgearbeitet. Beim Timeout musst mal schauen, wie weit die Ereignisse bei einer gemeinsamen Autofahrt auseinander liegen und dem entsprechend anpassen, dass das zuverlässig läuft (lieber bisschen mehr als zu wenig).Manchmal kann man mit einer Erweiterung ein Programm tatsächlich verkürzen :blush:
@Jan1
Ich habe jetzt mal einiges probiert. Leider komme ich nicht zum Ergebnis mit dem "Prell Hinweis"..
Ich habe einen Außenkontakt angebracht, über den ich dann noch gleich eine Zustandsmeldung bekomme. Den habe ich in die Scripts eingebaut.
Siehe:


Das läuft nun so:
Wenn das erste Script reagiert hat, ist der Kontakt offen und das zweite Script reagiert dann nicht.
Das ist auch soweit in Ordnung.
Allerdings reagiert das zweite Script, wenn ich den Carport wieder schließe.
:-(Ich habe keine Idee wie ich das verhindern kann.
:-(
