Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Tatsächliche Warnung erst nach x Sekunden

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Tatsächliche Warnung erst nach x Sekunden

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Snupy last edited by

      Moin

      ich überwache meine Gefriertruhe die sich im Keller befindet mittels Tasmota Steckdosen.
      Manchmal haben die auf Grund der Entfernung zum Hauptrouter, schlechten Empfang.

      Dann sagt mir Alexa "Warnung, Gefriertruhe ist Offline" um mir kurz danach zu Verkünden "Gefriertruhe ist Online" Das nervt ... ich hätte gern das ich nur dann eine Warnung bekomme, wenn die Gefriertruhe bzw. die Steckdose tatsächlich nach 10 Sekunden (oder so) immer noch offline ist. Wie und wo mache ich das ? mit einem Timeout ?

      Gefriertruhe_offline.JPG

      <block xmlns="https://developers.google.com/blockly/xml" type="on" id="Sg#6Ui!ZSz-Wx$/DiiT?" x="162" y="4303">
        <field name="OID">sonoff.0.DVES_611A97.alive</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id="Aa9VU;]6Bei(JsJSFq+q">
            <value name="IF0">
              <block type="logic_compare" id="~2w^Ft;UyNuA!a.jSM/b">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="9A9{3gZ-:D$XaRIT[Ddk">
                    <field name="ATTR">val</field>
                    <field name="OID">sonoff.0.DVES_611A97.alive</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean" id="Bi51Ce0R,5^$t?_N]Y$e">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="control" id="a/RunFc,VX9tD[gt|Z=U">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">alexa2.0.Echo-Devices.90F00718653106D0.Commands.speak</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="text" id="_~1DIIxQder/hr$yZTxt">
                    <field name="TEXT">Warnung, Steckdose für Gefriertruhe ist Offline</field>
                  </block>
                </value>
                <next>
                  <block type="telegram" id="%F-cKwty5[t/Z{39igO8">
                    <field name="INSTANCE">.5</field>
                    <field name="LOG"></field>
                    <field name="SILENT">FALSE</field>
                    <field name="PARSEMODE">default</field>
                    <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                    <value name="MESSAGE">
                      <shadow type="text" id="SC;yVu~=~tp].Hzh*;3I">
                        <field name="TEXT">Warnung, Gefriertruhe ist Offline</field>
                      </shadow>
                    </value>
                    <next>
                      <block type="whatsapp-cmb" id="F]n|!-9fM$D(i)[WcoN_">
                        <field name="INSTANCE">.0</field>
                        <field name="LOG"></field>
                        <value name="MESSAGE">
                          <shadow type="text" id="fH;J#?tLJ6T~x-Q5xHMF">
                            <field name="TEXT">Warnung, Gefriertruhe ist Offline</field>
                          </shadow>
                        </value>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
            <next>
              <block type="controls_if" id="u1LqwdWy)5jNl#vtKk}~">
                <value name="IF0">
                  <block type="logic_compare" id="od9/VL*=w-eb}d;u!q)b">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="-}C%!RY?4swFJnS35aRp">
                        <field name="ATTR">val</field>
                        <field name="OID">sonoff.0.DVES_611A97.alive</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="*9n;d~MN4LSU.5mq2bZP">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="control" id="er%w}ZALRY}KV,]aT,3H">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                    <field name="OID">alexa2.0.Echo-Devices.90F00718653106D0.Commands.speak</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE">
                      <block type="text" id="ffqR^MPsD@.e83h}:V|S">
                        <field name="TEXT">Steckdose für Gefriertruhe ist Online</field>
                      </block>
                    </value>
                    <next>
                      <block type="telegram" id="^:p8Y]6g2qjZaDWkqaPE">
                        <field name="INSTANCE">.5</field>
                        <field name="LOG"></field>
                        <field name="SILENT">FALSE</field>
                        <field name="PARSEMODE">default</field>
                        <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                        <value name="MESSAGE">
                          <shadow type="text" id="%DU.SYQ~qJjht[JG8e$p">
                            <field name="TEXT">Gefriertruhe ist Online</field>
                          </shadow>
                        </value>
                        <next>
                          <block type="whatsapp-cmb" id=";2IxP=NURjWH}w8~XvcV">
                            <field name="INSTANCE">.0</field>
                            <field name="LOG"></field>
                            <value name="MESSAGE">
                              <shadow type="text" id=",kp*|wL;G/JIww;fLy#Z">
                                <field name="TEXT">Gefriertruhe ist Online</field>
                              </shadow>
                            </value>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
      </block>
      
      crunchip Homoran paul53 3 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @Snupy last edited by

        @snupy https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/de/blockly.md#timeouts

        S 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Snupy last edited by

          @snupy sagte in Tatsächliche Warnung erst nach x Sekunden:

          mit einem Timeout ?

          ja!
          timeout starten
          nach Ablauf prüfen ob immer noch offen
          wenn ja dann meldung

          gibt es gefühlt 100x im Forum

          1 Reply Last reply Reply Quote 0
          • S
            Snupy @crunchip last edited by

            @crunchip

            das würde dann quasi so ausehen wenn ich es nur für Alexa eintragen würde ?
            und das müßte ich ebenfalls noch für "wieder online" einfügen ?

            timeout1.JPG

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Snupy last edited by

              @snupy sagte in Tatsächliche Warnung erst nach x Sekunden:

              so ausehen

              im falls noch ein und mit nicht timeout

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

                @snupy sagte: mit einem Timeout ?

                Ja.

                Blockly_temp.JPG

                1 Reply Last reply Reply Quote 0
                • S
                  Snupy @Homoran last edited by

                  @homoran

                  im falls noch ein und mit nicht timeout

                  ? sorry ich habe wohl gerade nen knoten im Hirn

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Snupy last edited by

                    @snupy mach es wie Paul zeigt. Dort wird über die Sperrvariable gesendet erreicht, dass der Timeout nicht mehrfach gestartet werden kann

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

                      @homoran sagte: Dort wird über die Sperrvariable gesendet erreicht, dass der Timeout nicht mehrfach gestartet werden kann

                      Dort wird durch "stop timeout" im sonst-Zweig erreicht, dass der Timeout nicht mehrfach gestartet werden kann. Die Variable gesendet verhindert die Nachricht "online", wenn nicht vorher "offline" gesendet wurde.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @paul53 last edited by

                        @paul53 sagte:

                        Dort wird durch "stop timeout" im sonst-Zweig erreicht, dass der Timeout nicht mehrfach gestartet werden kann

                        Natürlich, aber durch die Sperrvariable wird dafür gesorgt, dass der sonst Zweig auf gerufen wird, was ich mit nicht timeout erreichen wollte.

                        oder übersehe ich was elementares?

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

                          @homoran sagte: übersehe ich was elementares?

                          Bei einem Trigger auf einen booleschen Wert mit "wurde geändert" benötigt man keine Sperre mit "nicht timeout", denn es genügt ein "stop timeout" im entgegengesetzten Zweig. Bei Zahlenwerten benötigt man zusätzlich eine Sperre, um Mehrfachstart des Timers zu verhindern.

                          S 1 Reply Last reply Reply Quote 1
                          • S
                            Snupy @paul53 last edited by

                            ihr seit die besten 🙂 das hätte ich nie hinbekommen ... vielen Dank

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              Gonzokalle @Snupy last edited by

                              Habe das hier gerade gefunden.
                              Hat das Blockly den gleichen Effekt wie das obrige?
                              Nachricht erst senden, wenn der Wert eine Minute stabil ist.

                              0a82af47-a7fd-4eac-a61b-bd04e64fe62c-image.png

                              G paul53 2 Replies Last reply Reply Quote 0
                              • G
                                Gonzokalle @Gonzokalle last edited by

                                @gonzokalle
                                Habe die DP manuell geschaltet. Es geht nicht!
                                Habe ein ähnliches Blockly, wo ich einen Schalter entprelle. Da geht es.
                                Müssen der Timeout und die Sperre den gleichen Namen haben?

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

                                  @gonzokalle sagte: Nachricht erst senden, wenn der Wert eine Minute stabil ist.

                                  Nein, das ist eine Sperre, die nach dem Senden verhindert, dass innerhalb der Sperrdauer nochmal gesendet wird (Entprellen).

                                  @gonzokalle sagte in Tatsächliche Warnung erst nach x Sekunden:

                                  Müssen der Timeout und die Sperre den gleichen Namen haben?

                                  Es muss die selbe Timer-Variable sein.

                                  G 1 Reply Last reply Reply Quote 1
                                  • G
                                    Gonzokalle @paul53 last edited by

                                    @paul53
                                    Okay
                                    Habe es jetzt nach deiner Vorlage gebaut. Jetzt geht es.👍

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    872
                                    Online

                                    32.0k
                                    Users

                                    80.5k
                                    Topics

                                    1.3m
                                    Posts

                                    5
                                    16
                                    678
                                    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