Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeitdifferenz berechnen basierend auf...

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Zeitdifferenz berechnen basierend auf...

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

      Moin,

      folgendes Thema: Ich habe einen Zeitwert1, z.B. "05:00" und eine Länge1 dazu, bspw. "00:01" und möchte und prüfen, ob der Zeitwert2 größer ist als Zeitwert1 + Länge1.

      Dazu habe ich gedacht könnte ich den neuen Block "Zeitdifferenz berechnen basierend auf" nutzen, komme aber anscheinend nicht damit klar. Das Ergebnis des Debugs ist nicht etwa "05:01", sondern "05:0060000", also ein String, der statt die Minute korrekt zu addieren diese in ms einfach hinten an den ersten Wert in Form einer Zeichenkette anhängt.
      Was mache ich falsch?

      bbff251c-cd9a-4781-9a4c-6f4f9c90ed3a-grafik.png

      Homoran haus-automatisierung 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @JoergH last edited by Homoran

        @joergh iobroker Rechnet in Millisekunden.
        60000 Millisekunden sind 1 Minute.

        in welchem Format liegt den 05:00 im Datenpunkt vor?

        J 2 Replies Last reply Reply Quote 0
        • J
          JoergH @Homoran last edited by

          @homoran Als String, also "05:00", deshalb dachte ich wandele ich den ja auch erstmal in SS:mm zu einer Zeit um und addiere dann die Minute...das Wandeln klappt aber wohl so nicht..?

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

            @homoran said in Zeitdifferenz berechnen basierend auf...:

            @joergh iobroker Rechnet in Millisekunden.
            600000 Millisekunden sind 1 Minute.

            Eine Null zu viel 😉

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

              @joergh sagte in Zeitdifferenz berechnen basierend auf...:

              @homoran said in Zeitdifferenz berechnen basierend auf...:

              @joergh iobroker Rechnet in Millisekunden.
              600000 Millisekunden sind 1 Minute.

              Eine Null zu viel 😉

              korrigiert!
              ich war so im Nullentippwahn drin.....

              1 Reply Last reply Reply Quote 1
              • haus-automatisierung
                haus-automatisierung Developer Most Active @JoergH last edited by

                @joergh sagte in Zeitdifferenz berechnen basierend auf...:

                Dazu habe ich gedacht könnte ich den neuen Block "Zeitdifferenz berechnen basierend auf" nutzen

                Der Block ist dafür gar nicht geeignet.

                • Du formatierst den Wert erst zu einem String (SS:mm) - das führt generell schon zu Problemen mit der Zeitzone. Siehe https://www.youtube.com/watch?v=sxkz3O6nfFQ
                • Und dann willst Du auf diesen String etwas addieren. Das klappt so nicht. Daher ist das Ergebnis auch 05:0060000 - also Deine 05:00 und daran angehängt 60000 (= 60.000 Millisekunden). Weil es zu einer String-Verkettung wird statt eine Addition.

                Du brauchst das "Datum-Objekt" und dann kannst Du da addieren. Und danach dann formatieren - aber bitte nicht mit dem Block zu SS:mm (siehe Video).

                J 1 Reply Last reply Reply Quote 0
                • J
                  JoergH @haus-automatisierung last edited by

                  @haus-automatisierung
                  Danke für die Antwort.

                  Ich brauche nur die Stunde und die Minute (kommen aus der vis durch das jqui - ctrl- Datetime Widget), da ich daraus wieder einen Cronjob machen möchte und halt nicht das komplette Datumsformat. Die Wandelei ins komplette Datumsformat und wieder zurück wäre nur Aufwand, den ich vermeiden wollte.
                  Ich hatte die Hoffnung, dass der neue Block das vielleicht kann. Dann wandel ich halt alles wie bisher immer in Minuten und vergleiche so.

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @JoergH last edited by

                    @joergh sagte in Zeitdifferenz berechnen basierend auf...:

                    da ich daraus wieder einen Cronjob machen möchte

                    Den neuen Trigger kennst Du? https://youtu.be/69OB3TVRSck?si=x5iFwUT9Er5cEz8V&t=89

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      JoergH @haus-automatisierung last edited by

                      @haus-automatisierung Danke, den habe ich vorhin auch entdeckt. Der ist gut, aber halt für Wiederholungen alle 24 Stunden.
                      Ich programmiere gerade eine Bewässerungssteuerung und die nach der Logik:
                      alle x Tage soll um y Uhr z Minuten lang gewässert werden.

                      Da reicht er mir leider auch noch nicht, sondern ich bastele mir das Cronfile als Text zusammen und nutze dann den Zeitplan mit Cronregel.

                      Ich habe zwei Kreise und will halt verhindern, dass beide gleichzeitig laufen könnten, indem ich schaue ob jemand überschneidende Zeiträume eingeben will und das verhindere, dafür die Prüferei.
                      Deine Videos schaue ich immer wieder mal, wenn ich eine Frage habe, finde ich sehr gut gemacht!

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      832
                      Online

                      31.6k
                      Users

                      79.5k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      438
                      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