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

      Liebe Community,

      ich habe zwei WLAN-Kameras (außen) mit welchen ich hin und wieder Probleme mit der Verbdinung habe und ich diese vom Strom nehmen & neu starten muss damit sie sich wieder ins WLAN einwählen.
      Um hier Abhilfe zu schaffen, habe ich hinter jeder Kamera ein Sonoff Basic Modul mit Tasmota dazwischen geklemmt, damit ich über "ON" und "OFF" die Kamera hart aus und wieder einschalten kann. Die Kameras habe ich über den Ping Adapter eingepflegt.
      Nun habe ich folgendes vor, wobei ich mit Blockly eure Hilfe benötige.

      Wenn Ping von Kamera länger als 120 Sekunden "false", dann steuere Sonoff Toggle "OFF"
      Warte 5 Sekunden dann steuere Sonoff Toggle "ON"

      Könnt ihr mir hierbei behilflich sein?

      Vielen Dank vorab!

      Gruß
      Modjo

      S 1 Reply Last reply Reply Quote 0
      • S
        steimi @Modjo last edited by steimi

        @Modjo im Ping-Adapter stellst du die Zeit ein wann das Gerät als nicht erreichbar gemeldet wird. Auf das False triggerst du. Mit Control-Objekt schaltest du das Sonoff-Gerät aus und dann mit 'Control-Objekt mit Verzögerung' wieder ein. Den Sonoff-Adapter hast du installiert?

        1 Reply Last reply Reply Quote 0
        • 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

                            942
                            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