Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. "Zeitdifferenz formatieren" liefert "falsches" Format

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

"Zeitdifferenz formatieren" liefert "falsches" Format

Geplant Angeheftet Gesperrt Verschoben Blockly
10 Beiträge 3 Kommentatoren 705 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    Paddex
    schrieb am zuletzt editiert von
    #1

    Hallo an alle,

    ich habe letzte Woche den (für mich) neuen Block "Zeitdifferenz formatieren" entdeckt, musste aber feststellen, dass das Format nicht richtig angezeigt wird.

    06:09 -> 6 Minuten 9 Sekunden wird mit falsch angezeit:
    44aa1776-ebcf-499f-a9bf-cbeacbdb3215-Screenshot Blockly Fehler Zeit berechnen.png

    Formatierung ist:
    Screenshot Blockly Fehler Formatierung.png

    Er entfernt die Nullen! Was bei der Minute noch ok wäre, ist aber bei den Sekunden absolut falsch.

    Leider ist ein umformatieren mit bem Konvertierungsblock Datum/Zeit auch nicht möglich.
    Screenshot 2024-05-10 155905.png
    Wenn die Zeitdifferenz negativ wird, dann wir z.B. 0-1:55 angezeigt. Dann ist eine Auswertung ob negativ nicht mehr möglich.

    Schreibe hier, weil ich nicht genau weiß, wo der Bug zu melden ist. Hinweise nehme ich gerne.

    Danke an die Programmieren, ioBroker ist echt super. Danke für eure Arbeit.

    Gruß

    Maik

    paul53P 3 Antworten Letzte Antwort
    0
    • P Paddex

      Hallo an alle,

      ich habe letzte Woche den (für mich) neuen Block "Zeitdifferenz formatieren" entdeckt, musste aber feststellen, dass das Format nicht richtig angezeigt wird.

      06:09 -> 6 Minuten 9 Sekunden wird mit falsch angezeit:
      44aa1776-ebcf-499f-a9bf-cbeacbdb3215-Screenshot Blockly Fehler Zeit berechnen.png

      Formatierung ist:
      Screenshot Blockly Fehler Formatierung.png

      Er entfernt die Nullen! Was bei der Minute noch ok wäre, ist aber bei den Sekunden absolut falsch.

      Leider ist ein umformatieren mit bem Konvertierungsblock Datum/Zeit auch nicht möglich.
      Screenshot 2024-05-10 155905.png
      Wenn die Zeitdifferenz negativ wird, dann wir z.B. 0-1:55 angezeigt. Dann ist eine Auswertung ob negativ nicht mehr möglich.

      Schreibe hier, weil ich nicht genau weiß, wo der Bug zu melden ist. Hinweise nehme ich gerne.

      Danke an die Programmieren, ioBroker ist echt super. Danke für eure Arbeit.

      Gruß

      Maik

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @paddex sagte: wo der Bug zu melden ist.

      Als Issue auf Github.

      Ich konnte es nachvollziehen (Version 8.3.0).

      Blockly_temp.JPG

      Negative Werte werden offenbar auch falsch berechnet.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      1
      • P Paddex

        Hallo an alle,

        ich habe letzte Woche den (für mich) neuen Block "Zeitdifferenz formatieren" entdeckt, musste aber feststellen, dass das Format nicht richtig angezeigt wird.

        06:09 -> 6 Minuten 9 Sekunden wird mit falsch angezeit:
        44aa1776-ebcf-499f-a9bf-cbeacbdb3215-Screenshot Blockly Fehler Zeit berechnen.png

        Formatierung ist:
        Screenshot Blockly Fehler Formatierung.png

        Er entfernt die Nullen! Was bei der Minute noch ok wäre, ist aber bei den Sekunden absolut falsch.

        Leider ist ein umformatieren mit bem Konvertierungsblock Datum/Zeit auch nicht möglich.
        Screenshot 2024-05-10 155905.png
        Wenn die Zeitdifferenz negativ wird, dann wir z.B. 0-1:55 angezeigt. Dann ist eine Auswertung ob negativ nicht mehr möglich.

        Schreibe hier, weil ich nicht genau weiß, wo der Bug zu melden ist. Hinweise nehme ich gerne.

        Danke an die Programmieren, ioBroker ist echt super. Danke für eure Arbeit.

        Gruß

        Maik

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @paddex
        Ich habe die Funktion aus dem Javascript-Adapter mal nachvollzogen: Es werden führende Nullen erzeugt. Lediglich die Berechnung von negativen Differenzen ist falsch.

               function formatDiffTime(diff, format) {
                   if (!format) {
                       format = 'hh:mm:ss';
                   }
        
                   let text = format;
        
                   log(`formatTimeDiff(format=${format}, diff=${diff})`);
        
                   const second = 1000;
                   const minute = 60 * second;
                   const hour = 60 * minute;
                   const day = 24 * hour;
        
                   if (/DD|TT|ДД|D|T|Д/.test(text)) {
                       const days = Math.floor(diff / day);
        
                       text = text.replace(/DD|TT|ДД/, days < 10 ? `0${days}` : days);
                       text = text.replace(/D|T|Д/, days);
        
                       log(`formatTimeDiff(format=${format}, text=${text}, days=${days})`);
        
                       diff -= days * day;
                   }
        
                   if (/hh|SS|чч|h|S|ч/.test(text)) {
                       const hours = Math.floor(diff / hour);
        
                       text = text.replace(/hh|SS|чч/, hours < 10 ? `0${hours}` : hours);
                       text = text.replace(/h|S|ч/, hours);
        
                       log(`formatTimeDiff(format=${format}, text=${text}, hours=${hours})`);
        
                       diff -= hours * hour;
                   }
        
                   if (/mm|мм|m|м/.test(text)) {
                       const minutes = Math.floor(diff / minute);
        
                       text = text.replace(/mm|мм/, minutes < 10 ? `0${minutes}` : minutes);
                       text = text.replace(/m|м/, minutes);
        
                       log(`formatTimeDiff(format=${format}, text=${text}, minutes=${minutes})`);
        
                       diff -= minutes * minute;
                   }
        
                   if (/ss|сс|мм|s|с/.test(text)) {
                       const seconds = Math.floor(diff / second);
        
                       text = text.replace(/ss|сс/, seconds < 10 ? `0${seconds}` : seconds);
                       text = text.replace(/s|с/, seconds);
        
                       log(`formatTimeDiff(format=${format}, text=${text}, seconds=${seconds})`);
        
                       diff -= seconds * second;
                   }
        
                   log(`formatTimeDiff(format=${format}, text=${text})`);
        
                   return text;
               }
        
        log(formatDiffTime(369000, 'mm:ss'));
        


        Blockly übergibt das falsche Format an Javascript:

        console.info(formatTimeDiff(diff, 'm:s'));
        console.info(formatTimeDiff((0 - diff), 'm:s'));
        

        EDIT: PR für Korrektur bei negativen Werten ist erstellt.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        haus-automatisierungH 1 Antwort Letzte Antwort
        0
        • P Paddex

          Hallo an alle,

          ich habe letzte Woche den (für mich) neuen Block "Zeitdifferenz formatieren" entdeckt, musste aber feststellen, dass das Format nicht richtig angezeigt wird.

          06:09 -> 6 Minuten 9 Sekunden wird mit falsch angezeit:
          44aa1776-ebcf-499f-a9bf-cbeacbdb3215-Screenshot Blockly Fehler Zeit berechnen.png

          Formatierung ist:
          Screenshot Blockly Fehler Formatierung.png

          Er entfernt die Nullen! Was bei der Minute noch ok wäre, ist aber bei den Sekunden absolut falsch.

          Leider ist ein umformatieren mit bem Konvertierungsblock Datum/Zeit auch nicht möglich.
          Screenshot 2024-05-10 155905.png
          Wenn die Zeitdifferenz negativ wird, dann wir z.B. 0-1:55 angezeigt. Dann ist eine Auswertung ob negativ nicht mehr möglich.

          Schreibe hier, weil ich nicht genau weiß, wo der Bug zu melden ist. Hinweise nehme ich gerne.

          Danke an die Programmieren, ioBroker ist echt super. Danke für eure Arbeit.

          Gruß

          Maik

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @paddex sagte: Formatierung ist:

          Das wird von Blockly falsch übergeben, aber anwenderformatiert funktioniert es mit positiven Differenzen:

          Blockly_temp.JPG

          EDIT: Neue Erkenntnis: "mm:ss" und "m:s" sind vertauscht:

          Blockly_temp.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          P 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @paddex
            Ich habe die Funktion aus dem Javascript-Adapter mal nachvollzogen: Es werden führende Nullen erzeugt. Lediglich die Berechnung von negativen Differenzen ist falsch.

                   function formatDiffTime(diff, format) {
                       if (!format) {
                           format = 'hh:mm:ss';
                       }
            
                       let text = format;
            
                       log(`formatTimeDiff(format=${format}, diff=${diff})`);
            
                       const second = 1000;
                       const minute = 60 * second;
                       const hour = 60 * minute;
                       const day = 24 * hour;
            
                       if (/DD|TT|ДД|D|T|Д/.test(text)) {
                           const days = Math.floor(diff / day);
            
                           text = text.replace(/DD|TT|ДД/, days < 10 ? `0${days}` : days);
                           text = text.replace(/D|T|Д/, days);
            
                           log(`formatTimeDiff(format=${format}, text=${text}, days=${days})`);
            
                           diff -= days * day;
                       }
            
                       if (/hh|SS|чч|h|S|ч/.test(text)) {
                           const hours = Math.floor(diff / hour);
            
                           text = text.replace(/hh|SS|чч/, hours < 10 ? `0${hours}` : hours);
                           text = text.replace(/h|S|ч/, hours);
            
                           log(`formatTimeDiff(format=${format}, text=${text}, hours=${hours})`);
            
                           diff -= hours * hour;
                       }
            
                       if (/mm|мм|m|м/.test(text)) {
                           const minutes = Math.floor(diff / minute);
            
                           text = text.replace(/mm|мм/, minutes < 10 ? `0${minutes}` : minutes);
                           text = text.replace(/m|м/, minutes);
            
                           log(`formatTimeDiff(format=${format}, text=${text}, minutes=${minutes})`);
            
                           diff -= minutes * minute;
                       }
            
                       if (/ss|сс|мм|s|с/.test(text)) {
                           const seconds = Math.floor(diff / second);
            
                           text = text.replace(/ss|сс/, seconds < 10 ? `0${seconds}` : seconds);
                           text = text.replace(/s|с/, seconds);
            
                           log(`formatTimeDiff(format=${format}, text=${text}, seconds=${seconds})`);
            
                           diff -= seconds * second;
                       }
            
                       log(`formatTimeDiff(format=${format}, text=${text})`);
            
                       return text;
                   }
            
            log(formatDiffTime(369000, 'mm:ss'));
            


            Blockly übergibt das falsche Format an Javascript:

            console.info(formatTimeDiff(diff, 'm:s'));
            console.info(formatTimeDiff((0 - diff), 'm:s'));
            

            EDIT: PR für Korrektur bei negativen Werten ist erstellt.

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @paul53 sagte in "Zeitdifferenz formatieren" liefert "falsches" Format:

            Blockly übergibt das falsche Format an Javascript:

            Oh man wie blöde, war alles richtig, nur die Übersetzungen waren vertauscht. Danke!

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @paddex sagte: Formatierung ist:

              Das wird von Blockly falsch übergeben, aber anwenderformatiert funktioniert es mit positiven Differenzen:

              Blockly_temp.JPG

              EDIT: Neue Erkenntnis: "mm:ss" und "m:s" sind vertauscht:

              Blockly_temp.JPG

              P Offline
              P Offline
              Paddex
              schrieb am zuletzt editiert von Paddex
              #6

              @paul53 said in "Zeitdifferenz formatieren" liefert "falsches" Format:

              anwenderformatiert funktionier

              Hallo,

              "anwenderformatiert" war leider auch nicht die Lösung wegen der negativ Darstellung.

              Was mir gerade aufgefallen ist:
              fe9d95b3-8298-40d2-8546-a4eb957a2b55-grafik.png

              positiv 6 min 9 sek -> negativ 7 min 51 sek ??
              Wo ist mein Denkfehler?

              Ansonsten ist der Block richtig gut und spart das selber zusammstellen der Zeit.

              Gruß Maik

              paul53P 2 Antworten Letzte Antwort
              0
              • P Paddex

                @paul53 said in "Zeitdifferenz formatieren" liefert "falsches" Format:

                anwenderformatiert funktionier

                Hallo,

                "anwenderformatiert" war leider auch nicht die Lösung wegen der negativ Darstellung.

                Was mir gerade aufgefallen ist:
                fe9d95b3-8298-40d2-8546-a4eb957a2b55-grafik.png

                positiv 6 min 9 sek -> negativ 7 min 51 sek ??
                Wo ist mein Denkfehler?

                Ansonsten ist der Block richtig gut und spart das selber zusammstellen der Zeit.

                Gruß Maik

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @paddex sagte: nicht die Lösung wegen der negativ Darstellung.

                Das ist in der nächsten Version korrigiert.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                haus-automatisierungH 1 Antwort Letzte Antwort
                1
                • paul53P paul53

                  @paddex sagte: nicht die Lösung wegen der negativ Darstellung.

                  Das ist in der nächsten Version korrigiert.

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 sagte in "Zeitdifferenz formatieren" liefert "falsches" Format:

                  Das ist in der nächsten Version korrigiert.

                  Genau, ich hab noch 1-2 Bugfixes heute Abend und dann gebe ich die nächste Version frei.

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @paul53 sagte in "Zeitdifferenz formatieren" liefert "falsches" Format:

                    Das ist in der nächsten Version korrigiert.

                    Genau, ich hab noch 1-2 Bugfixes heute Abend und dann gebe ich die nächste Version frei.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @haus-automatisierung
                    Anmerkung: formatDate() kann auch Zeitdifferenzen formatieren (Werte < 1.1.2000), liefert aber bei negativen Werten auch ein falsches Ergebnis: -369000 --> "53:51".

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • P Paddex

                      @paul53 said in "Zeitdifferenz formatieren" liefert "falsches" Format:

                      anwenderformatiert funktionier

                      Hallo,

                      "anwenderformatiert" war leider auch nicht die Lösung wegen der negativ Darstellung.

                      Was mir gerade aufgefallen ist:
                      fe9d95b3-8298-40d2-8546-a4eb957a2b55-grafik.png

                      positiv 6 min 9 sek -> negativ 7 min 51 sek ??
                      Wo ist mein Denkfehler?

                      Ansonsten ist der Block richtig gut und spart das selber zusammstellen der Zeit.

                      Gruß Maik

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @paddex sagte: negativ 7 min 51 sek ??

                      JS 8.3.1:

                      Blockly_temp.JPG

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      1
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      910

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe