Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    179

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    196

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    884

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

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 3 Kommentatoren 231 Aufrufe 2 Beobachtet
  • Ä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 Online
      haus-automatisierungH Online
      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 Online
        haus-automatisierungH Online
        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 Online
            haus-automatisierungH Online
            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

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              514

              Online

              32.8k

              Benutzer

              82.7k

              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