Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Zeitplan mit ändernder Wiederholung erstellen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Zeitplan mit ändernder Wiederholung erstellen

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

      @kusi sagte: alle x Sekunden ausführen

      Wenn das Intervall variabel sein soll, muss auf den Datenpunkt getriggert werden.

      Bild_2021-10-21_120756.png

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

        @paul53 Danke für deine Antwort. Diese Änderung hätte ich im Nachhinein vorgenommen, analog dem Wecker-Blockly.
        Mir geht es aber nicht darum dass er immer bei xx:xx:10 auslöst (wäre alle 60 Sekunden), sondern dass er alle 10 Sekunden auslöst (analog Timeouts "ausführen alle x Sekunden".
        Ich möchte folgendes Element "Variabel" machen:
        84b664bc-0178-4a20-9088-05b442c3dbd1-image.png
        e29866b8-1502-41a6-94be-c110abeb2b99-image.png

        paul53 Asgothian 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Kusi last edited by

          @kusi sagte: sondern dass er alle 10 Sekunden auslöst.

          Passiert das nicht mit dem Wert 10 im Datenpunkt?

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

            @paul53 Nein, leider nicht.

            64425bd9-2bf9-4554-8ac9-0b1cf716ad74-image.png
            39f15056-51db-47a2-943f-45dfe0003e65-image.png

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

              @kusi Ist doch ganz einfach.

              An stelle von Screenshot 2021-10-21 at 12.24.51.png

              einfach

              Screenshot 2021-10-21 at 12.25.02.png

              einsetzen.

              A.

              K 1 Reply Last reply Reply Quote 1
              • K
                Kusi @Asgothian last edited by

                @asgothian
                cbf9d188-0e66-4766-b4ca-5f6988efb903-image.png
                genial, funktioniert wunderbar...

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

                  @kusi sagte: Nein, leider nicht.

                  Du hast recht: Man muss ein "*/" davor setzen:

                  Bild_2021-10-21_122748.png

                  K 2 Replies Last reply Reply Quote 1
                  • K
                    Kusi @paul53 last edited by

                    @paul53 Funktioniert einwandfrei, vielen Dank für eure rasche Hilfe.
                    9ebe86f9-606c-4262-bda1-49482bd5c4f9-image.png

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

                      @paul53 Du siehst obenstehend mein fertiges Blockly. Wenn ich nun z.B. 2 oder noch mehr IP-Adressen abfragen möchte, soll ich das Blockly kopieren oder die IP-Adresse variabel änderbar machen und mit einer Schleife arbeiten?
                      Denke vor allem an die Performance (Auslastung ioBroker).

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

                        @kusi Wie oft willst du denn wie viele IP Adressen abfragen ?

                        Generell gibt es 2 unterschiedliche Situationen:

                        Situation 1:
                        Die Summe aller Abfragen dauert kürzer als das Abfrageintervall. Dann ist ein Cron-Job der alle Abfragen erledigt ok.

                        Situation 2:
                        Die Summe aller Abfragen kann länger dauern als das Abfrageintervall. Dann ist es besser das in getrennten Zeitplänen laufen zu lassen.

                        Der Zeitverlust der Abfrage ist in deinem Skript in dem "Request" Baustein hinterlegt.

                        Du solltest gut darüber nachdenken wie oft du welchen Wert wirklich abfragen musst damit alles so geht wie du das willst.

                        A.

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

                          @asgothian Der "noch funktionierende" Adapter fragt die Werte alle 5 Sekunden ab. Zur Zeit sind es 2 IP-Adressen, welche evtl. in nächster Zeit auf 4 steigen werden.
                          Momentan muss für jede IP-Adresse eine eigene Instanz installiert werden.
                          48e0bcdd-5acb-46d7-8eb1-6f087a2ec049-image.png

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

                            @kusi sagte in [gelöst] Zeitplan mit ändernder Wiederholung erstellen:

                            Der "noch funktionierende" Adapter fragt die Werte alle 5 Sekunden ab. Zur Zeit sind es 2 IP-Adressen, welche evtl. in nächster Zeit auf 4 steigen werden.
                            Momentan muss für jede IP-Adresse eine eigene Instanz installiert werden.

                            Das sagt noch nicht viel aus.

                            Ich würde es nicht über einen Cron Job abbilden. Besser ist meiner Meinung nach eine Kette von Timeouts, die jedes mal nach einer erfolgreichen Abfrage weitergereicht wird. Damit ist sichergestellt das wenn ein Gerät mal nicht reagiert kein Haufen an unbeantworteten Requests entstehen kann.

                            Parallel dazu würde ich eine Liste mit den zu prüfenden Geräten aufbauen, und im Timeout immer ein Gerät abfragen, wenn das geantwortet hat den Timeout neu ansetzen um dann das nächste Gerät abzufragen. Auf die Art und weise kannst du das ganze einfach auf weitere Geräte erweitern ohne das am Skript selber viel getan werden muss.

                            A.

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

                              @asgothian ich werde dies versuchen umzusetzen und dich/euch auf dem Laufenden halten.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              855
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              4
                              16
                              452
                              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