Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Ausfal IP erst melden wenn mehr als 2 Minuten nicht erreichbar!

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben Blockly
32 Beiträge 4 Kommentatoren 2.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    Du darfst keinen Mehrfach-Trigger verwenden.

    AsgothianA Offline
    AsgothianA Offline
    Asgothian
    Developer
    schrieb am zuletzt editiert von
    #8

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

    Du darfst keinen Mehrfach-Trigger verwenden.

    Warum nicht ?

    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

    1 Antwort Letzte Antwort
    0
    • MyzerATM Offline
      MyzerATM Offline
      MyzerAT
      schrieb am zuletzt editiert von
      #9

      @paul53

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

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

      lg Rudi

      Master Debian 12 (Wien)
      Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

      Slave Debian 12. (TULLN) --> OpenVPN to Vienna
      Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

      Node 20.19.0
      Nodejs 20.19.0
      npm 10.8.2
      js-controller 7.0.6

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #10

        Vorschlag:
        Blockly_mehrere_Ping_testen.JPG

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        AsgothianA 1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @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.!

          rantanplanR Online
          rantanplanR Online
          rantanplan
          schrieb am zuletzt editiert von
          #11

          @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".

          Rantanplan

          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

          AsgothianA 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            Vorschlag:
            Blockly_mehrere_Ping_testen.JPG

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #12

            @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.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            paul53P 1 Antwort Letzte Antwort
            0
            • MyzerATM Offline
              MyzerATM Offline
              MyzerAT
              schrieb am zuletzt editiert von MyzerAT
              #13

              @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!

              lg Rudi

              Master Debian 12 (Wien)
              Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

              Slave Debian 12. (TULLN) --> OpenVPN to Vienna
              Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

              Node 20.19.0
              Nodejs 20.19.0
              npm 10.8.2
              js-controller 7.0.6

              paul53P 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @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.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #14

                @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.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • rantanplanR rantanplan

                  @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".
                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #15

                  @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.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  rantanplanR 1 Antwort Letzte Antwort
                  0
                  • MyzerATM 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!

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #16

                    @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 !

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • MyzerATM Offline
                      MyzerATM Offline
                      MyzerAT
                      schrieb am zuletzt editiert von
                      #17

                      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>
                      

                      lg Rudi

                      Master Debian 12 (Wien)
                      Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                      Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                      Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                      Node 20.19.0
                      Nodejs 20.19.0
                      npm 10.8.2
                      js-controller 7.0.6

                      1 Antwort Letzte Antwort
                      0
                      • MyzerATM Offline
                        MyzerATM Offline
                        MyzerAT
                        schrieb am zuletzt editiert von MyzerAT
                        #18

                        meinst du so?

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

                        lg Rudi

                        Master Debian 12 (Wien)
                        Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                        Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                        Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                        Node 20.19.0
                        Nodejs 20.19.0
                        npm 10.8.2
                        js-controller 7.0.6

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • MyzerATM Offline
                          MyzerATM Offline
                          MyzerAT
                          schrieb am zuletzt editiert von
                          #19

                          nee da kommen fehler im log

                          lg Rudi

                          Master Debian 12 (Wien)
                          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                          Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                          Node 20.19.0
                          Nodejs 20.19.0
                          npm 10.8.2
                          js-controller 7.0.6

                          1 Antwort Letzte Antwort
                          0
                          • MyzerATM MyzerAT

                            meinst du so?

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

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #20

                            @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>

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • AsgothianA 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.

                              rantanplanR Online
                              rantanplanR Online
                              rantanplan
                              schrieb am zuletzt editiert von
                              #21

                              @Asgothian Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.
                              Probiere das mal und beobachte das Log.
                              timer.png

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              paul53P 1 Antwort Letzte Antwort
                              1
                              • MyzerATM Offline
                                MyzerATM Offline
                                MyzerAT
                                schrieb am zuletzt editiert von
                                #22

                                ich muss kurz weg zum arzt, mach dann weiter, thx an alle einstwelien!

                                lg Rudi

                                Master Debian 12 (Wien)
                                Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                                Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                                Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                                Node 20.19.0
                                Nodejs 20.19.0
                                npm 10.8.2
                                js-controller 7.0.6

                                1 Antwort Letzte Antwort
                                0
                                • rantanplanR rantanplan

                                  @Asgothian Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.
                                  Probiere das mal und beobachte das Log.
                                  timer.png

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #23

                                  @rantanplan sagte:

                                  Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.

                                  Doch: Wenn die Variable timeout auf null gesetzt wird, kann der Timer nicht mehr mit clearTimeout(timeout) gestoppt werden, denn die Variable timeout "addressiert" den Timer.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  rantanplanR 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @rantanplan sagte:

                                    Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.

                                    Doch: Wenn die Variable timeout auf null gesetzt wird, kann der Timer nicht mehr mit clearTimeout(timeout) gestoppt werden, denn die Variable timeout "addressiert" den Timer.

                                    rantanplanR Online
                                    rantanplanR Online
                                    rantanplan
                                    schrieb am zuletzt editiert von
                                    #24

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

                                    @rantanplan sagte:

                                    Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.

                                    Doch: Wenn die Variable timeout auf null gesetzt wird, kann der Timer nicht mehr mit clearTimeout(timeout) gestoppt werden, denn die Variable timeout "addressiert" den Timer.

                                    ??? Und warum läuft mein Beispiel durch?

                                    Rantanplan

                                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                    AsgothianA 1 Antwort Letzte Antwort
                                    0
                                    • rantanplanR rantanplan

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

                                      @rantanplan sagte:

                                      Die Varible "timeout" hat nichts mit dem Timer "timeout" zutun.

                                      Doch: Wenn die Variable timeout auf null gesetzt wird, kann der Timer nicht mehr mit clearTimeout(timeout) gestoppt werden, denn die Variable timeout "addressiert" den Timer.

                                      ??? Und warum läuft mein Beispiel durch?

                                      AsgothianA Offline
                                      AsgothianA Offline
                                      Asgothian
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #25

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

                                      ??? Und warum läuft mein Beispiel durch?

                                      Steht da doch. Wenn du die Variable timeout auf null setzt, dann macht das clear timeout nichts, sprich der Timer läuft durch.
                                      Fehler gibt es (zumindest bei mir) keine. Dein Log sollte also die Meldungen in der folgenden Reihenfolge liefern:
                                      Timer gestartet
                                      Variable auf NULL gesetzt
                                      Ups, ich bin trotzdem da

                                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                      rantanplanR 1 Antwort Letzte Antwort
                                      0
                                      • AsgothianA Asgothian

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

                                        ??? Und warum läuft mein Beispiel durch?

                                        Steht da doch. Wenn du die Variable timeout auf null setzt, dann macht das clear timeout nichts, sprich der Timer läuft durch.
                                        Fehler gibt es (zumindest bei mir) keine. Dein Log sollte also die Meldungen in der folgenden Reihenfolge liefern:
                                        Timer gestartet
                                        Variable auf NULL gesetzt
                                        Ups, ich bin trotzdem da

                                        rantanplanR Online
                                        rantanplanR Online
                                        rantanplan
                                        schrieb am zuletzt editiert von
                                        #26

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

                                        Steht da doch. Wenn du die Variable timeout auf null setzt, dann macht das clear timeout nichts, sprich der Timer läuft durch.

                                        Hmmm, der Sinn des Ganzen bleibt mir bleibt mir momentan noch verschlossen:face_with_rolling_eyes:

                                        Rantanplan

                                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                        AsgothianA 1 Antwort Letzte Antwort
                                        0
                                        • rantanplanR rantanplan

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

                                          Steht da doch. Wenn du die Variable timeout auf null setzt, dann macht das clear timeout nichts, sprich der Timer läuft durch.

                                          Hmmm, der Sinn des Ganzen bleibt mir bleibt mir momentan noch verschlossen:face_with_rolling_eyes:

                                          AsgothianA Offline
                                          AsgothianA Offline
                                          Asgothian
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #27

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

                                          Hmmm, der Sinn des Ganzen bleibt mir bleibt mir momentan noch verschlossen

                                          Jo.. mir auch. In dieser Reihenfolge macht es keinen Sinn.

                                          Wenn Du dir aber das Scriptbeispiel von mir oben anschaust, dann setze ich die Variable auf NULL in genau 3 Fällen

                                          • am Anfang
                                          • wenn der Timeout sauber durchgelaufen ist
                                          • wenn der Timeout gelöscht wurde.

                                          Und all das mit dem Ziel das ich über if timeout == NULL sicher prüfen kann ob der Timeout noch läuft, ohne eine Hilfsvariable zu spendieren.

                                          A.

                                          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                          paul53P rantanplanR 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          635

                                          Online

                                          32.7k

                                          Benutzer

                                          82.3k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe