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. [gelöst] Zeiten bzw. Zahlen auf bzw. abrunden.

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    279

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] Zeiten bzw. Zahlen auf bzw. abrunden.

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 3 Kommentatoren 225 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.
  • M Offline
    M Offline
    ManfredHi
    schrieb am zuletzt editiert von ManfredHi
    #1

    Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
    Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).

    Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
    z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.

    Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?

    haus-automatisierungH paul53P 2 Antworten Letzte Antwort
    0
    • M ManfredHi

      Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
      Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).

      Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
      z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.

      Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?

      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von haus-automatisierung
      #2

      @manfredhi sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:

      z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.

      Math.round(val / 100) * 100
      

      Screenshot 2024-04-09 at 11.32.34.png

      🧑‍🎓 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
      1
      • haus-automatisierungH Offline
        haus-automatisierungH Offline
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von haus-automatisierung
        #3

        @manfredhi sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:

        Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).

        Vorschlag

        Screenshot 2024-04-09 at 11.44.54.png

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="}hP8,vo1lYsah^NO+d]?">t</variable>
            <variable id="19ZUx*O~IH3i-oAW{A?7">arr</variable>
            <variable id="()qj);fR2`uhDS$5!V.u">std</variable>
            <variable id="uNKA[L*UcXhGl!BW#oi]">min</variable>
          </variables>
          <block type="procedures_defreturn" id="bC3Bo*,hALU=[p4F+Q#B" x="63" y="113">
            <mutation>
              <arg name="t" varid="}hP8,vo1lYsah^NO+d]?"></arg>
            </mutation>
            <field name="NAME">rundeZeit</field>
            <comment pinned="false" h="80" w="160">Describe this function...</comment>
            <statement name="STACK">
              <block type="variables_set" id="n}:l?DDe{=awxE)h$LSL">
                <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field>
                <value name="VALUE">
                  <block type="lists_split" id="JiRrQ~hjHC5;f)Jlb%tA">
                    <mutation mode="SPLIT"></mutation>
                    <field name="MODE">SPLIT</field>
                    <value name="INPUT">
                      <block type="variables_get" id="vmdUMI}cm1*Q@t{E(Tm_">
                        <field name="VAR" id="}hP8,vo1lYsah^NO+d]?">t</field>
                      </block>
                    </value>
                    <value name="DELIM">
                      <shadow type="text" id=")s!BpH/sulzVn4A*$c+x">
                        <field name="TEXT">:</field>
                      </shadow>
                    </value>
                  </block>
                </value>
                <next>
                  <block type="variables_set" id="4}(mh5Kh)/viP`ol.yBp">
                    <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                    <value name="VALUE">
                      <block type="convert_tonumber" id="2RRH``;80kiy@}oi(j//">
                        <value name="VALUE">
                          <block type="lists_getIndex" id="}3Bo^;+3`=r2/;P0(xL#">
                            <mutation statement="false" at="false"></mutation>
                            <field name="MODE">GET</field>
                            <field name="WHERE">FIRST</field>
                            <value name="VALUE">
                              <block type="variables_get" id="!qy_,?RCK|MUq7k/w!B8">
                                <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" id="U7$-zF~4C]P)uOVoylM$">
                        <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                        <value name="VALUE">
                          <block type="convert_tonumber" id="kW7a$aOHGDL;9GzUG~]`">
                            <value name="VALUE">
                              <block type="lists_getIndex" id="g8D%*JN]L`nFhW}VKkoe">
                                <mutation statement="false" at="false"></mutation>
                                <field name="MODE">GET</field>
                                <field name="WHERE">LAST</field>
                                <value name="VALUE">
                                  <block type="variables_get" id="xn`O6$bV)/rEf}/v!a+_">
                                    <field name="VAR" id="19ZUx*O~IH3i-oAW{A?7">arr</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="controls_if" id="S3D#MWi@gvhyl)JAPT!W">
                            <mutation elseif="1" else="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="uY^$!x%*#xEG_[0ba!i=">
                                <field name="OP">LT</field>
                                <value name="A">
                                  <block type="variables_get" id="Df8#dyVGco/i)ET1ulPw">
                                    <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="math_number" id="6E{$zt`u_VfI:4FKj^PL">
                                    <field name="NUM">15</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="9cZkI0)v^,R|(65SleLH">
                                <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                                <value name="VALUE">
                                  <block type="math_number" id="Gzf9er%k$,00cjau52Pt">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <value name="IF1">
                              <block type="logic_between" id="iK[qVXp8H~yMrAWM:W[]">
                                <field name="MIN_OPERATOR">LE</field>
                                <field name="MAX_OPERATOR">LT</field>
                                <value name="MIN">
                                  <block type="math_number" id=":OwN(Q?i-vm8x:crP`_5">
                                    <field name="NUM">15</field>
                                  </block>
                                </value>
                                <value name="VALUE">
                                  <shadow type="math_number" id="osk~GdV;_?9_$O[bMKFt">
                                    <field name="NUM">42</field>
                                  </shadow>
                                  <block type="variables_get" id="b]sP^X}%OX8[`uoQ)DN#">
                                    <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                                  </block>
                                </value>
                                <value name="MAX">
                                  <block type="math_number" id="H^:l$;XVhrl;-)b=;ypg">
                                    <field name="NUM">45</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO1">
                              <block type="variables_set" id="=f3{?@3xL|5bM({!d1|?">
                                <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                                <value name="VALUE">
                                  <block type="math_number" id="t0U}`Zt}x3A3zNy2tMNJ">
                                    <field name="NUM">30</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <statement name="ELSE">
                              <block type="math_change" id="OwzDjjii4!jbx8R3K@uj">
                                <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                                <value name="DELTA">
                                  <shadow type="math_number" id="-5FBhx@*%53`Gq^|da]5">
                                    <field name="NUM">1</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="variables_set" id=".AJ0oCvsL)n+(JO*p5I@">
                                    <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                                    <value name="VALUE">
                                      <block type="math_number" id="us5J3$D=%+HaWK[YRkIR">
                                        <field name="NUM">0</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="controls_if" id="CVW=df0H9tE5agdmURKO">
                                        <value name="IF0">
                                          <block type="logic_compare" id="y3HyiE797YkD8/tE0ECg">
                                            <field name="OP">GT</field>
                                            <value name="A">
                                              <block type="variables_get" id="/.k15@cm1RhE4f:m)p|~">
                                                <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="n|v@?)^U.o8a)zd~jv=R">
                                                <field name="NUM">24</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="variables_set" id=",Q^J;.EISWT)d1Vgcn]c">
                                            <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                                            <value name="VALUE">
                                              <block type="math_number" id="N[u%O]MG+_54-([jv!{f">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
            <value name="RETURN">
              <block type="text_join" id="e?(%0btnpngkps|*4?SM">
                <mutation items="3"></mutation>
                <value name="ADD0">
                  <block type="logic_ternary" id="cnhN]ZsitmX68t++uCZq">
                    <value name="IF">
                      <block type="logic_compare" id="A=/v={n0i[QksFfhmP6y">
                        <field name="OP">LT</field>
                        <value name="A">
                          <block type="variables_get" id="{u/y#=!JTXP+ix^c{t!s">
                            <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number" id="hZ^3v`+s.OM;tG=ieRAb">
                            <field name="NUM">10</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="THEN">
                      <block type="text_join" id="7,$^N{%^w`l%4D#-;GN=">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="text" id="(?1OBd9-EOPh8O2b~|CD">
                            <field name="TEXT">0</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="variables_get" id="}Rr5?EJZW;pQFgpIx%C4">
                            <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="ELSE">
                      <block type="variables_get" id="+bJ|ERQMaTtb8IeWnNv2">
                        <field name="VAR" id="()qj);fR2`uhDS$5!V.u">std</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="ADD1">
                  <block type="text" id="^sS4$DCm^%jJY%.?^YUA">
                    <field name="TEXT">:</field>
                  </block>
                </value>
                <value name="ADD2">
                  <block type="logic_ternary" id="_}yW;Bfb@*-Oa)LyHi*)">
                    <value name="IF">
                      <block type="logic_compare" id="xF(*h`iXv4aezvu:A{tL">
                        <field name="OP">LT</field>
                        <value name="A">
                          <block type="variables_get" id="pcUu-QouZ|6/?lY?#fic">
                            <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="math_number" id="1.x/eQ/A@^dttooO-{5P">
                            <field name="NUM">10</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="THEN">
                      <block type="text_join" id="D25{EUXZ[kK`uSo4]@C8">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="text" id="JEDTE28z#^FBp_-B6zn!">
                            <field name="TEXT">0</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="variables_get" id=",2t~|7r]nAl{%%~2kr#[">
                            <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="ELSE">
                      <block type="variables_get" id="z2+]t^Z$}bVfY?Xsm#_V">
                        <field name="VAR" id="uNKA[L*UcXhGl!BW#oi]">min</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </value>
          </block>
          <block type="debug" id="y^m+k:5;Gp`P;3Ef.(P8" x="63" y="838">
            <field name="Severity">log</field>
            <value name="TEXT">
              <shadow type="text" id="cjv#Iyr4^S@r{+oTIsco">
                <field name="TEXT">test</field>
              </shadow>
              <block type="procedures_callreturn" id="UP@^`|/EvMT|e)_ZZ;Q(">
                <mutation name="rundeZeit">
                  <arg name="t"></arg>
                </mutation>
                <value name="ARG0">
                  <block type="text" id="_sGVxD0$ihe0?H*J[Y|Q">
                    <field name="TEXT">13:40</field>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="debug" id="~l,,r51i`vnUP+iuFp9s">
                <field name="Severity">log</field>
                <value name="TEXT">
                  <shadow type="text" id="cjv#Iyr4^S@r{+oTIsco">
                    <field name="TEXT">test</field>
                  </shadow>
                  <block type="procedures_callreturn" id="nLpT80!zd}M:wf0b}b!7">
                    <mutation name="rundeZeit">
                      <arg name="t"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="text" id="b*VK6`jG!Sk}M:}g{]v)">
                        <field name="TEXT">15:45</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </next>
          </block>
        </xml>
        

        EDIT: Muss natürlich >= 24 sein...

        🧑‍🎓 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
        • M ManfredHi

          Hallo. Ich bräuchte bitte wieder mal eure Hilfe.
          Und zwar habe ich eine beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden (in diesem Fall auf 13:00 Uhr).

          Das zweite ist etwas ähnliches allerdings nicht mit einer Uhrzeit sondern mit einer Zahl. die auf die nächste Hunderter auf bzw. abgerundet werden soll.
          z.B. soll 1345 auf 1300 abgerundet werden. oder 1472 auf 1500 aufgerundet.

          Wie kann ich diese beiden Sachen am einfachsten über Blocklys lösen?

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

          @manfredhi sagte: beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden

          Eine Version:

          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

          haus-automatisierungH 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @manfredhi sagte: beliebige Uhrzeit (z.B. 13:07 Uhr) und möchte diese auf die nächste halbe Stunde auf bzw. abrunden

            Eine Version:

            Blockly_temp.JPG

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

            @paul53 sagte in Zeiten bzw. Zahlen auf bzw. abrunden.:

            Eine Version:

            Tricky! Ist auf jeden Fall die schönere Lösung. Hab mich kurz gefragt warum das klappt :) Deswegen:

            https://github.com/ioBroker/ioBroker.javascript/blob/7455dda562446dc29dd257231bac4941ec22e8ae/lib/sandbox.js#L3409-L3413

            https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#getDateObject

            🧑‍🎓 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
            • M Offline
              M Offline
              ManfredHi
              schrieb am zuletzt editiert von
              #6

              @haus-automatisierung und @paul53 : Vielen Dank für Eure Lösungen. Funktionieren perfekt.

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


              Support us

              ioBroker
              Community Adapters
              Donate

              381

              Online

              32.7k

              Benutzer

              82.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