NEWS
(GELÖST) Für Alarmanlage 1 Minute Zeit zum deaktivieren einstellen
-
Ich habe bei mir das "Scharf schalten" in eine Funktion gepackt und diese rufe ich nach dem Aktivieren zeitverzögert auf.
Als Gedanke:
Wenn du die Haustüre bei aktiver Alarmanlage betrittst würde ich auch zeitverzögert auslösen sonst gibt es immer Alarm wenn du heim kommst
-
Ich habe bei mir das "Scharf schalten" in eine Funktion gepackt und diese rufe ich nach dem Aktivieren zeitverzögert auf.
Als Gedanke:
Wenn du die Haustüre bei aktiver Alarmanlage betrittst würde ich auch zeitverzögert auslösen sonst gibt es immer Alarm wenn du heim kommst `
Wie hast Du das im einzelnen gelöst ? Das mit der Haustür ist ja genau das Problem.
-
Schau mal hier:
viewtopic.php?f=30&t=2850#p84317
Kenn mich mit Blocky nicht aus aber vielleicht kannst du dir aus dem Script Anregungen holen
-
Puh, das ist mir etwas zu kompliziert…
Jemand anders noch eine Idee?
-
Bin kein Blockly Man, also nur zur Anregung:
Du prüfst die Haustür separat. Wenn Sie auslöst startest Du einen Timeout.
Nach Ablauf der Timeouts überprüfst Du die Alarmanlage erneut.
Ist die Alarmanlage noch Scharf, löst Du den Alarm aus.
Gruß
Christian
-
ich hatte mir nun 2 Sensorenfelder eingebaut : einmal alle, die immer scharf sein sollen und einmal Haustür + Flurbewegungsmelder mit 20 Sekunden Verzögerung.
Das ganze sah dann so aus :
Das klappt eigentlich auch so ganz gut, ich kann bei den Objects verfolgen, dass ich die Tür aufmachen kann, wenn die Alarmanlage scharf ist und der Alarm nicht ausgelöst wird… Dann kann ich auch die Alarmanlage mit dem Taster ausmachen...Die ist dann auch aus. Und kurze Zeit später wird der Alarm ausgelöst.
Daher gehe ich davon aus, dass das Grundproblem 20 Sekunden Zeit zu haben gelöst ist. Aber irgendwo ist da trotzdem noch der Wurm. Ironischerweise betätige ich in der Zeit zwischen Alarm aus und dem komischen Alarm ausgelöst keinen weiteren Sensor ! Es scheint fast so, als wenn sich das Script es merkt und sagt : gut, 20 Sekunden mache ich nix... Aber dann war da trotzdem was und das gebe ich dann weiter....
?
Habe es eben auch noch mit Timeout probiert... Gleicher Effekt ...
-
Wenn das falls mache Objekt durchlaufen wird steuerst du Alarmanlage mit 20 Sekunden Verzögerung.
Nur steuere wird um 20 Sekunden verzögert.
Das Restprogramm aber nicht.
Bedeutet selbst wenn das erste falls Objekt unwahr ist wird 20 Sekunden gewartet.
Dreh mal, falls der Wert von Flur = wahr.
-
Ich habe das so verstanden, du kommst heim und öffnest die Tür.
Dann startet da blockly und wartet 20 Sekunden bis zum alarm. Wenn du diesen 20 Sekunden die Alarmanlage ausschaltest, geht der Alarm trotzdem.
Also müsstest du am Anfang des blockly 20 Sekunden Wartezeit einbauen oder nach 20 Sekunden nochmal prüfen.
Gruß Sebastian
16431_alarm.jpg -
Das sieht gut aus und klingt plausibel…
ABER :
Wie bekommst du das so hin ? Und Oder untereinander ?
kannst du mir das Script mal hier ablegen ?
Danke
-
<block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="EW9L-s[g:Er9BG)9!0S?" x="-1162.266988481531" y="12.463157894737265"><mutation items="2"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="WGcjd5]dAb_F17]z2Nw4"><field name="oid">default</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="*GaWR6Hd.BN*jZw8E44@"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_for" id="%G)]+nJ2dG%8pvVrxukG"><field name="VAR">Alarmzeit</field> <value name="FROM"><shadow type="math_number" id="7b%)Ju~mW=LUDIkSA8rS"><field name="NUM">1</field></shadow></value> <value name="TO"><shadow type="math_number" id="1t;,vQ?*ZLccjuh/{eN:"><field name="NUM">20</field></shadow></value> <value name="BY"><shadow type="math_number" id="P%(@_mwr,4`muky1Ykj%"><field name="NUM">1</field></shadow></value> <statement name="DO"><block type="controls_if" id="cV-iGU14QvuLgB4B^G}y"><value name="IF0"><block type="logic_operation" id="!57^83Yx~jTN_1(CwwSF" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="tdWChO/BX6i]Y@.(2{}b"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="F.s)Osg,jK`.KXjM|nhK"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="KyriVEN{HDi;h!/DMiRG"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_operation" id="Gl0B0EMNouGRm/S-FyMo"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="0Dp(Ce+|Weqp|bd#[Op."><field name="OP">EQ</field> <value name="A"><block type="get_value" id="n=-Fer5?ly^dUB(!j}Yw"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="KO!ts)md{gTfy33=:Z%r"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="mjt_s@+prQv4%7?{PA7g"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="kECQ)SC@OLUL?cnj.5V3"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="M3aC,)#v#`+[G`;L??7S"><field name="BOOL">TRUE</field></block></value></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="N;%-7IL:=R0nt+Ze19lN"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="#wkzZL^JTQ80;~y`Q|QM"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></statement></block>
-
rechtklick - externe eingänge
-
Danke, script schon mal so hinbekommen. nun teste ich …
Ging nicht, so löst der Alarm sofort aus, wenn die Tür aufgemacht wird... :shock:
-
Probiere mal so:
16431_unbenannt.jpg -
Nehmt lieber das Timeout.
Zur Logik:
Einer der Melder hat breits ausgelöst.
Jetzt NACH Ablauf des Timeouts ERNEUT den Status der Alarmanlage prüfen.
Wenn aus dann mache nichts - wenn ein dann löse Alarm aus.
Gruß
Christian
-
Anstatt nach Ablauf des Timeouts erneut zu prüfen kannst du auch an sinnvoller Stelle einen Sonst-Block anfügen und dort das Timeout abbrechen. Dann würde die Aktion, die nach Ablauf des Timeouts ausgeführt werden soll gar nicht ausgeführt werden. Dann musst du nicht an mehreren Stellen etwas prüfen und sollte sich in Zukunft irgendetwas an deiner Logik zum Auslösen ändern musst du es nur an einer Stelle ändern
-
So ?
Ergebnis wäre = Tür auf, Schalter innerhalb von 10 Sekunden drücken, Alarmanlage aus… Klasse, so soll es schon mal sein.
Aber = Tür auf und bleibt auf = Alarmanlage nach 10 Sekunden automatisch aus... :? So soll es natürlich nicht sein...
-
muss das scharf schalten nicht da hin ?
16431_1845.png -
so ?
Da geht die Alarmanlage alle 10 Sekunden auf scharfstellung, auch wenn ich sie mit dem Taster ausschalte.
Bisher am nähsten dran ist wohl diese
Hier passiert folgendes : Alarm scharf, Tür auf, Schalter gedrückt = Alarm unscharf und alles gut (!) TOPAlarm scharf, Tür auf, Schalter nicht gedrückt = Alarm löst aus (!) Auch TOP
Aber :
Alarm scharf, Tür auf , Tür wieder zu , Schalter nicht gedrückt = Alarm scharf, aber nicht ausgelöst, würde dann nur auslösen, wenn einer der anderen Bewegungsmelder anschlägt… Noch nicht so dass, was ich mir vorstellte.. Ich gehe davon aus, dass die ungebetenen Besucher die Haustür wieder zu machen, sonst fällt das ja zu schnell auf.....
-
Du darfst nach dem Timeout NICHT mehr auf Öffnung prüfen, denk dran der Melder hat bereits ausgelöst.
Du willst nur die Möglichkeit haben während des Timeouts die Anlage auszuschalten.
Deswegen überprüfst Du nur ob sie noch an ist.
Wenn Du nach dem Timeout nochmal auf Öffnung prüfst, könnte jemand die Tür aufbrechen und wieder schließen und
die Anlage würde nicht auslösen :roll:
Gruß
Christian
-
Geht !
Der letzte Hinweis hat geholfen, wobei ich von der Logik her gefühlt die Alarmauslösung aktiviere , wenn ich sie eigentlich deaktiviere….
Hier mal das funktionierende Skript.
Evtl. muss ich nicht alles verstehen, aber nun läuft´s…Danke noch mal..