Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Durchgehend offenstehende Tür + Nachricht

    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

    Durchgehend offenstehende Tür + Nachricht

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Guest last edited by paul53

      @Paul-OL sagte:

      warum erhalte ich die Meldung immer zwei mal bei Telegram.

      Weil mehr als nur ein Intervall läuft, denn Du hast stop Intervall beim Schließen der Tür vergessen.

      1 Reply Last reply Reply Quote 0
      • M
        Markus84 @Guest last edited by

        @Paul-OL said in Durchgehend offenstehende Tür + Nachricht:

        Ist das oben gut gelöst mit Falls Objekt "wurde geändert"?

        Ja, denn du willst beim Schließen des Fenster das interval abbrechen.

        D4vE 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @Guest last edited by dslraser

          @Paul-OL

          Vorschlag

          Bildschirmfoto 2020-05-29 um 14.14.11.png

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id="P!5;J?(GbcTTf.V@ep8P">intervall_dauer</variable>
             <variable id="Ag@opP3u?Tmz4Q;ls4*B">minute</variable>
             <variable id="?Xk;]eNIJp=F]o#z//X_">zaehler</variable>
             <variable type="interval" id="Fenster">Fenster</variable>
           </variables>
           <block type="comment" id="6esKRv5*7lGyI|Vae9/U" x="-12" y="1238">
             <field name="COMMENT">60000 = 1 Minute</field>
             <next>
               <block type="variables_set" id="tmVlBezs89-J7#6GrI,u">
                 <field name="VAR" id="P!5;J?(GbcTTf.V@ep8P">intervall_dauer</field>
                 <value name="VALUE">
                   <block type="math_arithmetic" id="y3:tj|oZ7D}r;ijPkEIj">
                     <field name="OP">MULTIPLY</field>
                     <value name="A">
                       <shadow type="math_number" id="EnFtjd,:WI_!Tq=phH9A">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="math_number" id="t@$Rrt8{n+B!1y7su}[5">
                         <field name="NUM">60000</field>
                       </block>
                     </value>
                     <value name="B">
                       <shadow type="math_number" id="JAyxxG}6cOL@k^j--48X">
                         <field name="NUM">2</field>
                       </shadow>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="A3DJ+t]poyn{-{QWwX|d">
                     <field name="VAR" id="Ag@opP3u?Tmz4Q;ls4*B">minute</field>
                     <value name="VALUE">
                       <block type="math_number" id="AG~{3whuTGZ}jjwA4V-Q">
                         <field name="NUM">60000</field>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="hCxlVXP-xf@x}O7tcM)?">
                         <field name="VAR" id="?Xk;]eNIJp=F]o#z//X_">zaehler</field>
                         <value name="VALUE">
                           <block type="math_number" id="1J@4lY0T.(Ne2]=(KP{3">
                             <field name="NUM">0</field>
                           </block>
                         </value>
                         <next>
                           <block type="on_ext" id="g@SDiyxr,4+?}Gr*3/#M">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                             <field name="CONDITION">ne</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="zW1m0qyRn?{.@5%@pVak">
                                 <field name="oid">hm-rpc.0.0000D709956847.1.STATE</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="controls_if" id="S%,5qiJYrE#DJSLMIKwM">
                                 <value name="IF0">
                                   <block type="on_source" id="B|!vuql4oXcm=gG5;A;=">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="variables_set" id="Aw~S/0H.|w`a~/j*Pt)w">
                                     <field name="VAR" id="?Xk;]eNIJp=F]o#z//X_">zaehler</field>
                                     <value name="VALUE">
                                       <block type="math_number" id="xjF7TTt)K09}hzGI~:XL">
                                         <field name="NUM">0</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="timeouts_clearinterval" id="mlog;TCL$_ewDgYJI!JP">
                                         <field name="NAME">Fenster</field>
                                         <next>
                                           <block type="timeouts_setinterval" id=",]#nBMI|(,.z)r}+x;No">
                                             <field name="NAME">Fenster</field>
                                             <field name="INTERVAL">intervall_dauer</field>
                                             <field name="UNIT">ms</field>
                                             <statement name="STATEMENT">
                                               <block type="math_change" id="wf[L0455(b0PYeTBZ2pa">
                                                 <field name="VAR" id="?Xk;]eNIJp=F]o#z//X_">zaehler</field>
                                                 <value name="DELTA">
                                                   <shadow type="math_number" id=".2(w$uk3}N?I,8y(RV;]">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                 </value>
                                                 <next>
                                                   <block type="telegram" id="i8L7ocnITsG.GIA28HcT">
                                                     <field name="INSTANCE"></field>
                                                     <field name="LOG"></field>
                                                     <field name="SILENT">FALSE</field>
                                                     <field name="PARSEMODE">Markdown</field>
                                                     <value name="MESSAGE">
                                                       <shadow type="text" id="9|Jwn.-%Ror[C?f=~qH8">
                                                         <field name="TEXT">text</field>
                                                       </shadow>
                                                       <block type="text_join" id="yig5gi3D=Q_NPge~J5[8" inline="false">
                                                         <mutation items="7"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="iUY$a;.]VZB!By{+guvh">
                                                             <field name="TEXT">Die Terassentür ist seit</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="text" id="8*XLt$Yqb)b82mr#f0OW">
                                                             <field name="TEXT"> </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="math_arithmetic" id="|EZdm6MS6@6lxQ+e%_vD" inline="false">
                                                             <field name="OP">DIVIDE</field>
                                                             <value name="A">
                                                               <shadow type="math_number" id="O5Ui:|*kw}U}zohk8X0U">
                                                                 <field name="NUM">1</field>
                                                               </shadow>
                                                               <block type="math_arithmetic" id="fL41Udeo|0Vms2kEfv8r" inline="false">
                                                                 <field name="OP">MULTIPLY</field>
                                                                 <value name="A">
                                                                   <shadow type="math_number" id=";?N/Mi!L^C5l)gD]09vD">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="Kd:*zXJS!W`Wru?2o31{">
                                                                     <field name="VAR" id="?Xk;]eNIJp=F]o#z//X_">zaehler</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <shadow type="math_number" id="{2o@Az:ob;LXRv3vnv$D">
                                                                     <field name="NUM">1</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="ax8E,K0e%C:ZojzwfKqs">
                                                                     <field name="VAR" id="P!5;J?(GbcTTf.V@ep8P">intervall_dauer</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <shadow type="math_number" id="b:(}aJ(|lE_W_vA|)xDN">
                                                                 <field name="NUM">0</field>
                                                               </shadow>
                                                               <block type="variables_get" id="ORklIWpv2-iaaTD^)_jB">
                                                                 <field name="VAR" id="Ag@opP3u?Tmz4Q;ls4*B">minute</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="ADD3">
                                                           <block type="text" id="4S=+1^{z^kgCcE`H0Pr]">
                                                             <field name="TEXT"> </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD4">
                                                           <block type="text" id="nyABgXm^Q):H-KYpNcYT">
                                                             <field name="TEXT">Minuten geöffnet ☝️</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD5">
                                                           <block type="text_newline" id="G4OJ`CgUZTZ(F=|ZZs#2">
                                                             <field name="Type">\n</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD6">
                                                           <block type="text" id="oVs8e!ic,R!gif7Vd8:.">
                                                             <field name="TEXT">Bitte schließen ❗️</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="USERNAME">
                                                       <block type="text" id="]r{^1:1%6h`lm}xc~dH|">
                                                         <field name="TEXT">Heiko</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="controls_if" id="u3P(4~w*2-x7qgQy.y{h">
                                     <value name="IF0">
                                       <block type="logic_operation" id="}j0}r~A]ZNq@[XWFY|0o" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="logic_negate" id=".?0T85dHbCRKpaX~faon">
                                             <value name="BOOL">
                                               <block type="on_source" id="3%CDY4DJE1nEi)Q.uGd#">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="rU(l{6ANj^HN/ZxVKnk8">
                                             <field name="OP">GT</field>
                                             <value name="A">
                                               <block type="variables_get" id="d~:1r}FW3h6Ql(|{+!,8">
                                                 <field name="VAR" id="?Xk;]eNIJp=F]o#z//X_">zaehler</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="math_number" id="#HEeC/rSHvB.9:R`]X90">
                                                 <field name="NUM">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="telegram" id="3]}Y/gV;T=4XjBJQ7pY.">
                                         <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="fTxD,jLE+5H;dlVt+#_T">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="text" id="b@rQ24[qQ!OJz=M$+JXI">
                                             <field name="TEXT">Danke das Du die Terassentür geschlossen hast 👍</field>
                                           </block>
                                         </value>
                                         <value name="USERNAME">
                                           <block type="text" id="B#JOq;2Py6o]WXQ*-~8V">
                                             <field name="TEXT">Heiko</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          Ergebnis

          Screenshot_20200529-141058_Telegram.jpg

          1 Reply Last reply Reply Quote 0
          • ?
            A Former User last edited by

            Ich habe folgende Version:

            Bildschirmfoto 2020-06-05 um 00.28.52.png

            Sobald eine Tür auf geht, bekomme ich bis zur unendlichkeit Meldungen.
            Das hört nicht auf. Wo ist mein Denkfehler?

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Guest last edited by

              @Paul-OL sagte:

              Wo ist mein Denkfehler?

              Es laufen mehrere Timeouts und Intervalle parallel, da beide Türen triggern. Beispiel: Wenn Türkontakt 3 offen meldet und Türkontakt 1 triggert, wird jedesmal für Türkontakt 3 ein neues Timeout und Intervall gestartet.
              Verwende für jede Tür einen eigenen Trigger und triggere auf "wurde geändert".

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User last edited by

                Du hast recht, nun funktioniert es.

                Ich wundere mich, denn ich wollte alle Türen in einem Script zusammenfassen. Und genau deswegen habe ich immer vorher gefragt, ob die Tür aufsteht. Naja ging nicht. Jetzt wo es einzeln ist, geht es wieder.

                Danke.

                Hier die funktionierende Lösung:
                Bildschirmfoto 2020-06-05 um 22.40.15.png

                Schade, dass es keine Bibliothek oder Verzeichnis mit funktionierenden Lösungen gibt. Beim Programmieren gibt es ja "Entwurfsmuster" design patterns etc. Jeder der neu dabei ist, wird immer wieder Probleme haben und die selben Fehler machen. Mal schauen, was die Zukunft bringt. 😃

                1 Reply Last reply Reply Quote 1
                • Cinimod
                  Cinimod Most Active last edited by Cinimod

                  Ich würde auf "geändert" triggern, und als erstes den timeout und interval stoppen.

                  Bildschirmfoto 2020-06-08 um 18.42.04.png

                  jedesmal wenn getriggert (Tür sich öffnet oder schließt) wird, wird der Intervall gestoppt
                  -> falls Tür offen ist startet er den interval neu, ist die wert von tür nicht wahr, macht er nix mehr und der Intervall ist gestoppt.

                  man kann natürlich dann noch einmal nen telegramm schicken wenn tür wieder zu ist

                  Bildschirmfoto 2020-06-08 um 18.50.14.png

                  dslraser paul53 2 Replies Last reply Reply Quote 1
                  • dslraser
                    dslraser Forum Testing Most Active @Cinimod last edited by

                    @Dom-Sch

                    so ähnlich war auch mein Vorschlag...

                    https://forum.iobroker.net/post/441125

                    Cinimod 1 Reply Last reply Reply Quote 0
                    • Cinimod
                      Cinimod Most Active @dslraser last edited by

                      @dslraser said in Durchgehend offenstehende Tür + Nachricht:

                      @Dom-Sch

                      so ähnlich war auch mein Vorschlag...

                      https://forum.iobroker.net/post/441125

                      ja etwas umfangreicher 🙂

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Cinimod last edited by

                        @Dom-Sch sagte:

                        jedesmal wenn getriggert (Tür sich öffnet oder schließt) wird, wird der Intervall gestoppt

                        Das Intervall, das beim Tür schließen gestoppt wurde, wird beim Tür öffnen nochmal gestoppt.

                        @dslraser sagte in Durchgehend offenstehende Tür + Nachricht:

                        so ähnlich war auch mein Vorschlag...

                        Aber nur so ähnlich: Das Intervall wird erst beim erneuten Tür öffnen gestoppt.

                        Cinimod dslraser 2 Replies Last reply Reply Quote 0
                        • Cinimod
                          Cinimod Most Active @paul53 last edited by

                          @paul53 said in Durchgehend offenstehende Tür + Nachricht:

                          @Dom-Sch sagte:

                          jedesmal wenn getriggert (Tür sich öffnet oder schließt) wird, wird der Intervall gestoppt

                          Das Intervall, das beim Tür schließen gestoppt wurde, wird beim Tür öffnen nochmal gestoppt.

                          @dslraser sagte in Durchgehend offenstehende Tür + Nachricht:

                          so ähnlich war auch mein Vorschlag...

                          Aber nur so ähnlich: Das Intervall wird erst beim erneuten Tür öffnen gestoppt.

                          ja sicher, wenn zustand sich öndert löcht er alten interval, aber wenn tür offen startet der interval doch erneut ... sonst wirst du zugeschmissen mit nachrichten ... hast nachher 5 mal den interval am laufen 🙂

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Cinimod last edited by

                            @Dom-Sch sagte:

                            wenn tür offen startet der interval doch erneut

                            Ja, das funktioniert so auch. Das Stoppen des Intervalls nur beim Schließen der Tür genügt aber.

                            Cinimod 1 Reply Last reply Reply Quote 0
                            • Cinimod
                              Cinimod Most Active @paul53 last edited by Cinimod

                              @paul53 said in Durchgehend offenstehende Tür + Nachricht:

                              @Dom-Sch sagte:

                              wenn tür offen startet der interval doch erneut

                              Ja, das funktioniert so auch. Das Stoppen des Intervalls nur beim Schließen der Tür genügt aber.

                              ja wohl wahr ... reicht auch aus ... ich mache es immer so ... laufendes zeug als erstes löschen 😳

                              dann so :

                              Bildschirmfoto 2020-06-08 um 19.03.45.png

                              1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @paul53 last edited by

                                @paul53 sagte in Durchgehend offenstehende Tür + Nachricht:

                                Aber nur so ähnlich: Das Intervall wird erst beim erneuten Tür öffnen gestoppt.

                                stimmt, hast recht. (wie immer😀)

                                1 Reply Last reply Reply Quote 0
                                • D4vE
                                  D4vE @Markus84 last edited by

                                  @Markus84 das skript geht so nicht nach der Tür schließen! kommt weiterhin die meldung das die tür noch auf sei ^^

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  769
                                  Online

                                  31.9k
                                  Users

                                  80.2k
                                  Topics

                                  1.3m
                                  Posts

                                  blockly security
                                  6
                                  18
                                  1283
                                  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