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.
    • J
      JoergH @Kusi last edited by

      @kusi Wieso nimmst Du nicht den Zeitplan ohne CRON? Da kann man die Sekunden einfach einstellen...

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

        @joergh Damit ich das Abfrageintervall via "Objekte" ändern kann. Möchte da etwas versuchen, dass man dann z.B. das Abfrageintervall auf der vis ändern könnte.

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

                                  892
                                  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