Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Zeitdifferenz berechnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      brofelscher @paul53 last edited by

      Hallo zusammen,

      ich komme mit meiner Differenzzeit in Minuten ebenfalls nicht weiter. Ich versuche die Zeitdifferenz zwischen "Jetzt" und der letzten Aktualisierung eines Datenpunktes in Minuten zu errechnen und diese in den Datenpunkt "AbwesendSeitMinuten" zu schreiben.

      Das folgende Blockly funktioniert bis 59 Minuten prima, alles darüber hinaus funktioniert jedoch nicht. Es werden also zum Beispiel nicht 67 Minuten Differenz dargestellt, sondern nur "7". Die restlichen 60 Minuten verschwinden.

      7bbe51c6-f99c-4a96-96c4-53d43d4fe972-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="comment" id="vdO3Z/b-^J_@l)?Eq_R+" x="13" y="38">
          <field name="COMMENT">Abwesenheitszeit berechnen</field>
          <next>
            <block type="on" id="-Se3D{`):B`]p/=p_aOI">
              <field name="OID">fb-checkpresence.0.presentCount</field>
              <field name="CONDITION">any</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="controls_if" id="g$$Mh+_gT[pE?%~wmOw7">
                  <value name="IF0">
                    <block type="logic_compare" id="B~cGcXi@sZ~Vuxeg9NrH">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="Ra3xND;{0=Gx-[pw@??P">
                          <field name="ATTR">val</field>
                          <field name="OID">fb-checkpresence.0.presentCount</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="text" id="|2l5jEGj$arki%U@aI1*">
                          <field name="TEXT">0</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="update" id="fO*d3{jQ-Q,Muo5?^aHF">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.AbwesendSeitMinuten</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="convert_from_date" id="xF2Wqp~s/~y5PUaC_;7^">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                          <field name="OPTION">m</field>
                          <value name="VALUE">
                            <block type="math_arithmetic" id="{)*krPx!rRWcV.lMNvs9">
                              <field name="OP">MINUS</field>
                              <value name="A">
                                <shadow type="math_number" id="rD[[`+/pH}Z,=`RaZDKb">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="time_get" id="{YtxVX%(xd!aZrGPIR%/">
                                  <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="U}:)~D1u/;(DT4d+kNZM">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="}D,-3Ku3mkH){l1UJ|o?">
                                  <field name="ATTR">lc</field>
                                  <field name="OID">fb-checkpresence.0.presentCount</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @brofelscher last edited by

        @brofelscher sagte: Blockly funktioniert bis 59 Minuten prima

        Das sind die Minuten der Uhrzeit.
        Vorschlag:

        Bild_2021-12-28_224042.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <block type="comment" id="vdO3Z/b-^J_@l)?Eq_R+" x="13" y="38">
           <field name="COMMENT">Abwesenheitszeit berechnen</field>
           <next>
             <block type="on" id="-Se3D{`):B`]p/=p_aOI">
               <field name="OID">fb-checkpresence.0.presentCount</field>
               <field name="CONDITION">any</field>
               <field name="ACK_CONDITION"></field>
               <statement name="STATEMENT">
                 <block type="controls_if" id="g$$Mh+_gT[pE?%~wmOw7">
                   <value name="IF0">
                     <block type="logic_compare" id="B~cGcXi@sZ~Vuxeg9NrH">
                       <field name="OP">EQ</field>
                       <value name="A">
                         <block type="get_value" id="Ra3xND;{0=Gx-[pw@??P">
                           <field name="ATTR">val</field>
                           <field name="OID">fb-checkpresence.0.presentCount</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="text" id="|2l5jEGj$arki%U@aI1*">
                           <field name="TEXT">0</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="update" id="fO*d3{jQ-Q,Muo5?^aHF">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">0_userdata.0.AbwesendSeitMinuten</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="math_round" id="jh5X6wfE6}koDRuR}h,7">
                           <field name="OP">ROUND</field>
                           <value name="NUM">
                             <shadow type="math_number" id="dsl{1yg*UVLul@F2*}_x">
                               <field name="NUM">3.1</field>
                             </shadow>
                             <block type="math_arithmetic" id="CG|Sg`nEt;fkO/q}:-Eg">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow type="math_number" id="r16alN.iyJ)%|~KKF{p5">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="{)*krPx!rRWcV.lMNvs9">
                                   <field name="OP">MINUS</field>
                                   <value name="A">
                                     <shadow type="math_number" id="rD[[`+/pH}Z,=`RaZDKb">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="time_get" id="{YtxVX%(xd!aZrGPIR%/">
                                       <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="U}:)~D1u/;(DT4d+kNZM">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="on_source" id="75tkb;IKslfqIl;1JyN#">
                                       <field name="ATTR">oldState.lc</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="7o1So,{6-3V~;lGxE-;P">
                                   <field name="NUM">60000</field>
                                 </shadow>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
        </xml>
        

        B 1 Reply Last reply Reply Quote 1
        • B
          brofelscher @paul53 last edited by

          @paul53 said in Zeitdifferenz berechnen:

          Vorschlag:

          Bild_2021-12-28_224042.png

          Hi, dein Vorschlag passt perfekt 🙂 Danke dir.

          Ich habe wohl die Funktion "Minuten" missverstanden, da ich für die Minuten auch die Formatierung "mm" hätte nutzen können.
          Und wieder ist man ein wenig schlauer 🙂

          1 Reply Last reply Reply Quote 0
          • E
            erazor86 last edited by

            Ich habe wieder eine neue Aufgabenstellung bzgl. Zeitverrechnung. Diesmal möchte ich die mittlere Außentemperatur der letzten 3h berechnen. Ich habe hierzu mal ein Blockly erstellt. Jedoch ist es nicht ganz korrekt, da die durchschnittliche Temp nur alle 3h neu berechnet wird. Habe es leider nicht hinbekommen wie ich es gerne hätte. Vielleicht hat jemand einen Tip?
            tempdurchschnitt.JPG

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

              @erazor86 sagte: Vielleicht hat jemand einen Tip?

              Suche mal im Forum nach "gleitender Mittelwert".

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

                @paul53
                Guten Abend,
                leider funktioniert die Zeitberechnung so leider nicht.
                Ich würde gerne immer die Zeitdifferenz bis zum nächsten Sonnenaufgang berechnen.
                Also 1h vor dem Sonnenaufgang müsste 1h rauskommen, eine Stunde nach dem Sonnenaufgang müsste 23h rauskommen.

                Mit folgendem Blockly kommt aber leider gar nichts raus:
                72191ec5-e308-416a-819f-4ce029ed05d6-grafik.png

                62cbb7ba-6d4e-4dcc-a86e-58aebfb1351d-grafik.png

                Hat vielleicht jemand eine Idee, wie ich das hinbekommen könnte?

                Besten Dank!

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

                  @strobi sagte eine Stunde nach dem Sonnenaufgang müsste 23h rauskommen.

                  Nein, dann kommt am gleichen Tag ein negativer Wert raus. Teste die Berechnung erst mal mit dem Debug-Block.

                  Der Datenpunkt scheint keinen Zustand zu haben. Ist es der richtige DP? Das Skript ist aktiv, nicht unter der Gruppe "global" erstellt und der Debug-Modus (rechts oben) ist deaktiviert?

                  Für positive Werte:

                  Bild_2022-01-17_235843.png

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

                    @paul53
                    So geht es - falls es noch jemanden interessiert - Zeitspanne bis zum nächsten Sonnenaufgang 🙂
                    e87b1c2e-3e72-4fb5-a526-b9fb563ca8f0-grafik.png

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

                      Auch wenn dieser Thread schon "100 Jahre" alt ist, würde ich mich gerne mit meiner Frage hier anschließen, da es sich ebenfalls um eine "Zeit berechnen" Frage handelt.

                      Konkrete Problemstellung:
                      Ich habe zwei Datenpunkte - einmal die Zeit als UTC und dann den Lokalen Korrekturfaktor +2 Std. (CET)

                      Wie kann ich den vorhandenen DP, welcher so aussieht 2022-10-25T13:23:32Z nun um + 2 Stunden hoch addieren?

                      Das hier funktioniert jedenfalls nicht 😞

                      178032b4-91c6-4d87-89aa-304ba35c05c0-image.png

                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @JB_Sullivan last edited by haus-automatisierung

                        @jb_sullivan sagte in Zeitdifferenz berechnen:

                        Wie kann ich den vorhandenen DP, welcher so aussieht 2022-10-25T13:23:32Z nun um + 2 Stunden hoch addieren?

                        Du willst nichts addieren. Du willst den Zeitstempel nur anders formatieren (für unsere Zeitzone). Der Zeitpunkt bleibt ja genau der gleiche. Wäre ja falsch, da nun Stunden drauf zu schlagen.

                        Das "Z" am Ende deiner Zeitangabe steht für "Zulu". Das heißt, das ist UTC. Wenn Du das nun also in die gängigen Datumsfunktionen gibst, dann wissen die schon damit umzugehen. Wenn man den Zeitpunkt nun also formatiert, dann wird die Zeitzone des Betriebssystems berücksichtigt:

                        Screenshot 2022-10-26 at 10.47.14.png

                        Ergibt: 25.10.2022. 15:23:32

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <variables>
                            <variable id=",cJDM_Be,aiY)MRh{R/}">timeStamp</variable>
                          </variables>
                          <block type="variables_set" id="#s#G]QUKK_14+DT$P.$@" x="-587" y="262">
                            <field name="VAR" id=",cJDM_Be,aiY)MRh{R/}">timeStamp</field>
                            <value name="VALUE">
                              <block type="convert_to_date" id="k=w+o:B(w6`jJMabP~b[">
                                <value name="VALUE">
                                  <block type="text" id="r6t?3L$0}/3s`fDw`eh7">
                                    <field name="TEXT">2022-10-25T13:23:32Z</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="debug" id="00=-ftF0Y@P^A7$W/(F?">
                                <field name="Severity">log</field>
                                <value name="TEXT">
                                  <shadow type="text" id="#=,ZXQ_{QyO-CuYT@KRn">
                                    <field name="TEXT">test</field>
                                  </shadow>
                                  <block type="convert_from_date" id="Ou5k{iL@;t`k5bxyQ^,S">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                    <field name="OPTION">custom</field>
                                    <field name="FORMAT">TT.MM.JJJJ. SS:mm:ss</field>
                                    <value name="VALUE">
                                      <block type="variables_get" id="=OC%5Yj^4Ki#Oc,(S1m/">
                                        <field name="VAR" id=",cJDM_Be,aiY)MRh{R/}">timeStamp</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </xml>
                        

                        EDIT: So gehts sogar noch einfacher

                        Screenshot 2022-10-26 at 10.50.22.png

                        Aber: Wenn Du ein Datum/Zeitpunkt als Wert in einem Datenpunkt speichern möchtest, dann ist UTC dafür ebenfalls korrekt. In dem Fall setzt Du die Rolle auf date und der Admin stellt den Wert dann "richtig" (heißt: in Deiner Zeitzone formatiert) dar:

                        Screenshot 2022-10-26 at 11.04.06.png

                        JB_Sullivan 1 Reply Last reply Reply Quote 0
                        • JB_Sullivan
                          JB_Sullivan @haus-automatisierung last edited by JB_Sullivan

                          @haus-automatisierung

                          Naja, den Datenpunkt als UTC gibt es ja. Verstehe ich das richtig, das ich nur die Rolle ändern muss? Also in den Objektdaten von "indicator" in "date", damit nicht UTC sondern die Systemzeit ausgegeben wird?

                          {
                            "type": "state",
                            "common": {
                              "name": "timeInCar",
                              "role": "indicator",
                              "type": "string",
                              "write": false,
                              "read": true
                            },
                            "native": {},
                            "from": "system.adapter.vw-connect.0",
                            "user": "system.user.admin",
                            "ts": 1665834213369,
                            "_id": "vw-connect.0.FIN.status.air-conditioning.timers.timeInCar",
                            "acl": {
                              "object": 1636,
                              "state": 1636,
                              "owner": "system.user.admin",
                              "ownerGroup": "system.group.administrator"
                            }
                          }
                          
                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @JB_Sullivan last edited by haus-automatisierung

                            @jb_sullivan sagte in Zeitdifferenz berechnen:

                            Verstehe ich das richtig, das ich nur die Rolle ändern muss?

                            Theoretisch ja, laut Dokumentation wird die Rolle date für number und string unterstützt: https://www.iobroker.net/#en/documentation/dev/stateroles.md

                            • date (common.type = string - parsable by "new Date(ddd)" string
                            • date (common.type = number - epoch seconds * 1000

                            Aber ersteres funktioniert im Admin aktuell nicht. Habe einen Issue aufgemacht:

                            https://github.com/ioBroker/ioBroker.admin/issues/1770

                            Und: Ich würde davon abraten, die Rollen von Datenpunkten anzupassen, welche man nicht selbst erstellt hat!

                            Ein Alias wäre hier eine gute Lösung. Type number, role date und beim Lesen einfach die Funktion einfügen: new Date(val).getTime()

                            {
                              "common": {
                                "name": "test",
                                "desc": "Manuell erzeugt",
                                "role": "date",
                                "type": "number",
                                "read": true,
                                "write": true,
                                "def": 0,
                                "alias": {
                                  "id": "vw-connect.0.FIN.status.air-conditioning.timers.timeInCar",
                                  "read": "new Date(val).getTime()"
                                }
                              },
                              "type": "state",
                              "native": {},
                              "_id": "alias.0.test",
                              "acl": {
                                "object": 1632,
                                "state": 1636,
                                "owner": "system.user.admin",
                                "ownerGroup": "system.group.administrator"
                              },
                              "from": "system.adapter.admin.0",
                              "user": "system.user.admin",
                              "ts": 1666775968588
                            }
                            

                            Die Frage ist nach wie vor: Was hast Du denn vor? Es ändert sich im Admin ja nur die Anzeige, wenn man die Rolle setzt. Der gespeicherte Wert bleibt genau der gleiche...

                            klein0r created this issue in ioBroker/ioBroker.admin

                            closed Role "date" is ignored when common.type is string #1770

                            JB_Sullivan 1 Reply Last reply Reply Quote 0
                            • JB_Sullivan
                              JB_Sullivan @haus-automatisierung last edited by

                              @haus-automatisierung sagte in Zeitdifferenz berechnen:

                              Die Frage ist nach wie vor: Was hast Du denn vor?

                              Der Adapter liefert die Uhrzeit des Fahrzeugs in UTC und zusätzlich den lokalen (CET) Anpassungsfaktor +2

                              Das Fahrzeug gibt die Geoposition aus und damit ich in der VIS sehe wie aktuell diese Geoposition ist, blende ich mir den diesen "Zeitstempel" Datenpunkt mit in die VIS ein. Klar kann ICH auch jedesmal im Kopf die 2 Stunden dazu rechnen.

                              Damit ist aber dem WAF-Faktor leider nicht genüge getan 😉 Darum wollte ich den Datenpunkt so umwandeln das ein neuer, zeitlich korrekter DP entsteht, den ich dann in die VIS verknüpfe.

                              8ad2f5ae-da4d-47c9-8421-aa839907da88-image.png

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @JB_Sullivan last edited by haus-automatisierung

                                @jb_sullivan sagte in Zeitdifferenz berechnen:

                                Darum wollte ich den Datenpunkt so umwandeln das ein neuer, zeitlich korrekter DP entsteht

                                Verstehe. Korrekt sind ja die UTC-Zeitpunkte ja auch 🙂

                                Das ist meiner Meinung nach die Aufgabe des Frontends (also VIS). Es wäre in jedem Fall richtig, den Datenpunkt in UTC zu speichern (als string so wie er aktuell schon da ist oder number, siehe Alias im vorigen Beitrag) und diesen dann im Frontend von VIS auf die lokale Zeitzone umrechnen zu lassen.

                                Eine Datenbank sollte Zeitstempel immer in UTC speichern (wie das Forum hier z.B. auch). Und dann erst bei der Darstellung den Zeitstempel für den User darstellen.

                                Dafür gibt es doch z.B. das Widget TimesValue. Da einfach den Datenpunkt mit dem UTC-Zeitstempel wählen und das Format DD.MM.YYYY hh:mm:ss eintragen. Fertig. Keine Scripts, keine neuen Datenpunkte, keine Rechnerei.

                                JB_Sullivan 1 Reply Last reply Reply Quote 1
                                • JB_Sullivan
                                  JB_Sullivan @haus-automatisierung last edited by JB_Sullivan

                                  @haus-automatisierung VIELEN DANK das wir drüber gesprochen haben 😉

                                  Tja wenn man immer alles wüsste was geht, bräuchte man sich nicht den Kopf zu zerbrechen, wie man dieses oder jenes von"hinten durchs Auge" gelöst bekommt.

                                  Also nochmals vielen Dank für deine Zeit und die Erklärungen 👍👍

                                  1 Reply Last reply Reply Quote 1
                                  • hg6806
                                    hg6806 Most Active last edited by

                                    Hallo zusammen,

                                    zu dem Thema hätte ich auch eine Frage.
                                    Und zwar habe ich eine Zeitdifferenz berechnet. Die ms stimmen soweit.
                                    16482933ms sind umgerechnet ca. 46h
                                    Mit dem folgenden Blockly bekomme ich aber nur 22:57?
                                    296d9bfd-70bb-4894-80e4-ba9ddb88487e-image.png

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

                                      @hg6806 sagte in Zeitdifferenz berechnen:

                                      Mit dem folgenden Blockly bekomme ich aber nur 22:57?

                                      das ist nicht vollständig!
                                      wo nommt die Variable her?

                                      Hier wird die SS:mm des errechneten Timestamps ausgegeb3n. Das ist nie > 24h

                                      hg6806 1 Reply Last reply Reply Quote 0
                                      • hg6806
                                        hg6806 Most Active @Homoran last edited by

                                        @homoran

                                        Ok, ich hole etwas weiter aus.
                                        Von einem Türsensor bekomme ich ein JSON.
                                        Daraus fische ich den Zeitstempel der letzten Öffnung/Schließung.
                                        Wenn ich den Zeitstempel nach TT.MM.JJJJ dekodiere, stimmt es schon mal.
                                        Die verstrichene Zeit auch (evtl 1h Unterschied wegen Zeitzone).
                                        Doch leider stimmt die letzte Berechnung nicht nach SS:mm

                                        5cf08a06-c612-48cb-a2c4-a4ea0e89b04d-image.png

                                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active @hg6806 last edited by haus-automatisierung

                                          @hg6806 sagte in Zeitdifferenz berechnen:

                                          Doch leider stimmt die letzte Berechnung nicht nach SS:mm

                                          Bitte den Thread nochmal lesen. Wenn Du nach SS:MM wandelst, dann wird die Zeitzone berücksichtigt. Und wenn Du jetzt sagt: Gibt mir 01:20 Uhr UTC mal in meiner Zeitzone, dann ist das etwas anderes als "80 Minuten in SS:MM formatieren bitte".

                                          Um bei dem Beispiel zu bleiben:

                                          new Date(80 * 60 * 1000).toISOString() // "1970-01-01T01:20:00.000Z"
                                          new Date(80 * 60 * 1000).toLocaleString("de-DE", { timeZone: "Europe/Berlin" }) // "1.1.1970, 02:20:00"
                                          

                                          Der gleiche Zeitstempel wurde also in verschiedene Zeitzonen umgerechnet. Was (logischerweise) zwei unterschiedliche Ergebnisse gibt.

                                          Du benutzt da keine Funktionen um eine Dauer in einen lesbaren Wert zu wandeln, sondern Du formatierst eine Zeit / einen Timestamp in ein lesbares Format Deiner Zeitzone.

                                          @hg6806 sagte in Zeitdifferenz berechnen:

                                          16482933ms sind umgerechnet ca. 46h Mit dem folgenden Blockly bekomme ich aber nur 22:57?

                                          Das geht daher logischerweise auch nicht. SS bedeutet Stunde. Der Wert geht von 0 bis 23. Genau wie die Minute nur von 0 bis 59 geht. Du bekommst also Tage dazu / das Datum verschiebt sich.

                                          Du formatierst also von dem Zeitstempel 16482933 nur die Stunden und die Minuten. Inzwischen ist aber ein ganzer Tag vergangen. Nach der Logik müsste das heutige Datum mit SS formatiert ja einen extrem hohen Wert ausgeben (vergangene Stunden seit 01.01.1970). Ist aber zum Glück nicht so.

                                          Dazu gibt es auch einen Feature-Request: https://github.com/ioBroker/ioBroker.javascript/issues/1044

                                          Marty56 created this issue in ioBroker/ioBroker.javascript

                                          closed add "format_duration" function #1044

                                          hg6806 1 Reply Last reply Reply Quote 0
                                          • hg6806
                                            hg6806 Most Active @haus-automatisierung last edited by

                                            @haus-automatisierung

                                            Aber ich nehme zur Berechnung doch gar nicht das TT.MM.JJJJ, sondern die Variable "Zeitdiff_in_ms", die auch kein String sondern eine Zahl sein müsste.
                                            Das oberste "aktualisiere" ist eine eigenständige Berechnung und kann man auch wegdenken.
                                            Das 2. "aktualisiere" stimmt noch, nur das letzte nicht mehr.

                                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            677
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            16
                                            89
                                            13705
                                            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