Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Wenn "Ping" länger als X Sekunden "false" dann

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Wenn "Ping" länger als X Sekunden "false" dann

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

      Hallo @steimi ,

      vielen Dank für deine Antwort. Die Sonoff Geräte sind bereits eingebunden und lassen sich über die Objekte steuern.
      Die Einstellungen im Ping Adapter habe ich auch schon gesetzt.
      Mein Problem ist hierbei nur, dass es WLAN-Kameras sind, welche hin und wieder mal ein Ping verlieren. Triggert der Ping Adapter genau in diesem Zeitpunkt, dann setzt er Ping ja auf false und das Script läuft los.
      Da ich diese kurzen Aussetzer von ein paar Pings abfangen möchte, soll er ja erst über Sonoff schalten, sobald der Ping länger als 120 Sekunden nicht verfügbar ist.

      Viele Grüße

      Modjo

      crunchip Hogy 2 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @Modjo last edited by

        @Modjo du musst über deinen falls Block ein timeout setzen, in deinem Fall 120sek
        wenn du hier runterblätterst und dir die Suggested Topics betrachtest, sind in der Regel ähnliche Themen dabei, die zur Lösung führen

        1 Reply Last reply Reply Quote 0
        • Dr. Bakterius
          Dr. Bakterius Most Active last edited by Dr. Bakterius

          @Modjo Probier es so:

          <xml xmlns="http://www.w3.org/1999/xhtml">
           <variables>
             <variable type="undefined" id="timeout">timeout</variable>
             <variable type="" id="$Ekxsg$10ps]YpWSmx6l">Wert</variable>
           </variables>
           <block type="on_ext" id="T|6;v2{W;hphtf(tw(?D" x="38" y="38">
             <mutation items="1"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="9qa1Z#i^n3%Y5B$RyN!#">
                 <field name="oid">ping.0.192_168_1_99</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="e3XyaNpfQoGotu6R/N@6">
                 <mutation else="1"></mutation>
                 <value name="IF0">
                   <block type="logic_compare" id="F!{X:*tcyeCkl9k-7^mD">
                     <field name="OP">EQ</field>
                     <value name="A">
                       <block type="variables_get" id="DIt42|j{..)as0V]X-rn">
                         <field name="VAR" id="$Ekxsg$10ps]YpWSmx6l" variabletype="">Wert</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_boolean" id="j]PtqN+k#1l{:W3%#lYn">
                         <field name="BOOL">FALSE</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="timeouts_settimeout" id="J~9r3!R8Xh6G#;E)s|44">
                     <field name="NAME">timeout</field>
                     <field name="DELAY">2</field>
                     <field name="UNIT">min</field>
                     <statement name="STATEMENT">
                       <block type="control" id="G3`?N/#Od45YHf1md5#H">
                         <mutation delay_input="false"></mutation>
                         <field name="OID">sonoff.0.Steckdose.POWER</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="twPVyoU/,98~sh^|IGHO">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                         <next>
                           <block type="control" id="!R+LHs~A_aYQxod9[Vj8">
                             <mutation delay_input="true"></mutation>
                             <field name="OID">sonoff.0.Steckdose.POWER</field>
                             <field name="WITH_DELAY">TRUE</field>
                             <field name="DELAY_MS">5</field>
                             <field name="UNIT">sec</field>
                             <field name="CLEAR_RUNNING">FALSE</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="e!oo_C.k0fj+Vn9M[tt~">
                                 <field name="BOOL">TRUE</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <statement name="ELSE">
                   <block type="timeouts_cleartimeout" id="Nb)6$19z*(ga7JSfIy_K">
                     <field name="NAME">timeout</field>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
          </xml>
          

          blockly.jpg

          BigWumpus 1 Reply Last reply Reply Quote 0
          • Hogy
            Hogy @Modjo last edited by

            @Modjo
            Ich habe etwas ähnliches so gelöst...
            Hier ist es eine Art Master-Slave Schaltung. Das heißt, dass wenn der Stromverbrauch sich in einem entsprechend niedrigen Wert befindet (zwischen 2 Watt und xxx Watt) dann zähle jede Minute einen Wert hoch.
            Wenn der hochgezählte Wert einen bestimmten Wert überschreitet, dann schalte aus.
            Vorteil: Ich kann die Obergrenze des Stromverbrauchs und den Wert, wie lange gewartet werden soll, über Vis setzen.
            Nachteil: Dafür sind weitere manuelle Datenpunkte erforderlich.
            5614f85a-6cd0-4bd8-a4b8-39ae0c0680d8-image.png

            Evtl. hilft dir das weiter.
            Schöne Grüße

            1 Reply Last reply Reply Quote 0
            • M
              Modjo last edited by

              Vielen Dank @Dr-Bakterius & @Hogy für eure Vorschläge,

              ich habe mich für die Varante von Dr-Bakterius entschieden. Es sieht nun wie folgt aus:
              bf6d1b09-dbb6-45db-9e43-105ed45046d5-grafik.png

              Ist das so okay? Kann man das kürzer fassen?
              Ich habe überigens den Timeout auf 5 Minuten erhöht.

              VG
              Modjo

              Hogy Dr. Bakterius 2 Replies Last reply Reply Quote 0
              • Hogy
                Hogy @Modjo last edited by Hogy

                @Modjo
                Schaut für mich (noch Anfänger) gut aus.

                1 Reply Last reply Reply Quote 0
                • Dr. Bakterius
                  Dr. Bakterius Most Active @Modjo last edited by

                  @Modjo sagte in Wenn "Ping" länger als X Sekunden "false" dann:

                  Ist das so okay?

                  Musst du probieren ob das auch zuverlässig läuft. Vor allem wenn eine wirklich weg ist und die zweite nur kurz, kann es hier zu Problemen kommen wenn Timer gestartet und gestoppt werden.

                  Um sicher zu gehen, würde ich für jede Cam einen eigenen Trigger setzen.

                  1 Reply Last reply Reply Quote 0
                  • M
                    Modjo last edited by

                    @Dr-Bakterius said in Wenn "Ping" länger als X Sekunden "false" dann:

                    Musst du probieren ob das auch zuverlässig läuft. Vor allem wenn eine wirklich weg ist und die zweite nur kurz, kann es hier zu Problemen kommen wenn Timer gestartet und gestoppt werden.

                    Um sicher zu gehen, würde ich für jede Cam einen eigenen Trigger setzen.

                    Klingt gut. Habe das jetzt in 2 Trigger umgebaut:

                    d2555d58-b9bd-42cc-9545-2696e36d2cc8-grafik.png
                    Ich werde es jetzt mal testen.

                    VG
                    Modjo

                    Dr. Bakterius 1 Reply Last reply Reply Quote 0
                    • Dr. Bakterius
                      Dr. Bakterius Most Active @Modjo last edited by

                      @Modjo Wenn alles klappt, setze das Thema doch bitte auf "gelöst". 🙂

                      1 Reply Last reply Reply Quote 0
                      • BigWumpus
                        BigWumpus @Dr. Bakterius last edited by BigWumpus

                        Hallo,
                        der Timeout-Befehl hier wird nicht das gewünschte bewirken, weil das Abschalten der Kamera einfach stumpf um 2 Minuten verzögert wird.
                        Da muß etwas besseres her.

                        So wie per Zeitplan alle Minute eine Routine starten, die:
                        -wenn Kamera per Ping erreichbar ist:

                          • das Relais in 5,1 Minuten einschaltet und alle laufenden Timer löscht
                          • das Relais in 5,0 Minuten ausschaltet
                            Fehlt der Ping wird in 5 Minuten ausgeschaltet und 0,1 Minuten später wieder ein.
                            Aber nur einmal, wenn dann immer noch kein Ping kommt ist alles vorbei...
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        928
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        6
                        12
                        731
                        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