Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!

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

      Ich verzweifle an einem Script, ich habe das Problem das hi und da, für sagen wir mal 1 Sekunde angeblich eine IP Cam oder der Sonoff RF offline sein soll und dann ist er sofort wieder online! Per cmd --> "ping IP -t" konnte ich das nicht bestätigen!

      Nun habe ich mir ein Script erstellt, das zumindest erst nach einem Ausfall von 2 Minuten melden soll das IP nicht erreichbar ist!

      Wo liegt hier mein Fehler?!

      ip.PNG

      rantanplan 1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan @MyzerAT last edited by

        @MyzerAT sagte in Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!:

        Ich verzweifle an einem Script, ich habe das Problem das hi und da, für sagen wir mal 1 Sekunde angeblich eine IP Cam oder der Sonoff RF offline sein soll und dann ist er sofort wieder online! Per cmd --> "ping IP -t" konnte ich das nicht bestätigen!

        Nun habe ich mir ein Script erstellt, das zumindest erst nach einem Ausfall von 2 Minuten melden soll das IP nicht erreichbar ist!

        Wo liegt hier mein Fehler?!

        Wäre schön, wenn Du sagen würdest wie der Fehler aussieht.
        Ich mache es mal genau so kurz wie Du. In meiner Glaskugel steht der Begriff "stop timer"☺

        1 Reply Last reply Reply Quote 1
        • MyzerAT
          MyzerAT last edited by MyzerAT

          man ich bin echt blind , du meinst das hier

          #tab-javascript.jpg

          #edit#

          ps: habe noch stop timeout in stop timeout 2editiert

          Asgothian 1 Reply Last reply Reply Quote 0
          • MyzerAT
            MyzerAT last edited by MyzerAT

            @rantanplan

            zur Fehlerbeschreibung, es soll nicht gemeldet werden wenn zb. Sonoff nicht pingbar ist, innerhalb eines gewissen Zeitraumes von zb. unter 120 Sekunden. Erst wenn länger nicht erreichbar soll eine Meldung kommen.

            Also kurz gesagt, wenn was nicht online ist und aber gleich wieder online geht, dann soll keine Meldung kommen. Leider kommt sie dennoch!

            6c5c721b-c263-471c-ae63-a9ff2cd8c2e9-grafik.png

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

              @MyzerAT
              Versuch das mal:

              Screen Shot 2019-03-01 at 15.24.00 .png

              Natürlich musst du die ObjektID noch setzen und die Kommentare durch deine Aktionen ersetzen.!

              rantanplan 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                Du darfst keinen Mehrfach-Trigger verwenden.

                Asgothian 1 Reply Last reply Reply Quote 0
                • rantanplan
                  rantanplan last edited by

                  Paul53 hat recht.
                  Jeden "Ping" in einem separaten Trigger bearbeiten.

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

                    @paul53 sagte in Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!:

                    Du darfst keinen Mehrfach-Trigger verwenden.

                    Warum nicht ?

                    1 Reply Last reply Reply Quote 0
                    • MyzerAT
                      MyzerAT last edited by

                      @paul53

                      geht auch nicht, meldet nach Ablauf der zwei Minuten das der Sonoff RF wieder online ist

                      d20b9bea-a702-472e-8e22-b2fb42e57fd3-grafik.png

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

                        Vorschlag:
                        Blockly_mehrere_Ping_testen.JPG

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

                          @Asgothian Grundsätzlich ist das eine gute Idee mit dem "Flag" ob ein Timer läuft oder nicht.
                          Zwei Dinge würde ich persönlich aber nicht machen.

                          1. Namensgebung: "timeout" als lokale Variable UND als Timername macht die ganze Sache unübersichtlich.
                            Besser wäre "timeout_on", "timeout1_on", usw. als bool (true/false)
                          2. timeout = null
                            "null" ist nicht gleich "0".
                            Mit "null" setzt Du eine Variable in einen undefinierten Zustand zurück. Diese muss dann jedesmal, bei Benutzung, neu initialisiert werden. Wird das vergessen gibt es "error".
                          Asgothian 1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @paul53 last edited by

                            @paul53
                            Das leuchtet mir nicht ein. Wenn der Wert sich ändert werden ja alle Trigger die du hintereinander im Script hast auf einmal ausgelöst, sprich alle Timeouts laufen los. Dabei sollte es egal sein wie viele du hintereinander schaltest.

                            Nur das ich da nicht in die Wüste laufe - der Wert SonoffRF der am Anfang abgefragt wird ist true wenn es eine Verbindung gibt, und false wenn es keine gibt ?

                            A.

                            paul53 1 Reply Last reply Reply Quote 0
                            • MyzerAT
                              MyzerAT last edited by MyzerAT

                              @paul53

                              bdc25973-3e52-4779-99a8-ce75d5af38cb-grafik.png

                              wie bekomme ich bei den zwei x was rein ? und die ausgabe soll auf Alexa und Telegram erfolgen!

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

                                @Asgothian sagte:

                                der Wert SonoffRF der am Anfang abgefragt wird ist true wenn es eine Verbindung gibt, und false wenn es keine gibt ?

                                Richtig: true stoppt die Verzögerung und erzeugt "wieder Online"; false startet die Verzögerung und erzeugt "Offline" navh Verzögerung, falls nicht inzwischen gestoppt.

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

                                  @rantanplan sagte in Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!:

                                  Namensgebung: "timeout" als lokale Variable UND als Timername macht die ganze Sache unübersichtlich.

                                  Da bin ich anderer Meinung. Die Variable timeout und die Variable die den timeout selber steuert ist ein und die selbe. Es sind eben nicht 2 Variablen

                                  timeout = null
                                  "null" ist nicht gleich "0".
                                  Mit "null" setzt Du eine Variable in einen undefinierten Zustand zurück. Diese muss dann jedesmal, bei Benutzung, neu initialisiert werden. Wird das vergessen gibt es "error".

                                  Das ist Absicht.. Ich prüfe diese Variable ja explizit auf NULL ab. Einzig das clear timeout könnte zu einem Problem werden. Das könnte man aber auch in ein "else" packen, so das es nur gemacht wird wenn timeout nicht null ist, und damit der Timeout noch läuft.

                                  Nachtrag: da ich nicht weiss was fuer ein Typ die Variable timeout hat wenn sie durch das setTimeout gesetzt wird, kann ich halt nicht einfach auf bool oder int prüfen. Ein Vergleich mit NULL ist aber immer erlaubt und führt so wie ich den nutze nicht zu Fehlern.

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

                                    @MyzerAT sagte:

                                    wie bekomme ich bei den zwei x was rein ?

                                    Einfach rein klicken.
                                    Blockly_Funktionsparameter.JPG

                                    Alexa und Telegram in die Funktion Meldung(name, onoff) einbauen !

                                    1 Reply Last reply Reply Quote 0
                                    • MyzerAT
                                      MyzerAT last edited by

                                      schaffs leider nicht, kenn den Baustein Meldung noch nicht, eventuell kann mir jemand den zusamenstoppeln, bitte, thx

                                      <xml xmlns="http://www.w3.org/1999/xhtml">
                                        <block type="procedures_defnoreturn" id="QcHn*};`aes=*M[62[T_" x="-287" y="-737">
                                          <mutation>
                                            <arg name="name"></arg>
                                            <arg name="onoff"></arg>
                                          </mutation>
                                          <field name="NAME">Meldung</field>
                                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                        </block>
                                        <block type="on" id="wN;UvwDV@#P(A[|y2/s." x="-287" y="-637">
                                          <field name="OID">ping.1.RDJL_Home.192_168_0_64</field>
                                          <field name="CONDITION">ne</field>
                                          <field name="ACK_CONDITION"></field>
                                          <statement name="STATEMENT">
                                            <block type="controls_if" id="@ec_w*anU[C5_:,q!@u6">
                                              <mutation else="1"></mutation>
                                              <value name="IF0">
                                                <block type="on_source" id="}}|XsyQ@;d%*`Qa*P8MP">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="timeouts_cleartimeout" id="A{9nUa,_OgF[Kk%e1?=]">
                                                  <field name="NAME">timeout</field>
                                                  <next>
                                                    <block type="procedures_callnoreturn" id="V#,#{?LCEl=]otxJ:bR?" inline="false">
                                                      <mutation name="Meldung">
                                                        <arg name="name"></arg>
                                                        <arg name="onoff"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="on_source" id="}?{-v*u;R@:1CN2rC1Xj">
                                                          <field name="ATTR">common.name</field>
                                                        </block>
                                                      </value>
                                                      <value name="ARG1">
                                                        <block type="text" id="?m;9gH%m`,/WoimPO):w">
                                                          <field name="TEXT">wieder online</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                              <statement name="ELSE">
                                                <block type="timeouts_settimeout" id=".7u4Jf,98)qr,a7{wnQ!">
                                                  <field name="NAME">timeout</field>
                                                  <field name="DELAY">120</field>
                                                  <field name="UNIT">sec</field>
                                                  <statement name="STATEMENT">
                                                    <block type="procedures_callnoreturn" id="%cW2F!J99yEG-GB,y2p-">
                                                      <mutation name="Meldung">
                                                        <arg name="name"></arg>
                                                        <arg name="onoff"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="on_source" id="C^c@O*hX=FfH5JVUwY+w">
                                                          <field name="ATTR">common.name</field>
                                                        </block>
                                                      </value>
                                                      <value name="ARG1">
                                                        <block type="text" id="G;p)5ufI}S0vLSaQ/%@R">
                                                          <field name="TEXT">offline</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                        <block type="control" id="Do1*(d;FPVdH~`jRHrS{" x="112" y="-612">
                                          <mutation delay_input="false"></mutation>
                                          <field name="OID">alexa2.0.Echo-Devices.G090U61084851BG7.Commands.speak</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="text_join" id="F*lKSls!iLkoww%{/oGK">
                                              <mutation items="2"></mutation>
                                              <value name="ADD0">
                                                <block type="text" id="QhdzP|.,qK;9WW=ntGe:">
                                                  <field name="TEXT">Achtung, Achtung</field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="text_join" id="yxj=D(V8-%`{-#R[f}n@">
                                                  <mutation items="2"></mutation>
                                                  <value name="ADD0">
                                                    <block type="on_source" id="(u)KQ`c0}#hjgB#:1=Q8">
                                                      <field name="ATTR">common.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="ADD1">
                                                    <block type="text" id="(na[4nbf:VY3wdj#k(s|">
                                                      <field name="TEXT">  ist Offline und nicht mehr Erreichbar!</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="telegram" id="dZ`NtV^dV-qDs6eotVJJ">
                                              <field name="INSTANCE">.0</field>
                                              <field name="LOG">log</field>
                                              <field name="SILENT">FALSE</field>
                                              <field name="PARSEMODE">default</field>
                                              <value name="MESSAGE">
                                                <shadow type="text" id="c`J_.dZ/@?4%P(]3=`)]">
                                                  <field name="TEXT">text</field>
                                                </shadow>
                                                <block type="text_join" id="o.6x{#j+oDiK_78Ko-.*">
                                                  <mutation items="2"></mutation>
                                                  <value name="ADD0">
                                                    <block type="on_source" id="g8?Bc*R%JK;Md-=qGk`5">
                                                      <field name="ATTR">common.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="ADD1">
                                                    <block type="text" id="MV0rG#7UV!D!|hhEo|Y=">
                                                      <field name="TEXT">  ist Offline und nicht mehr Erreichbar!</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                        <block type="control" id="V(Y@289(@J(E+1/0EzSp" x="-188" y="-188">
                                          <mutation delay_input="false"></mutation>
                                          <field name="OID">alexa2.0.Echo-Devices.G090U61084851BG7.Commands.speak</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="text_join" id="A8.SkLP#n-RrWsB+btl#">
                                              <mutation items="2"></mutation>
                                              <value name="ADD0">
                                                <block type="text" id="cA8jZ;,.Omp[1+/suq%]">
                                                  <field name="TEXT">Achtung, Achtung</field>
                                                </block>
                                              </value>
                                              <value name="ADD1">
                                                <block type="text_join" id="3HqC)]gq0iXtK%*[p3hQ">
                                                  <mutation items="2"></mutation>
                                                  <value name="ADD0">
                                                    <block type="on_source" id="PG:W-rk=a5]ZuvHl}VE,">
                                                      <field name="ATTR">common.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="ADD1">
                                                    <block type="text" id="Y[(cQLz?0|*6U*0f=tp]">
                                                      <field name="TEXT">  ist wieder Online!</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="telegram" id="L,8yMe,dS8:R8|pT6_}N">
                                              <field name="INSTANCE">.0</field>
                                              <field name="LOG">log</field>
                                              <field name="SILENT">FALSE</field>
                                              <field name="PARSEMODE">default</field>
                                              <value name="MESSAGE">
                                                <shadow type="text" id="c`J_.dZ/@?4%P(]3=`)]">
                                                  <field name="TEXT">text</field>
                                                </shadow>
                                                <block type="text_join" id="%-:a5R8;,|80W4V3lgRw">
                                                  <mutation items="2"></mutation>
                                                  <value name="ADD0">
                                                    <block type="on_source" id="7gvj54ZeLKjOW1JqBvlM">
                                                      <field name="ATTR">common.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="ADD1">
                                                    <block type="text" id="f17}4~e+wfLf5x{*1zF5">
                                                      <field name="TEXT">  ist wieder Online!</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </xml>
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • MyzerAT
                                        MyzerAT last edited by MyzerAT

                                        meinst du so?

                                        dd1df459-d19e-4439-b105-50b8598d2287-grafik.png

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • MyzerAT
                                          MyzerAT last edited by

                                          nee da kommen fehler im log

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

                                            @MyzerAT
                                            Nein, so:

                                            ```
                                            <xml xmlns="http://www.w3.org/1999/xhtml">
                                            <block type="procedures_defnoreturn" id="QcHn*};aes=*M[62[T_" x="-287" y="-912"> <mutation> <arg name="name"></arg> <arg name="onoff"></arg> </mutation> <field name="NAME">Meldung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="Do1*(d;FPVdH~jRHrS{">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">alexa2.0.Echo-Devices.G090U61084851BG7.Commands.speak</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                            <block type="text_join" id="FlKSls!iLkoww%{/oGK">
                                            <mutation items="2"></mutation>
                                            <value name="ADD0">
                                            <block type="variables_get" id="p-zuzzRM0dn;3q6]ZXUt">
                                            <field name="VAR">name</field>
                                            </block>
                                            </value>
                                            <value name="ADD1">
                                            <block type="variables_get" id="avU1Hb)TNf@#D~#iC?h-">
                                            <field name="VAR">onoff</field>
                                            </block>
                                            </value>
                                            </block>
                                            </value>
                                            <next>
                                            <block type="telegram" id="dZNtV^dV-qDs6eotVJJ"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <value name="MESSAGE"> <shadow type="text" id="cJ_.dZ/@?4%P(]3=)]"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="o.6x{#j+oDiK_78Ko-.*"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="LLD9mGN)Su%b@r#6.Tqs"> <field name="VAR">name</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="?:%CEN8{}h/wX)sV;y%">
                                            <field name="VAR">onoff</field>
                                            </block>
                                            </value>
                                            </block>
                                            </value>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            </block>
                                            <block type="on" id="wN;UvwDV@#P(A[|y2/s." x="-287" y="-637">
                                            <field name="OID">ping.1.RDJL_Home.192_168_0_64</field>
                                            <field name="CONDITION">ne</field>
                                            <field name="ACK_CONDITION"></field>
                                            <statement name="STATEMENT">
                                            <block type="controls_if" id="@ec_w
                                            anU[C5_:,q!@u6">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                            <block type="on_source" id="}}|XsyQ@;d%Qa*P8MP"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="A{9nUa,_OgF[Kk%e1?=]"> <field name="NAME">timeout</field> <next> <block type="procedures_callnoreturn" id="V#,#{?LCEl=]otxJ:bR?" inline="false"> <mutation name="Meldung"> <arg name="name"></arg> <arg name="onoff"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="}?{-v*u;R@:1CN2rC1Xj"> <field name="ATTR">common.name</field> </block> </value> <value name="ARG1"> <block type="text" id="?m;9gH%m,/WoimPO):w">
                                            <field name="TEXT"> ist wieder online</field>
                                            </block>
                                            </value>
                                            </block>
                                            </next>
                                            </block>
                                            </statement>
                                            <statement name="ELSE">
                                            <block type="timeouts_settimeout" id=".7u4Jf,98)qr,a7{wnQ!">
                                            <field name="NAME">timeout</field>
                                            <field name="DELAY">120</field>
                                            <field name="UNIT">sec</field>
                                            <statement name="STATEMENT">
                                            <block type="procedures_callnoreturn" id="%cW2F!J99yEG-GB,y2p-">
                                            <mutation name="Meldung">
                                            <arg name="name"></arg>
                                            <arg name="onoff"></arg>
                                            </mutation>
                                            <value name="ARG0">
                                            <block type="on_source" id="C^c@O
                                            hX=FfH5JVUwY+w">
                                            <field name="ATTR">common.name</field>
                                            </block>
                                            </value>
                                            <value name="ARG1">
                                            <block type="text" id="G;p)5ufI}S0vLSaQ/%@R">
                                            <field name="TEXT"> ist offline</field>
                                            </block>
                                            </value>
                                            </block>
                                            </statement>
                                            </block>
                                            </statement>
                                            </block>
                                            </statement>
                                            </block>
                                            </xml>

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            32
                                            1632
                                            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