NEWS
HILFE: Ideen gesucht VOR-Alarm zu Hauptalarm
-
Vielleicht so?
Aber so wird trotzdem mehrfach Voralarm ausgelöst es geht zwar nicht zu Hauptalarm aber trotzdem Push 2x und alles andere wird doppelt ausgelöst
Edit:
Oder wa sist wenn ich bei allen Sensoren Prüfe ob Voralam schon Aktiv ist dann KEIN Voralarm auslösen ?
Z.b so:
-
@ChrisXY
also -Gemeint war das so:
Natürlich muss da wo Object_id bzw select ID steht dein Voralarm-Objekt rein
damit stellst du sicher das der Voralarm nur dann zum Hauptalarm wird wenn der Voralarm nicht gelöscht wurde.
Als letztes musst du halt noch irgendwie den Voralarm status zurück setzen, wenn kein Alarm kommen soll. Aber das müsstest du ja eigentlich bereits haben ?
-
@Asgothian Danke aber langsam wird es Kompliziert
Das Problem dabei ist aber noch das ich ja Vor dem Alarm_Timeout schon meine interne Sirene + Telefon Klingeln auslöse ...
Das wiederrum wird ja dann auch schon wieder ausgelöst wenn Voralarm öfters auf true gesetzt wird.Wie fange ich den nun das wieder ab ?
Ich glaube schon fast das ich den Voralarm weglasse und echt nur 1 Hauptalarm mache wo ALLES was "Laut" wird mit 30 Sekunden in deinem Timeout script läuft.
ABER auch hier wenn die Alarmsensoren hier öfers auslösen .. Da kann ich wirklich nur bei den Sensoren direkt abfragen wenn Alarm nicht true ist nur dann den true setzen ..
Vielleicht die einfachere Lösung`?? -
@ChrisXY Na ja, das ist dann einfach zu lösen:
2 Optionen:
- trigger umstellen von "ist wahr" auf "groesser als" - dann wird der trigger nur aktiv wenn der Voralarm von false auf true wechselst
- die Telegram Aktion - etc. auch hinter das "if alarm_timeout = null" setzen, dann kommt das auch nicht wieder, wenn die 30 Sekunden timeout noch nicht abgelaufen ist
A.
-
okay Option2 finde ich da besser glaube ich.
Hab ich das so richtig umgesetzt ? Bin bei dem Wert von Objekt ID etwas verwirrt gewesen.
-
@ChrisXY So hatte ich mir das vorgestellt, ja.
-
@Asgothian hm ich weiss nicht was los ist .. auf einmal geht es nicht mehr
Ich bekomme voralarm irgendwas und auch 2 aber dann geht es nicht weiter ...
Es kommt nichts mehr .. Script auch schon mal gestoppt hilft nicht
code<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="XSP:|I`n+%Yc9j/o]m~O">Alarm_Timeout</variable> <variable type="undefined" id="Alarm_Timeout">Alarm_Timeout</variable> </variables> <block type="procedures_defcustomnoreturn" id="8S$+v(eU]cE!m0w]2w]-" x="63" y="-162"> <mutation statements="false"></mutation> <field name="NAME">Alarm-Menu</field> <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHRleHQ6ICAgJ0JpdHRlIHfkaGxlIGVpbiBCdXR0b24nLA0KICAgIHJlcGx5X21hcmt1cDogew0KICAgICAgICBrZXlib2FyZDogWw0KICAgICAgICAgICAgWydBbGFybSBhdXMnLCAnJ10sDQogICAgICAgICAgICBbJ0xpY2h0ZXIgYW4nLCAnJ10sDQoNCiAgICAgICAgXSwNCiAgICAgICAgcmVzaXplX2tleWJvYXJkOiAgIHRydWUsDQogICAgICAgIG9uZV90aW1lX2tleWJvYXJkOiBmYWxzZQ0KICAgIH0NCn0pOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="(*HPTzKMeMQI:h}mPzBi" x="-112" y="-113"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="eXDD*E=[9k53vwHrl[vd"> <field name="oid">EIGENE_OBJEKTE.0.ALARMANLAGE.VOR-ALARM</field> </shadow> </value> <statement name="STATEMENT"> <block type="telegram" id="dR|G)$([j;y`ANXF::WB"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="oNN|hqnXvbIs,zk!1q`z"> <field name="TEXT">Voralarm IRGENDWAS</field> </shadow> </value> <next> <block type="controls_if" id="*WgRPth$UzVcHudN?@2V"> <value name="IF0"> <block type="logic_operation" id="xO5T5}Mek*Eg|l.Gd#Pw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="bT0,vX#~V?roG%_4l{.|" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="8BJNT0DdDeR4tVhMJT^5"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="yR~$}$Aou|N6qJM~5JYp"> <field name="ATTR">val</field> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.HÜLLE-SCHARF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="5{HwE$uEYeOWI+SsgwxF"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="i@6G7sB-[{{/{*=pPL2#"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="$AgI;z{FMEEKCI$45_Gt"> <field name="ATTR">val</field> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.AUSGELÖST</field> </block> </value> <value name="B"> <block type="logic_boolean" id="%%%vv$gu3gPQzodhUJ~+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="p,JtuUh-NSlo$0yv1p[h"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="V$n+2MohK}Te]6Ce*/*Y"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="eGB*3g7m/%@;8i^j^4bE"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="4g:Gk}=lX,E(7M`2NW7B"> <field name="VAR" id="XSP:|I`n+%Yc9j/o]m~O" variabletype="">Alarm_Timeout</field> <value name="VALUE"> <block type="logic_null" id="~hJVHl1FnnVli*ay;X)?"></block> </value> <next> <block type="telegram" id="C#;W$0iJJ:,.yU9$H@AN"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="mq0HdmfG;W|RMIcU:(GB"> <field name="TEXT">2</field> </shadow> </value> <next> <block type="on" id="WmU75iiqVm]^%M,Z^Wo@"> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.VOR-ALARM</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="T[$aQf[=NGqb$H3k!xv."> <value name="IF0"> <block type="logic_compare" id="yi/#Q(yfk@3f,fR=ud1{"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="GBNxiEp_f%ehG!Nl;%aJ"> <field name="VAR" id="XSP:|I`n+%Yc9j/o]m~O" variabletype="">Alarm_Timeout</field> </block> </value> <value name="B"> <block type="logic_null" id=")lX:GWlA2S]NqcEoJ2Ga"></block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="g;8zOr};li[(J|JfeEPe"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="@;},G(7r;%:dq$qfI:%E"> <field name="TEXT">VORALARM!!!!</field> </shadow> <block type="text_join" id="Fu@,h8$Qrdj%sB=6$jAn"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="dDg}]z?T`eH-7=8R:[41"> <field name="TEXT"> VORALARM AUSGELÖST </field> </block> </value> <value name="ADD1"> <block type="time_get" id="Z-[oihca71ExJ)z4S^q7"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="HK0aGJikF6|^`8nn|Y,r"> <mutation name="Alarm-Menu"></mutation> <next> <block type="timeouts_settimeout" id="[(W#cj1wDLB,/v-2vILO"> <field name="NAME">Alarm_Timeout</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="$HlJIRu[P)`*GOf1gHtH"> <value name="IF0"> <block type="get_value" id="yX,Xi]v7PcWpD+HvJ@93"> <field name="ATTR">val</field> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.VOR-ALARM</field> </block> </value> <statement name="DO0"> <block type="control" id="B3gi,kQxjs^[D2RkT]~z"> <mutation delay_input="false"></mutation> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.AUSGELÖST</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="!PhZVjn-;ST:^VlCWqR3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id=")H1B5R.2=W9IDEkn.Fu9"> <mutation delay_input="false"></mutation> <field name="OID">EIGENE_OBJEKTE.0.ALARMANLAGE.VOR-ALARM</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="8jWe/A|^D/#^JN+gjHP4"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="variables_set" id="ewosYZ`nW7T`)-+o9V2`"> <field name="VAR" id="XSP:|I`n+%Yc9j/o]m~O" variabletype="">Alarm_Timeout</field> <value name="VALUE"> <block type="logic_null" id="HPza)fjgC*R]}my@W/lQ"></block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="G|Q#+/q#FbnaV/-+l_#k"> <field name="COMMENT"></field> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@ChrisXY
Die rache des Blockly's - ich hab einen Fehler übersehen. Du hast 2 Trigger ineinander geschachtelt, das geht so nicht. War mein Fehler. bitte nach Bild ändern:
Das Setzen der Variable (rot markiert) muss ganz nach oben.
Der innere Trigger muss entfallen, das was im Trigger sitzt muss direkt in das darüber liegende wenn (orange markiert)A.
-
@Asgothian hehe okay macht ja nichts so lerne ich auch etwas dazu
Scheint erstmal zu klappen werde es nun mal ein wenig testen.
Vielen Dank für die hilfe
-
alles ok