Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Block CompareTime funktioniert nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Block CompareTime funktioniert nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Ingo 2 last edited by

      Hallo zusammen,

      ich verzweifle gerade. Ich möchte mit Blockly eine Variable immer um 0Uhr Nachts zurücksetzen. Dazu verwende ich folgende Block. Die Bedingung ist jedoch nie erfüllt. Was mache ich falsch? Habe die Zeit auch schon +-1,2h genommen, falls hier ein Fehler ist, aber das funktioniert auch nicht. Auch nach einen Durchlauf von 24h wird meine Variable nicht zurückgesetzt.

      Was mache ich falsch?

      Viele Grüße
      IngoCompareTime.png

      Homoran Codierknecht 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Ingo 2 last edited by

        @ingo-2 ist das alles?
        wo ist der Trigger?

        I 1 Reply Last reply Reply Quote 1
        • I
          Ingo 2 @Homoran last edited by

          @homoran
          Ich hatte ein Intervall der alle 10s durchläuft.
          Ist das falsch?
          Ich dachte auch so, ohne Trigger,
          funktioniert das...

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Ingo 2 last edited by

            @ingo-2 sagte in Block CompareTime funktioniert nicht:

            Ich dachte auch so, ohne Trigger,
            funktioniert das...

            ohne trigger läuft ein Skript genau einmal

            I 1 Reply Last reply Reply Quote 0
            • I
              Ingo 2 @Homoran last edited by

              @homoran ok. Das war mir so nicht bewusst. Vielen Dank für Info.
              Heißt, mit einem Intervall funktioniert es?

              CompareTime.png

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Ingo 2 last edited by

                @ingo-2 sagte in Block CompareTime funktioniert nicht:

                Heißt, mit einem Intervall funktioniert es?

                nur wenn das intervall auf die Millisekunde genau die Uhrzeit trifft.

                üblicherweise wird ein Zeitplan (Cron) als Trigger genommen, der um die gewünschte Uhrzeit auslöst

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

                  @homoran sagte: Zeitplan (Cron) als Trigger genommen

                  Der löst auch nicht auf die Millisekunde genau aus.
                  Besser man vergleicht nur auf die Minute genau:

                  Blockly_temp.JPG

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @paul53 last edited by

                    @paul53 sagte in Block CompareTime funktioniert nicht:

                    Der löst auch nicht auf die Millisekunde genau aus.

                    eben!
                    aber muss es nicht wenn er alle 10 Sekunden Prüft ob es 18:31 is genau 18:31:00.000 sein?

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

                      @homoran sagte in Block CompareTime funktioniert nicht:

                      @paul53 sagte in Block CompareTime funktioniert nicht:

                      Der löst auch nicht auf die Millisekunde genau aus.

                      eben!
                      aber muss es nicht wenn er alle 10 Sekunden Prüft ob es 18:31 is genau 18:31:00.000 sein?

                      Nein. Aktuelle Zeit als SS:mm schneidet die Sekunden und ms ab. Das heisst wenn der Timeout alle 10 Sekunden läuft ist die Bedingung statistisch gesehen 5 mal mit jeweils 10 s Abstand wahr 🙂

                      A.
                      Also doch Cron, keine Timeout Schleife mit Zeitvergleich)

                      Homoran 1 Reply Last reply Reply Quote 2
                      • Homoran
                        Homoran Global Moderator Administrators @Asgothian last edited by

                        @asgothian sagte in Block CompareTime funktioniert nicht:

                        Nein. Aktuelle Zeit als SS:mm schneidet die Sekunden und ms ab.

                        Danke! Wieder was gelernt!
                        ich würde trotzdem mit cron arbeiten

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

                          @homoran sagte in Block CompareTime funktioniert nicht:

                          ich würde trotzdem mit cron arbeiten

                          Auf jeden Fall.

                          Der Timeout stream ist ggf. nicht 100% exakt, sprich
                          Läuft der Timeout kürzer als 1 Minute, dann gibt es das Risiko das ein Zeitvergleich irgendwann mal 2 mal während der relevanten Minute wahr ist.
                          Läuft der Timeout genau 1 Minute, dann gibt es das Risiko das der Zeitvergleich irgendwann mal nicht zuschlägt, wegen der Verzögerung zwischen "Auslösen des Timeouts" und "auswerten der aktuellen Zeit. Selbst wenn das nur wenige ms dauert, dann kann immer mal wieder eine Minute nicht explizit erreicht wird. (Beispiel: Timeout wird gestartet genau um 18:30:59.999. Mit Timeout 1 Minute. Wird also also aktiv (theoretisch) um 18:31:59.999. Wenn es dann nur 1 ms dauert bis die Uhrzeit ausgewertet wird, ist es bereits 18:32:00.000 🙂

                          Das der Cron nicht ms Sekunden genau auslöst ist dabei eher weniger relevant.

                          A.

                          1 Reply Last reply Reply Quote 2
                          • Codierknecht
                            Codierknecht Developer Most Active @Ingo 2 last edited by Codierknecht

                            @ingo-2
                            Habe ich da was falsch verstanden?
                            Warum nicht so:

                            b251e0cf-d4b6-4af9-b0b4-061ea55f2449-grafik.png
                            Auf die Millisekunde wird's wohl kaum ankommen.

                            Möglicherweise ist das hilfreich:
                            https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps

                            I 1 Reply Last reply Reply Quote 1
                            • I
                              Ingo 2 @Codierknecht last edited by

                              @codierknecht

                              Generell habe ich das Problem, dass bei mir die Triggerevents nie erfüllt sind.
                              Kann ich bei dem FALLS OBEKT das Triggerevent nicht mit einer Logik verknüpfen?
                              Aus welchem Grund funktioniert Trigger.PNG

                              Homoran Codierknecht 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @Ingo 2 last edited by Homoran

                                @ingo-2 sagte in Block CompareTime funktioniert nicht:

                                Kann ich bei dem FALLS OBEKT das Triggerevent nicht mit einer Logik verknüpfen?

                                richtig!
                                die Logik ist im Triggerblock selber (ist wahr)

                                1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @Ingo 2 last edited by

                                  @ingo-2 sagte in Block CompareTime funktioniert nicht:

                                  Generell habe ich das Problem, dass bei mir die Triggerevents nie erfüllt sind.

                                  Welche "Triggerevents" werden bei Dir nicht erfüllt?
                                  ZEIGEN!

                                  An "Falls Objekt" wird eine Objekt-ID übergeben ... kein Ausdruck!

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  758
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  5
                                  15
                                  424
                                  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