Navigation

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

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Dauer rechnen

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

      Hallo, ich möchte gerne die Dauer in Minuten ausrechnen lassen.

      Es kommt aber nur 4 oder 2.... raus... Ich weis ich müsste von Millisekunden in Minuten umrechnen aber ich bekomme ja noch nicht mal die Millisekunden raus.

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="`S+`{N!EhP*SpjqZpIgy">delta</variable>
        </variables>
        <block type="on_ext" id="@23iI/^O^[olnPXpcn9m" x="138" y="88">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="5$rbyi?g{DP-7btzXUov">
              <field name="oid">default</field>
            </shadow>
            <block type="field_oid" id="+7yqjI6AxEk5-jUkZ*:B">
              <field name="oid">0_userdata.0.Heizung.Brenner_an</field>
            </block>
          </value>
          <statement name="STATEMENT">
            <block type="controls_if" id="Z}6pLWL#)A8gc}4wn-D#">
              <value name="IF0">
                <block type="logic_compare" id="#jDqR44SXHaKA0.my8Ku">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="get_value" id="][t^4NG^#p!2vP+=2(6@">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Heizung.Brenner_an</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_boolean" id="sJP?5-BoRG`Pbdl49At3">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="debug" id="~x6g$vziiolhg!6L|7Gy">
                  <field name="Severity">log</field>
                  <value name="TEXT">
                    <shadow type="text" id="QVf6*?hUW/4ru;@W[Jw;">
                      <field name="TEXT">Aktua</field>
                    </shadow>
                    <block type="text" id="))WOShsXK[*G(Z[?dpM-">
                      <field name="TEXT">Aktu</field>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="#t~HMFi|b~1B?iDU*9.," disabled="true">
                      <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                      <value name="VALUE">
                        <block type="math_number" id="`B+oo@9125lT_xT@6Z$[">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="variables_set" id="@3Gl]Mbf6;[n]*E/h-WM">
                          <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                          <value name="VALUE">
                            <block type="math_arithmetic" id=":n4a-B#_99I3FQg`/G0Q">
                              <field name="OP">MINUS</field>
                              <value name="A">
                                <shadow type="math_number" id="63)L.lzMnw7,P^;h22qR">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="time_get" id="SJNz!aPWC*yz0d.Q_@!u">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                  <field name="OPTION">object</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="sCU-Cjgp})3`5E:K~-.R">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="convert_from_date" id="sRa4wBBN7Kpd`/Y]T|i-">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                  <field name="OPTION">object</field>
                                  <value name="VALUE">
                                    <block type="get_value" id="ev1ErAjh|pj[t)^k%k[!">
                                      <field name="ATTR">lc</field>
                                      <field name="OID">0_userdata.0.Heizung.Brenner_an</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="S|l+ebLmXeF:YXexI_3^">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text">
                                  <field name="TEXT">Aktua</field>
                                </shadow>
                                <block type="text_join" id="BwN}sAKJ.#AMkbuwY8L:">
                                  <mutation items="5"></mutation>
                                  <value name="ADD0">
                                    <block type="convert_from_date" id="Iw5R62F(eDEwje=C)mr[">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                      <field name="OPTION">hh:mm:ss.sss</field>
                                      <value name="VALUE">
                                        <block type="get_value" id="a.,}+0n.@2TjTLl;mGlV">
                                          <field name="ATTR">lc</field>
                                          <field name="OID">0_userdata.0.Heizung.Brenner_an</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="text_newline" id="o]cty#y35:QVX^sRm}x=">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id="7x-@we@{p^g9B[VAqKi:">
                                      <field name="TEXT">Letzte Änderung</field>
                                    </block>
                                  </value>
                                  <value name="ADD3">
                                    <block type="text_newline" id="2Y]Cwd57d#DEU:SS)3n0">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD4">
                                    <block type="variables_get" id="zZ|d0|aklY,jzIHbLmMu">
                                      <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="debug" id="0.ZUF=GUjGVAOZ^}+tT_">
                                  <field name="Severity">log</field>
                                  <value name="TEXT">
                                    <shadow type="text">
                                      <field name="TEXT">Aktua</field>
                                    </shadow>
                                    <block type="time_get" id="_Z+47tu[Z^k@`)%_h9t8">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                      <field name="OPTION">hh:mm:ss.sss</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="update" id="U~$y8Ce(OiLx[qEVCJ~!">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                      <field name="OID">0_userdata.0.Heizung.Brennerlaufzeit</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">1000</field>
                                      <field name="UNIT">ms</field>
                                      <field name="CLEAR_RUNNING">TRUE</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="K?aU$x[afANIo%O)_=/$">
                                          <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="debug" id="A_spPv]_vR9Jiwb^p_Qn">
                                          <field name="Severity">error</field>
                                          <value name="TEXT">
                                            <shadow type="text" id="qC{WJ~(@iap=O/b9UsV?">
                                              <field name="TEXT">Aktua</field>
                                            </shadow>
                                            <block type="variables_get" id="Tr=rDT|_USoMbP.$*VeM">
                                              <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      0257de6c-8c6a-40bd-8cc4-3f062cd0d7a1-image.png

      5fd19108-e55d-41ea-80e2-5050c61508ed-image.png

      Homoran F paul53 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Nicoloma last edited by

        @nicoloma sagte in Dauer rechnen:

        aber ich bekomme ja noch nicht mal die Millisekunden raus.

        doch: 2 ms

        Nicoloma 1 Reply Last reply Reply Quote 0
        • Nicoloma
          Nicoloma @Homoran last edited by

          @homoran
          hahaha 😄 , Ja ...gut hast recht.. ist aber nicht wahr... ich lasse im test 3-10 sekunden vergehen und es steht das gleiche

          Homoran Asgothian 2 Replies Last reply Reply Quote 0
          • F
            frankyboy73 @Nicoloma last edited by frankyboy73

            @nicoloma Hi, wenn ich das richtig sehe bekommst du doch Millisekunden raus. Dein Trigger ist letzte Änderung und du berechnest die aktuelle Zeit -(minus) letzte Änderung. Dann weißt du jetzt das dein Script vom Trigger bis zur Berechnung 2 Millisekunden braucht.

            Eventuell könnte man das mit nem Intervall machen. Wird Brenner wahr, Datenpunkt auf 0 setzen, dann alle Sekunde den Datenpunkt Plus 1 hochzählen, wird Brenner Unwahr Intervall stoppen und Datenpunkt ausgeben.

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Nicoloma last edited by

              @nicoloma sagte in Dauer rechnen:

              hahaha

              nicht zum lachen!
              Du hast genau diese Werte ausgelesen, und mit denen rechnest du.

              Ich weiß nicht was die Brennerlaufzeit ist, aber wenn sich diese alle 2ms ändert, weil sie hocjzählt, dann ist das so

              Nicoloma 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Nicoloma last edited by

                @nicoloma
                Vorschlag:

                Bild_2022-02-05_155533.png

                • Trigger "ist kleiner als letztes" triggert nur beim Ausschalten.
                • delta erhält die Einschaltdauer in ms
                • Für die Wandlung nach "hh:mm:ss" erfolgt eine Zeitzonenkorrektur
                F 1 Reply Last reply Reply Quote 2
                • Nicoloma
                  Nicoloma @Homoran last edited by

                  @homoran sagte in Dauer rechnen:

                  aber wenn sich diese alle 2ms änder

                  Ich lache weil ich es nicht schaffe "In meinem Test" den Schalter in 2ms zu Drücken
                  Mein lachen war nicht böse gemeint.

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Nicoloma last edited by

                    @nicoloma

                    1. Ersetze den Baustein Wert vom ObjektID Brenner an durch den Baustein Wert
                    2. Ersetze den Baustein letzte Änderung vom Objekt ID Brenner AN durch den Baustein vorherige letzte Änderung
                    3. Ersetze den Baustein Aktuelle Zeit als Datum-Objekt durch den Baustein Letzte Änderung
                    4. Spar Dir die ganze Umrechnerei. Die Minuten bekommst du durch: (Letzte Änderung - vorherige letzte Änderung) / 60000

                    Nebenbei: Die vier Bausteine die du da nehmen sollst sind eigentlich alle der gleiche Baustein, nämlich:
                    Screen Shot 2022-02-05 at 16.01.18 .png

                    Der auf dem Objekt ID voreingestellt ist kann auf diese Werte Eingestellt werden.

                    A.

                    Nicoloma 1 Reply Last reply Reply Quote 0
                    • F
                      frankyboy73 @paul53 last edited by

                      @paul53 Oh, cool, habe gar nicht gewusst das man die vorherige letzte Änderung auch auslesen kann.

                      1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @Nicoloma last edited by

                        @nicoloma sagte in Dauer rechnen:

                        @homoran sagte in Dauer rechnen:

                        aber wenn sich diese alle 2ms änder

                        Ich lache weil ich es nicht schaffe "In meinem Test" den Schalter in 2ms zu Drücken
                        Mein lachen war nicht böse gemeint.

                        Das Problem ist nicht das sich der State "Brenner AN" so schnell ändert, sondern das du

                        • auf die Änderung triggerst
                        • danach die letzte Änderung ausliest, sprich die auf die du gerade getriggert hast.

                        Die 2 ms sind also die Laufzeit zwischen dem Trigger und dem Auslesen des Zeitstempels der letzten Änderung.

                        der Zeitstempel der vorletzten Änderung ist nur innerhalb eines Triggers verfügbar.

                        A.

                        Nicoloma 1 Reply Last reply Reply Quote 3
                        • Nicoloma
                          Nicoloma @Asgothian last edited by

                          @asgothian

                          YEEEES, danke hat geklappt.
                          Danke, ich bin neu und kannte und fand die Bausteine" letzte änderung und vorletzte" nicht.
                          Super....

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

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable id="`S+`{N!EhP*SpjqZpIgy">delta</variable>
                              </variables>
                              <block type="on_ext" id="@23iI/^O^[olnPXpcn9m" x="-12" y="-112">
                                <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                <field name="CONDITION">lt</field>
                                <field name="ACK_CONDITION"></field>
                                <value name="OID0">
                                  <shadow type="field_oid" id="5$rbyi?g{DP-7btzXUov">
                                    <field name="oid">default</field>
                                  </shadow>
                                  <block type="field_oid" id="+7yqjI6AxEk5-jUkZ*:B">
                                    <field name="oid">0_userdata.0.Heizung.test</field>
                                  </block>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="Z}6pLWL#)A8gc}4wn-D#">
                                    <value name="IF0">
                                      <block type="logic_compare" id="#jDqR44SXHaKA0.my8Ku">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="on_source" id="$kaqu=JI270Bn9/-%AZp">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_boolean" id="sJP?5-BoRG`Pbdl49At3">
                                            <field name="BOOL">FALSE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="variables_set" id="@3Gl]Mbf6;[n]*E/h-WM">
                                        <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                                        <value name="VALUE">
                                          <block type="math_arithmetic" id="/Z~*ndcFz??/0TvOu5[E">
                                            <field name="OP">DIVIDE</field>
                                            <value name="A">
                                              <shadow type="math_number" id="5K9eR;u_Ni.oY,:m6NR6">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="math_arithmetic" id=":n4a-B#_99I3FQg`/G0Q">
                                                <field name="OP">MINUS</field>
                                                <value name="A">
                                                  <shadow type="math_number" id="63)L.lzMnw7,P^;h22qR">
                                                    <field name="NUM">1</field>
                                                  </shadow>
                                                  <block type="on_source" id="RN#^Ctm0*P2-=Xz7@hK(">
                                                    <field name="ATTR">state.lc</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <shadow type="math_number" id="sCU-Cjgp})3`5E:K~-.R">
                                                    <field name="NUM">1</field>
                                                  </shadow>
                                                  <block type="on_source" id="imcTiJ^PJ7_[z+Dl{u:Y">
                                                    <field name="ATTR">oldState.lc</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <shadow type="math_number" id="~C0[[kxiDl+Kf3GqAMJR">
                                                <field name="NUM">1</field>
                                              </shadow>
                                              <block type="math_number" id="rsVYi+Ji:SsNLfDU`$KE">
                                                <field name="NUM">60000</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="update" id="U~$y8Ce(OiLx[qEVCJ~!">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                            <field name="OID">0_userdata.0.Heizung.Brennerlaufzeit</field>
                                            <field name="WITH_DELAY">TRUE</field>
                                            <field name="DELAY_MS">1000</field>
                                            <field name="UNIT">ms</field>
                                            <field name="CLEAR_RUNNING">FALSE</field>
                                            <value name="VALUE">
                                              <block type="variables_get" id="K?aU$x[afANIo%O)_=/$">
                                                <field name="VAR" id="`S+`{N!EhP*SpjqZpIgy">delta</field>
                                              </block>
                                            </value>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </xml>
                            

                            7c93571e-3b0d-4ab6-a9bd-556b0358b93e-image.png

                            1 Reply Last reply Reply Quote 0
                            • Nicoloma
                              Nicoloma @Asgothian last edited by

                              @asgothian Danke jetzt weis ich auch mein Fehler. Klasse danke für die erklärung.
                              Macht Sinn!

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              820
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              5
                              13
                              631
                              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