Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Minuten in Tage, Stunden und Minuten anzeigen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Minuten in Tage, Stunden und Minuten anzeigen

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

      Hallo.
      Ich habe einen State der hat einen Minutenwert.
      In VIS habe ich dann ein Basic-HTML worin folgendes steht:

      {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) : 0} Std.
      {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
      

      Damit wird mir der Minutenwert dann in Stunden und Minuten angezeigt wird. Das funktioniert soweit auch ganz gut.
      Wenn allerdings mehr als 24 Stunden vergangen sind, dann sollten auch die Tage angezeigt werden.

      Wie kann ich das jetzt erweitern?

      1 Reply Last reply Reply Quote 0
      • M
        ManfredHi last edited by

        Hat niemand eine Lösung wie ich einen Datenpunkt der Minuten enthält, in der VIS dann in Tage, Stunden und Minuten anzeigen kann ?

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @ManfredHi last edited by mickym

          @manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;

          {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage
          {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) - (parseInt(parseFloat(v)%(1440))*24) : 0} Std.
          {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
          
          
          Villarriba M 2 Replies Last reply Reply Quote 0
          • Villarriba
            Villarriba @mickym last edited by

            @mickym sagte in Minuten in Tage, Stunden und Minuten anzeigen:

            @manfredh-1 Warum machst Du es nicht, wie Du es zuvor gemacht hast;

            {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage
            {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(60)) : 0} Std.
            {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
            
            

            ...wollt ich gerade auch schreiben 🙂 ....

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Villarriba last edited by mickym

              @villarriba Wobei ganz stimmt es nicht weil er bei den Stunden noch die Tage abziehen muss. - Habs gerade versucht zu editieren - hoffe ich hab mich mit den Klammern nicht vertan.

              Villarriba 1 Reply Last reply Reply Quote 0
              • Villarriba
                Villarriba @mickym last edited by

                @mickym
                ..den Rest der Tage noch mal durch 60, vielleicht?!

                {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v)%(1440)) : 0} Tage
                {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? (parseInt(parseFloat(v)%(1440))/60) : 0} Std.
                {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.

                1 Reply Last reply Reply Quote 0
                • M
                  ManfredHi @mickym last edited by

                  @mickym
                  Hallo das funktioniert nicht. der Datenpunkt hat 4681 Minuten. In der VIS wird mir dann angezeigt: "361 Tage -8663 Std. 1 min"

                  Villarriba 1 Reply Last reply Reply Quote 0
                  • T
                    TT-Tom last edited by

                    den Rest der Tage muss mit 1440 multiplizieren und dann durch 60

                    Gruß Tom

                    1 Reply Last reply Reply Quote 0
                    • Villarriba
                      Villarriba @ManfredHi last edited by

                      @manfredh-1
                      ...ich hab das mal in einem blockly aufgelöst...
                      sind bei mir 3 Tage 6 Stunden und eine Minute....

                      var minuten, tage, h, m;
                      
                      
                      minuten = 4681;
                      tage = Math.round(parseFloat(minuten) / 1440);
                      h = Math.round(parseFloat((minuten % 1440)) / 60);
                      m = minuten % 60;
                      console.log(([tage,' Tage, ',h,' Stunden, ',m,' Minuten'].join('')));
                      
                      T M 2 Replies Last reply Reply Quote 1
                      • T
                        TT-Tom @Villarriba last edited by

                        @villarriba
                        So habe ich das auch errechnet.

                        1 Reply Last reply Reply Quote 0
                        • M
                          ManfredHi @Villarriba last edited by

                          @villarriba
                          ja im javascript hab ich es auch probiert da wandelt er die Minuten vom Datenpunkt richtig um.
                          Aber in der VIS geht das nicht.

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            TT-Tom @ManfredHi last edited by

                            @manfredh-1

                            mit der Script Sprache bin ich nicht ganz fit, aber die Klammer um die 1440 mal weg lassen. vielleicht passt dann. nur ein versuch

                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active last edited by mickym

                              So ich denke ich habs - habe auf die Schnelle statt Division dieses Modulo verwendet:

                              so müsste es gehen:

                              {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt(parseFloat(v) / 1440) : 0} Tage
                              {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseInt(v) > 0 ? parseInt((parseFloat(v) % 1440) / 60) : 0 } Std.
                              {v:0_userdata.0.Haussteuerung.Zutritt_seit; (parseFloat(v))%(60)} min.
                               
                              
                              

                              60ac6405-496d-40b3-b931-cb9b86bd7011-image.png

                              EDIT: Verbessert - manchmal muss ich mich selbst erst über Umwege rantasten.

                              T 1 Reply Last reply Reply Quote 1
                              • T
                                TT-Tom @mickym last edited by

                                @mickym

                                also doch zu viele Klammern. Bei den Minuten sieht es auch noch nach zu viel aus.

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @TT-Tom last edited by

                                  @tt-tom Jo da hab ich es aber lassen - aber sollte auch komplett ohne gehen:

                                  {v:0_userdata.0.Haussteuerung.Zutritt_seit; parseFloat(v) % 60 } min.
                                  
                                  T M 2 Replies Last reply Reply Quote 0
                                  • T
                                    TT-Tom @mickym last edited by TT-Tom

                                    @mickym
                                    danke habe selber wieder was lernen können. Das Board ist hier echt Klasse.

                                    jetzt muss nur noch @ManfredH-1 prüfen ob es bei ihm passt. Schönen Abend noch

                                    1 Reply Last reply Reply Quote 2
                                    • M
                                      ManfredHi @mickym last edited by ManfredHi

                                      @mickym
                                      @TT-Tom
                                      @Villarriba
                                      Hallo. Jetzt klappts doch. ich hatte in meiner VIS irrtümlich zwei Felder übereinander gelegt und dabei immer das falsche Feld verwendet.
                                      Vielen DANK für Eure Hilfe. Super !!!

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      952
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      614
                                      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