Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. HILFE: Ideen gesucht VOR-Alarm zu Hauptalarm

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    HILFE: Ideen gesucht VOR-Alarm zu Hauptalarm

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @ChrisXY last edited by

      @ChrisXY
      Es gibt eine recht einfache Lösung:

      Wenn Deaktiviert auf true geht setzt du nur den Status vom Voralarm zurück, und lässt den Timeout laufen.
      Im Timeout prüfst du dann noch einmal das der Voralarm noch "true" ist, nur dann löst du den Hauptalarm aus.

      A.

      C 1 Reply Last reply Reply Quote 0
      • C
        ChrisXY @Asgothian last edited by

        @Asgothian said in HILFE: Ideen gesucht VOR-Alarm zu Hauptalarm:

        @ChrisXY
        Es gibt eine recht einfache Lösung:

        Wenn Deaktiviert auf true geht setzt du nur den Status vom Voralarm zurück, und lässt den Timeout laufen.
        Im Timeout prüfst du dann noch einmal das der Voralarm noch "true" ist, nur dann löst du den Hauptalarm aus.

        A.

        Puhh so ganz kann ich immer noch nicht folgen.
        Deaktiviert setzt immer alles auf false. Also Vor-Alarm, Hüllen Alarm, Hauptalarm ....

        Voralarm soll ja ebenfalls Ausgeschaltet werden wenn Deaktiviert wurde. Also noch bevor es zum Hauptalarm geht ..

        Ich müsste dann doch eher rüfen ob Deaktiviert True ist bevor ich zum Haaauptalarm über gehe ??
        Dann muss ich mit dem Deaktiviert false einfach über 20 Sekunden warten ?

        Oder wie meinst du das genau?

        1 Reply Last reply Reply Quote 0
        • C
          ChrisXY last edited by ChrisXY

          Vielleicht so?
          alarm2.png

          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:
          glasbruch.png

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @ChrisXY last edited by

            @ChrisXY
            also -

            Gemeint war das so:
            Screen Shot 2019-05-29 at 18.16.30 .png

            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 ?

            C 1 Reply Last reply Reply Quote 0
            • C
              ChrisXY @Asgothian last edited by

              @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`??

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @ChrisXY last edited by

                @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.

                1 Reply Last reply Reply Quote 0
                • C
                  ChrisXY last edited by

                  okay Option2 finde ich da besser glaube ich.
                  Hab ich das so richtig umgesetzt ? Bin bei dem Wert von Objekt ID etwas verwirrt gewesen.
                  alarm3.png

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @ChrisXY last edited by

                    @ChrisXY So hatte ich mir das vorgestellt, ja.

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      ChrisXY @Asgothian last edited by

                      @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

                      alarm4.png
                      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>
                      
                      Asgothian 1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @ChrisXY last edited by

                        @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:
                        Screen Shot 2019-05-29 at 22.04.54 .png
                        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.

                        C 1 Reply Last reply Reply Quote 1
                        • C
                          ChrisXY @Asgothian last edited by

                          @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 🙂

                          1 Reply Last reply Reply Quote 0
                          • C
                            ChrisXY last edited by ChrisXY

                            alles ok

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            781
                            Online

                            31.9k
                            Users

                            80.3k
                            Topics

                            1.3m
                            Posts

                            blockly
                            3
                            14
                            525
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo