Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly rechnen mit Zeiten

    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

    Blockly rechnen mit Zeiten

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

      Hallo zusammen

      Ich möchte (mit Blockly) etwas schalten. Und dies nur wenn die aktuelle Zeit zwischen zwei Zeiten ist. Dabei ist die 1. Zeit aber über eine Variable abhängig von der zweiten Zeit.

      Ist leider etwas kompliziert zum erklären, deshalb habe folgendes Beispiel Blockly gemacht. Solange z.B. "15:30" direkt als erste Zeit im Programm ist funktioniert es auch. Nun möchte ich aber dieses durch die Berechnung darüber ersetzen. Das funktioniert dann nicht mehr so einfach.

      Dass man die Datentypen irgendwie wandeln muss, kann ich mir schon denken, habe es aber seit zwei Tagen nicht hingekriegt 😞 . Ein Versuch mit den Total Minuten des Tages zu rechnen und dann wieder in eine Zeit zu wandeln brachte mich auch nicht weiter.

      Da muss es doch eine einfache Lösung geben?

      Besten Dank für jede Hilfe.
      3525_time.jpg

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Schaun Mal in diesen thread da habe ich ein Script gebastelt in blockly um zalen in Zeiten im zu bauen: http://forum.iobroker.net/viewtopic.php?t=9602

        –-----------------------

        Send from mobile device

        1 Reply Last reply Reply Quote 0
        • rantanplan
          rantanplan last edited by

          @sol21:

          Da muss es doch eine einfache Lösung geben? `

          Mit Zeiten rechnen ist nicht einfach 😉

          18:00 ist bei Dir keine Zahl oder Zeit sondern Text.

          Mit Text kann man nicht rechnen.

          Du musst das erst in ein Zeitformat wandeln.

          Schau mal unter "Konvertierung"
          147_beispiel.png

          Da gibt es etliche Möglichkeiten.

          Wenn über einen Tageswechsel gearbeitet werden soll z.B. 16:00 bis 02:00 wird es noch komplizierter.

          Versuch doch mal zu beschreiben was Du genau möchtest.

          Vielleicht fällt Dir dabei ja auch schon selbst eine (andere) Lösung ein.

          Grüße

          1 Reply Last reply Reply Quote 0
          • S
            sol21 last edited by

            Zuerst mal Danke für die Tipps. Hier noch eine kurze Rückmeldung wie ich es nun gelöst habe. (vielleicht hilft es ja auch jemandem)

            Ziel soll es weiterhin sein festzustellen, ob die aktuelle Zeit zwischen zwei Zeiten ("start" und "abend") ist. Gegeben ist aber nur die Zeit "abend" und ein "bereich" in Minuten zwischen "abend" und "start".

            Beschreibung des Beispielprogrammes

            1. die Zeit "abend" und der "bereich" werden gesetzt. Im Beispiel sind das noch feste Werte, dies werden aber später ebenfalls variable Zeiten.

            2. nun nehme ich die total Minuten des Tages bis "abend" und zähle die Minuten "bereich" ab und habe somit die Zeit "start". Dazu gehe ich über verschiedene variablen mit Zwischenergebnissen. Einige dieser Zwischenschritte könnte man auch weglassen, denke aber das Programm wird dann weniger verständlich.

            3. am Schluss kann ich nun die normale Abfrage mit den beiden Zeiten "start" und "abend" machen.

            PS: der 5s Trigger ist natürlich auch nur für das Beispiel und wird noch angepasst.
            3525_kompkt.jpg

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

              Hallo,

              wie sieht denn das Script in Blockly aus, wenn ich eine Zeit von der anderen Zeit subtrahieren will? Bsp. Weckzeit - 30Minuten = Heizung an.

              Danke u. Gruß Michael

              1 Reply Last reply Reply Quote 0
              • S
                sol21 last edited by

                Wenn Du bei meinen Beispiel oben bleiben willst:

                abend = weckzeit

                bereich_min = 30

                Heizung an = start

                Den gerade aktuellen Thema finde ich aber auch intressant:

                http://forum.iobroker.net/viewtopic.php?f=21&t=12245

                1 Reply Last reply Reply Quote 0
                • S
                  steff.h. last edited by

                  Hi,
                  ich will eigentlich etwas Vergleichbares Steuern.

                  Ein Timer, der mittels Mqtt übermittelt wird und dadruch variable ist, derzeit aber noch auf 16:00 Uhr fest ist.

                  Das Licht soll jedoch 5 Minuten vor dem Timer angehen.
                  Ich habe versucht mich an deinem Skript zu orientieren aber es klappt leider nicht.

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                    <variables>
                      <variable type="" id="z}kg|mI[kX$/z;}UeFnC">Zeit_Timer</variable>
                      <variable type="" id="Offrx@ShSg8?(XB1XoXW">Vorlauf_Minuten</variable>
                      <variable type="" id="fbCFwgjpuQyO=ox-@lqY">Zeit_in_Minuten</variable>
                      <variable type="" id="uRSlnmWZ9D9l{,FK*.CI">Startzeit_in_Minuten</variable>
                      <variable type="" id="Dx2cmEA2G[7Rk/~v^=iY">Startzeit_Minuten</variable>
                      <variable type="" id="q)V*4t+J1NGUNKuMMq!e">start_ss</variable>
                      <variable type="" id="CCd}L`-iRJU14NDa?-07">start</variable>
                      <variable type="" id="Z^}ceHl8=w*CKe)=UntZ">start_mm</variable>
                      <variable type="" id="yr7$.;.y`[93[3Z@zz($">start_min</variable>
                    </variables>
                    <block type="schedule" id="|e%$lB3UL3Su,7x{O+PM" x="-412" y="354">
                      <field name="SCHEDULE">*/30 * * * * *</field>
                      <statement name="STATEMENT">
                        <block type="comment" id="sZ{txregW9_QtgFGlWT%">
                          <field name="COMMENT">meine Grundwerte</field>
                          <next>
                            <block type="variables_set" id="04A(,ASt%7L8iZmPa:eX">
                              <field name="VAR" id="z}kg|mI[kX$/z;}UeFnC" variabletype="">Zeit_Timer</field>
                              <value name="VALUE">
                                <block type="text" id="XFL57PiWm`P:VNVF[uO6">
                                  <field name="TEXT">16:00</field>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="o=?h6B5j[Q*X5.^Psf#B">
                                  <field name="VAR" id="Offrx@ShSg8?(XB1XoXW" variabletype="">Vorlauf_Minuten</field>
                                  <value name="VALUE">
                                    <block type="math_number" id="C)UPQLXsO6%nND^4a-@n">
                                      <field name="NUM">5</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="comment" id="i5Z^DNy;EoJ(THY#~V1K">
                                      <field name="COMMENT">Berechnung</field>
                                      <next>
                                        <block type="variables_set" id="kDht]1_`ZaF9VHz5a42H">
                                          <field name="VAR" id="fbCFwgjpuQyO=ox-@lqY" variabletype="">Zeit_in_Minuten</field>
                                          <value name="VALUE">
                                            <block type="convert_from_date" id="hm#WbBeMg53!cl96P-,0">
                                              <mutation format="false" language="false"></mutation>
                                              <field name="OPTION">mid</field>
                                              <value name="VALUE">
                                                <block type="variables_get" id="#.94la:IJpa=6AZJvE][">
                                                  <field name="VAR" id="z}kg|mI[kX$/z;}UeFnC" variabletype="">Zeit_Timer</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="?J|0veis#ArX3kAJn-cw">
                                              <field name="VAR" id="uRSlnmWZ9D9l{,FK*.CI" variabletype="">Startzeit_in_Minuten</field>
                                              <value name="VALUE">
                                                <block type="math_arithmetic" id="!5H7PshzI?r]f%s{Rc@8">
                                                  <field name="OP">MINUS</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="#R$;31%U`rEujqjB2Uml">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="^Y|#W^nIuPqevv1xPQnK">
                                                      <field name="VAR" id="fbCFwgjpuQyO=ox-@lqY" variabletype="">Zeit_in_Minuten</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id="z~i_{35X!SD(]h)a{[B}">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="VMH3*HK;P+F$}{IIQ-A!">
                                                      <field name="VAR" id="Offrx@ShSg8?(XB1XoXW" variabletype="">Vorlauf_Minuten</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="]bb`/bksbrf1:XSUsyw:">
                                                  <field name="VAR" id="Dx2cmEA2G[7Rk/~v^=iY" variabletype="">Startzeit_Minuten</field>
                                                  <value name="VALUE">
                                                    <block type="math_modulo" id="Kz/qP]qAjWMg467rzr.z">
                                                      <value name="DIVIDEND">
                                                        <shadow type="math_number" id="I3JV.jPqu#R]=m%yRcy#">
                                                          <field name="NUM">64</field>
                                                        </shadow>
                                                        <block type="variables_get" id="[H$!e0P?b#d,Jy$}NF(N">
                                                          <field name="VAR" id="uRSlnmWZ9D9l{,FK*.CI" variabletype="">Startzeit_in_Minuten</field>
                                                        </block>
                                                      </value>
                                                      <value name="DIVISOR">
                                                        <shadow type="math_number" id="C%0:Y=+pa|~KddvdTpp2">
                                                          <field name="NUM">60</field>
                                                        </shadow>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="Xg`E[ch|+GsIlb;D?9}6">
                                                      <field name="VAR" id="q)V*4t+J1NGUNKuMMq!e" variabletype="">start_ss</field>
                                                      <value name="VALUE">
                                                        <block type="math_arithmetic" id="LDsr=ST$[n_z@4^cZ)WB">
                                                          <field name="OP">DIVIDE</field>
                                                          <value name="A">
                                                            <shadow type="math_number" id="4MiU2nLX)Pq#|L`NY~0^">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="math_arithmetic" id="+c9Xm7n)}2WVZ/5uYw~y">
                                                              <field name="OP">MINUS</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="R1o)nTe.JeWdc)Db0=`X">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="=t{9+:xs=P!MA9#)rK:w">
                                                                  <field name="VAR" id="yr7$.;.y`[93[3Z@zz($" variabletype="">start_min</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id="c|Feu6iq1~U9rd_$W5?t">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="l.+;^d%$N3xQ`lSixwGO">
                                                                  <field name="VAR" id="Z^}ceHl8=w*CKe)=UntZ" variabletype="">start_mm</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number" id="/2F?`b}HH=osw$?LdGGI">
                                                              <field name="NUM">60</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="a6m?;gvKf?:4J%)a,d_$">
                                                          <field name="VAR" id="CCd}L`-iRJU14NDa?-07" variabletype="">start</field>
                                                          <value name="VALUE">
                                                            <block type="text_join" id="ksx)Vm}cTypk_H:aawd[">
                                                              <mutation items="3"></mutation>
                                                              <value name="ADD0">
                                                                <block type="variables_get" id="f`dfhmH?TJKWAN;;ZnkT">
                                                                  <field name="VAR" id="q)V*4t+J1NGUNKuMMq!e" variabletype="">start_ss</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="text" id="2,x!9GF,ldj_0IszHGeU">
                                                                  <field name="TEXT">:</field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD2">
                                                                <block type="variables_get" id="L:FZ}.Ox-gW?Fx7=JxL1">
                                                                  <field name="VAR" id="Z^}ceHl8=w*CKe)=UntZ" variabletype="">start_mm</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="comment" id="cU~;[Yp@3:$!1w;wOMc,">
                                                              <field name="COMMENT">Abfrage der Zeit und Steuerung</field>
                                                              <next>
                                                                <block type="controls_if" id="e}#qr}oEK?vLGOVAl@)F">
                                                                  <value name="IF0">
                                                                    <block type="time_compare_ex" id="^-by2v:c@o47[(q1-=HJ">
                                                                      <mutation end_time="false" actual_time="true"></mutation>
                                                                      <field name="USE_ACTUAL_TIME">TRUE</field>
                                                                      <field name="OPTION">==</field>
                                                                      <value name="START_TIME">
                                                                        <shadow type="text" id="6MX(2LM7^,%1ehw=(,RB">
                                                                          <field name="TEXT">12:00</field>
                                                                        </shadow>
                                                                        <block type="variables_get" id="(xaKxHD(|VB5i7wTO?k!">
                                                                          <field name="VAR" id="CCd}L`-iRJU14NDa?-07" variabletype="">start</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="control" id="8E_Q-1+Vo9XydYCQEGSx">
                                                                      <mutation delay_input="false"></mutation>
                                                                      <field name="OID">shelly.0.SHSW-1#2C04AC#1.Relay0.Switch</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE">
                                                                        <block type="logic_boolean" id="|.`Jz5(JSM=f[ly1V5@Q">
                                                                          <field name="BOOL">TRUE</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  417
                  Online

                  31.9k
                  Users

                  80.2k
                  Topics

                  1.3m
                  Posts

                  5
                  7
                  6467
                  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