Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Anwesenheitsmeldung zu häufig

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anwesenheitsmeldung zu häufig

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

      Moin moin,
      ich habe mir per Blockly ein Script angelegt welches über den Ping ermitteln soll ob ich oder meiner Frau (die Handys) zuhause sind.
      Dies wird mir dann per Telegram (Bot) ausgegeben.
      Jetzt habe ich aber das Phänomen, das anscheinend wenn man den Repeater wechselt immer wieder die Anwesenheitsmeldung ausgegeben wird.

      Kann mir da evtl jemand helfen?

      mama.jpg

      paul53 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active last edited by

        Was wertest du denn beim Ping genau aus? Nur die Antwortzeiten, oder...?

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

          @TiboTake sagte:

          wenn man den Repeater wechselt immer wieder die Anwesenheitsmeldung ausgegeben wird.

          Wechselt dann der Datenpunkt mit dem Namen "Mama" kurzzeitig auf false ? Wenn ja, wie lange (maximal) ?

          Mit folgendem Blockly werden Abwesenheitsdauern unter 5 Minuten ausgeblendet.
          Blockly_mind_abwesenddauer.JPG

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

            @paul53 said in Anwesenheitsmeldung zu häufig:

            @TiboTake sagte:

            wenn man den Repeater wechselt immer wieder die Anwesenheitsmeldung ausgegeben wird.

            Wechselt dann der Datenpunkt mit dem Namen "Mama" kurzzeitig auf false ? Wenn ja, wie lange (maximal) ?

            Mit folgendem Blockly werden Abwesenheitsdauern unter 5 Minuten ausgeblendet.
            Blockly_mind_abwesenddauer.JPG

            Danke für dein blockly script. doch mir fehlt anscheinend einiges in blockly.

            ich kann bz. stop:timeout, den timeout nicht wählen.
            und ganz unten: setzte:timeout auf, nicht finden.

            wo bzw wie finde ich das?
            denn genau diese sachen waren immer dinge die ich im grunde schon länger vermisst habe um vernünftige schaltungen zu machen

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

              @TiboTake sagte:

              stop:timeout, den timeout nicht wählen.

              Den kann man erst wählen, wenn "Ausführen timeout" im Skript enthalten ist.

              @TiboTake sagte in Anwesenheitsmeldung zu häufig:

              setzte:timeout auf, nicht finden.

              Es muss erst "Ausführen timeout" eingefügt sein und außerdem muss eine weitere Variable (value) erstellt sein, damit man die Variable timeout auswählen kann.

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

                @paul53 said in Anwesenheitsmeldung zu häufig:

                @TiboTake sagte:

                stop:timeout, den timeout nicht wählen.

                Den kann man erst wählen, wenn "Ausführen timeout" im Skript enthalten ist.

                @TiboTake sagte in Anwesenheitsmeldung zu häufig:

                setzte:timeout auf, nicht finden.

                Es muss erst "Ausführen timeout" eingefügt sein und außerdem muss eine weitere Variable (value) erstellt sein, damit man die Variable timeout auswählen kann.

                Achso, na das muss einem Dummen doch erstmal gesagt werden... 😉

                Danke sehr

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

                  Aber der erste grüne Block: stop: timeout
                  den timeout kann ich dort nicht auswählen. ich bekomme nur einen dünner kasten angezeigt in dem ich einen haken setzten kann.

                  das wäre dann auch denke ich der letzte punkt damit es läuft.

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

                    @TiboTake
                    Anmerkung: value ist eine vordefinierte lokale Variable und muss bei der Erstellung genau so geschrieben werden.

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

                      @TiboTake sagte:

                      ich bekomme nur einen dünner kasten angezeigt in dem ich einen haken setzten kann.

                      Hast Du zwischendurch mal den Button "Speichern" betätigt ?

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

                        @paul53 said in Anwesenheitsmeldung zu häufig:

                        @TiboTake sagte:

                        ich bekomme nur einen dünner kasten angezeigt in dem ich einen haken setzten kann.

                        Hast Du zwischendurch mal den Button "Speichern" betätigt ?

                        ja, wieso? schlimm?

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

                          @TiboTake sagte:

                          schlimm?

                          Nein, im Gegenteil. Poste bitte mal den vom Blockly erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

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

                            @paul53 said in Anwesenheitsmeldung zu häufig:

                            @TiboTake sagte:

                            schlimm?

                            Nein, im Gegenteil. Poste bitte mal den vom Blockly erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                            var value, timeout, timeout;
                            
                            
                            on({id: 'ping.0.raspberrypi.192_168_178_20', change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              if (value) {
                                if (!timeout) {
                                  sendTo("telegram.0", "send", {
                                      text: 'Mama ist zuhause angekommen',
                                      user: 'Tobias'
                                  });
                                  console.log("telegram['Tobias']: " + 'Mama ist zuhause angekommen');
                                }
                              } else {
                                (function () {if () {clearTimeout();  = null;}})();
                                timeout = setInterval(function () {
                                  timeout = null;
                                }, 300000);
                              }
                            });
                            
                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @SaiBot1981 last edited by paul53

                              @TiboTake
                              Du hast zwei Variablen timeout ! Eine aus "Ausführen timeout" und eine selbst erstellte.
                              Weise den beiden Befehlen falls nicht timeout und setze timeout auf null mal die jeweils andere Variable timeout zu, dann müsste die selbst erstellte verschwinden (Speichern). Dann klappte es sicherlich auch mit stop timeout.

                              In der ersten Zeile vom Javascript Code darf nur einmal timeout stehen !

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

                                @paul53 said in Anwesenheitsmeldung zu häufig:

                                @TiboTake
                                Du hast zwei Variablen timeout ! Eine aus "Ausführen timeout" und eine selbst erstellte.
                                Weise den beiden Befehlen falls nicht timeout und setze timeout auf null mal die jeweils andere Variable timeout zu, dann müsste die selbst erstellte verschwinden (Speichern). Dann klappte es sicherlich auch mit stop timeout.

                                In der ersten Zeile vom Javascript Code darf nur einmal timeout stehen !

                                Jetzt sieht es zwar so aus wie es soll, aber auswählen kann stop: timeout immer noch nicht.

                                var value, timeout;
                                
                                
                                on({id: 'ping.0.raspberrypi.192_168_178_20', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if (value) {
                                    if (!timeout) {
                                      sendTo("telegram.0", "send", {
                                          text: 'Mama ist zuhause angekommen',
                                          user: 'Tobias'
                                      });
                                      console.log("telegram['Tobias']: " + 'Mama ist zuhause angekommen');
                                    }
                                  } else {
                                    (function () {if () {clearTimeout();  = null;}})();
                                    timeout = setInterval(function () {
                                      timeout = null;
                                    }, 300000);
                                  }
                                });
                                
                                1 Reply Last reply Reply Quote 0
                                • S
                                  SaiBot1981 last edited by

                                  Habs gefunden woran es lag.
                                  man sollte nicht manuel value anlegen sondern das feld "Wert" verwenden. dann klappt es auch.

                                  danke dir vielmals

                                  jetzt läuft der test

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

                                    @TiboTake sagte:

                                    man sollte nicht manuel value anlegen

                                    Man sollte nicht manuell timeout anlegen. value ist nicht das Problem.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    894
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    16
                                    623
                                    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