Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Zeitdifferenz berechnen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Zeitdifferenz berechnen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
106 Beiträge 20 Kommentatoren 22.0k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D David G.

    @haus-automatisierung

    Das Video hab ich gesehen, noch vor dem Betrag.
    Dass das echte Datum außen vor ist, ist mir klar.

    Die Frage ist, was ist Zb ein Monat?
    Hat ein Monat 30,4 Tage (365/12)?
    Geht das Jahr immer von 365 Tagen aus?

    Jenachdem was für Zeiträume man berechnet liegt man ja schon (zwangsweise) was daneben.
    Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

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

    @david-g sagte in Zeitdifferenz berechnen:

    Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

    Wie Du in der Doku siehst, kann in der Formatierung aktuell nur Tag, Stunde, Minute, Sekunde genutzt werden. Und die sind der Länge immer gleich definiert.

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    David G.D 1 Antwort Letzte Antwort
    0
    • haus-automatisierungH haus-automatisierung

      @david-g sagte in Zeitdifferenz berechnen:

      Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

      Wie Du in der Doku siehst, kann in der Formatierung aktuell nur Tag, Stunde, Minute, Sekunde genutzt werden. Und die sind der Länge immer gleich definiert.

      David G.D Offline
      David G.D Offline
      David G.
      schrieb am zuletzt editiert von
      #84

      @haus-automatisierung sagte in Zeitdifferenz berechnen:

      Wie Du in der Doku siehst

      Da hab ich in der Tat nicht reingeschaut.
      Hab naiv wie ich bin drauf vertraut, dass mir "anwenderformatiert" nur verfügbare Optionen vorschlägt.

      Screenshot_20231030_164946_YouTube.jpg

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • David G.D David G.

        @haus-automatisierung sagte in Zeitdifferenz berechnen:

        Wie Du in der Doku siehst

        Da hab ich in der Tat nicht reingeschaut.
        Hab naiv wie ich bin drauf vertraut, dass mir "anwenderformatiert" nur verfügbare Optionen vorschlägt.

        Screenshot_20231030_164946_YouTube.jpg

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

        @david-g Ist ja auch so, im Video die Version ist noch nicht final gewesen.

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        draexlerD 1 Antwort Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @david-g Ist ja auch so, im Video die Version ist noch nicht final gewesen.

          draexlerD Nicht stören
          draexlerD Nicht stören
          draexler
          schrieb am zuletzt editiert von
          #86

          Hi,
          ich habe einen Datenpunkt den ich aus einen anderen Skript mit "SS:mm" befüllen lasse.

          Ich möchte nun die Differenz in "SS:mm" vom jetztigen Zeitpunkt ausberechnen lassen:

          Beispiel:
          Datenpunkt: 08:00
          Aktuelle Zeit: 08:15

          ERGEBNIS: 00:15

          Bin zu doof das hinzukriegen oder ich habe heute einen Knoten im Kopf:

          So sieht das aktuelle Blockly aus:
          Bildschirmfoto 2023-11-14 um 19.27.37.png

          Aktuell kommt als Fehler:

          javascript.0 (495) at Object.<anonymous> (script.js.common.Arbeit.Arbeitstag_Stundenerfassung:39:5)
          
          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • draexlerD draexler

            Hi,
            ich habe einen Datenpunkt den ich aus einen anderen Skript mit "SS:mm" befüllen lasse.

            Ich möchte nun die Differenz in "SS:mm" vom jetztigen Zeitpunkt ausberechnen lassen:

            Beispiel:
            Datenpunkt: 08:00
            Aktuelle Zeit: 08:15

            ERGEBNIS: 00:15

            Bin zu doof das hinzukriegen oder ich habe heute einen Knoten im Kopf:

            So sieht das aktuelle Blockly aus:
            Bildschirmfoto 2023-11-14 um 19.27.37.png

            Aktuell kommt als Fehler:

            javascript.0 (495) at Object.<anonymous> (script.js.common.Arbeit.Arbeitstag_Stundenerfassung:39:5)
            
            haus-automatisierungH Offline
            haus-automatisierungH Offline
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von haus-automatisierung
            #87

            @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

            Was ist denn zB „drae“ - „xler“?

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            draexlerD M 2 Antworten Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

              Was ist denn zB „drae“ - „xler“?

              draexlerD Nicht stören
              draexlerD Nicht stören
              draexler
              schrieb am zuletzt editiert von
              #88

              @haus-automatisierung Du hast vollkommen recht, gebe das ich es mir zu einfach gemacht habe. Habe mir weiter oben mal dein Video angesehen und nun verstanden wie es funktioniert.
              Danke dir 🙂

              1 Antwort Letzte Antwort
              1
              • paul53P paul53

                @strobi sagte: Stundengenau (als Kommazahl) würde ausreichen) der aktuellen Tageszeit bis zum Sonnenuntergang

                Bild_2021-11-25_200531.png

                D Offline
                D Offline
                Diamand2k22
                schrieb am zuletzt editiert von Diamand2k22
                #89

                @paul53 said in Zeitdifferenz berechnen:

                @strobi sagte: Stundengenau (als Kommazahl) würde ausreichen) der aktuellen Tageszeit bis zum Sonnenuntergang

                Bild_2021-11-25_200531.png

                @paul53

                wie kann ich denn die Zeit in Stunden z.b. von heute 22 Uhr bis zum Sonnenaufgang am nächsten Tag berechnen?

                1 Antwort Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

                  Was ist denn zB „drae“ - „xler“?

                  M Offline
                  M Offline
                  martin_olw
                  schrieb am zuletzt editiert von
                  #90

                  @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                  Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                  Der schoolfree-adapter liefert mit den Datenpunkt:
                  ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                  Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                  5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                  Wo ist denn mein Denkfehler?
                  Danke für die Hilfe.

                  rantanplanR CodierknechtC 2 Antworten Letzte Antwort
                  0
                  • M martin_olw

                    @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                    Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                    Der schoolfree-adapter liefert mit den Datenpunkt:
                    ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                    Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                    5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                    Wo ist denn mein Denkfehler?
                    Danke für die Hilfe.

                    rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #91

                    @martin_olw Hallo
                    Hier mal ein Teil aus meinem Urlaubs-Script.


                    Blockly-Bild.png

                    Hier der Import:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</variable>
                       <variable id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</variable>
                       <variable id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</variable>
                       <variable id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</variable>
                       <variable id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</variable>
                       <variable id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</variable>
                       <variable id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</variable>
                     </variables>
                     <block type="on_ext" id="6Y@LIxe47B4)/e.|7dhR" x="13" y="13">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id=".pH*ia^ETsdO8W,L#Gk=">
                           <field name="oid">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Anfang</field>
                         </shadow>
                       </value>
                       <value name="OID1">
                         <shadow type="field_oid" id="D*3.w}vY.)vz0,R#Xf5;">
                           <field name="oid">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Ende</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="procedures_callnoreturn" id="CruK/)nJvPeDa%r+bEx+">
                           <mutation name="INIT"></mutation>
                         </block>
                       </statement>
                     </block>
                     <block type="procedures_defnoreturn" id="rK9I[^hv-APnWSk-Kt.L" x="13" y="188">
                       <field name="NAME">INIT</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       <statement name="STACK">
                         <block type="variables_set" id="61JC/Ih{H)?7I=v/Fm=Q">
                           <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                           <value name="VALUE">
                             <block type="convert_to_date" id="h]gTUfA5G!-^/SWfcqc2">
                               <value name="VALUE">
                                 <block type="time_get" id="+wNd8D]Iic8xhJ/d15iR">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                   <field name="OPTION">custom</field>
                                   <field name="FORMAT">JJJJ-MM-TT</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="Lby=(fYB/_-R{ky.`{7]">
                               <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                               <value name="VALUE">
                                 <block type="convert_to_date" id="GPUD9FF0O`QE@2wZ2Z]N">
                                   <value name="VALUE">
                                     <block type="get_value" id="U}A,2^4+8S4DJ1*+F={|">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Anfang</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="VKY$gdP}[3bH;+AXpBHZ">
                                   <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                   <value name="VALUE">
                                     <block type="convert_to_date" id="*R_Z}kF6`jL7+r1YL|}h">
                                       <value name="VALUE">
                                         <block type="get_value" id="AAJ|jBQ@iVn7U(iwE(!.">
                                           <field name="ATTR">val</field>
                                           <field name="OID">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Ende</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="procedures_callnoreturn" id="W)r1+a/-`v`fZ[ERXO+3">
                                       <mutation name="Berechnen"></mutation>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                     <block type="procedures_defnoreturn" id="L%cTl`j}R)j.9dGL(k)I" x="13" y="363">
                       <field name="NAME">Berechnen</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       <statement name="STACK">
                         <block type="variables_set" id="U]^N4kN@1v8`~e05sV40">
                           <field name="VAR" id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="tBr:GvymRvpgrT1_2E5C">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_arithmetic" id="PnLFGs#2s-cw!/1J~BR=">
                                   <field name="OP">DIVIDE</field>
                                   <value name="A">
                                     <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_arithmetic" id="-M?[syp1P$H*Nh}$]a07">
                                       <field name="OP">DIVIDE</field>
                                       <value name="A">
                                         <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="math_arithmetic" id=".@g),R`5Bd%V-TVvPRCe">
                                           <field name="OP">MINUS</field>
                                           <value name="A">
                                             <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="/MDql`:T}Q6%}xv}acQu">
                                               <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="Hp+Lv4mN+wM[eh/_kL?O">
                                               <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="/((:@f|[96!NnwHIVNTY">
                                           <field name="NUM">60000</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number" id="~9.YMbwQLoRv?I}y|,zu">
                                       <field name="NUM">60</field>
                                     </shadow>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="C?D)nEQfRpF}t))Ms*|j">
                                   <field name="NUM">24</field>
                                 </shadow>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="~N2Vh!EKK-T#|6INP{44">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="?DZEd@z3v90wdaK@|rqA">
                                   <field name="VAR" id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="5VU4?Mv4:2huebRFP11,">
                                   <field name="VAR" id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</field>
                                   <value name="VALUE">
                                     <block type="math_arithmetic" id="noz1b%8sh`#Bp#SsU0?H">
                                       <field name="OP">ADD</field>
                                       <value name="A">
                                         <shadow type="math_number" id="sf$^_`Ao=`!RV(v@Lt#x">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="math_arithmetic" id="@{vaElI@,iXl5vX#c|5W">
                                           <field name="OP">DIVIDE</field>
                                           <value name="A">
                                             <shadow type="math_number" id="`btQnasuTCm;qwO*%[(g">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="math_arithmetic" id="PGK6{PZZ~O:7kQ3C|FG}">
                                               <field name="OP">DIVIDE</field>
                                               <value name="A">
                                                 <shadow type="math_number" id="TO0C%*aX{lO5WW-:f^-R">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_arithmetic" id="?Att1;@%4%Q(/_jZIy5=">
                                                   <field name="OP">DIVIDE</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_arithmetic" id="EsiyAfA21*3NvTDOu1I{">
                                                       <field name="OP">MINUS</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="q||DUO@KnmY;n6M5@)(p">
                                                           <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="Jub1/{z%N7k2B?{V%mmh">
                                                           <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id=",,~N.K,x{XBuC]3q^9@Y">
                                                       <field name="NUM">60000</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="dfV^QOPgu#R~)QikzV|8">
                                                   <field name="NUM">60</field>
                                                 </shadow>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="/`2,hS8}B19v5LW-$/Nu">
                                               <field name="NUM">24</field>
                                             </shadow>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="|Dqt!p.!c8?xc1YJ_$7d">
                                           <field name="NUM">1</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="debug" id="a%EN{P;ni)C(h+B{K/3S">
                                       <field name="Severity">info</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="variables_get" id="7$,L@1*ag8eG-v1nnL2R">
                                           <field name="VAR" id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="g2^ncn{yP-~)8*P@F._l">
                                           <field name="VAR" id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</field>
                                           <value name="VALUE">
                                             <block type="math_arithmetic" id="Xd)W`4r{ZXZ6k@3dv$VG">
                                               <field name="OP">DIVIDE</field>
                                               <value name="A">
                                                 <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_arithmetic" id="QmpPXam~rvT+MgNX9u+,">
                                                   <field name="OP">DIVIDE</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_arithmetic" id="w1o15_,o{(08nPDH+V{,">
                                                       <field name="OP">DIVIDE</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id="n}7Zo/8GqFRM_n/6*(Xt">
                                                           <field name="OP">MINUS</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="MtN9sI^REd.n7!Ll/Qok">
                                                               <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="S9}r}%dv+m__+^x6JkY0">
                                                               <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="::-{0q`94xph2Eg|-x|U">
                                                           <field name="NUM">60000</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="``T+p/C8xgM_=p5Cs^W+">
                                                       <field name="NUM">60</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="_irBzMi^l+RPzF^h?J@W">
                                                   <field name="NUM">24</field>
                                                 </shadow>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="o9/+lp3,%3)QZSiURon4">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id=",):=#H#8/0p$Z)()K0:9">
                                                   <field name="VAR" id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="#z+4]AP}FC6-TiA_G8fA">
                                                   <field name="VAR" id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</field>
                                                   <value name="VALUE">
                                                     <block type="math_arithmetic" id=")PIjRrt8Rul#dK}Q2soP">
                                                       <field name="OP">DIVIDE</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id="otHOPPC!:5nC?!K.,F^V">
                                                           <field name="OP">DIVIDE</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="math_arithmetic" id="QEVx==e_%dhX0W/|#4+i">
                                                               <field name="OP">DIVIDE</field>
                                                               <value name="A">
                                                                 <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                                 <block type="math_arithmetic" id="Yq,`X1IWVW1~g05cg4f=">
                                                                   <field name="OP">MINUS</field>
                                                                   <value name="A">
                                                                     <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="We*DW*18Ms-OQ@Th]/6!">
                                                                       <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                     <block type="variables_get" id="VhM}N+uW*3~d(Ad/;_Ot">
                                                                       <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <shadow type="math_number" id="`GF=?375Ik$qs#o}VgDC">
                                                                   <field name="NUM">60000</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="mQIS:jetB*#aHBYU)0PI">
                                                               <field name="NUM">60</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="Om9T;?}xe$%eid;W`gF0">
                                                           <field name="NUM">24</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id=")?=j68qr=z=lgz[hX?u#">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="variables_get" id="/K3#]{E4M_i.vt9,#}uD">
                                                           <field name="VAR" id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    Wie schon gesagt ist das ein Auszug aus einem größeren Script.
                    Sollte aber funktionieren.
                    Datenpunkte Urlaub_1_Anfang und Urlaub_1_Ende müsstest Du vorher anlegen.
                    Ich hoffe es hilft Dir etwas weiter.

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • M martin_olw

                      @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                      Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                      Der schoolfree-adapter liefert mit den Datenpunkt:
                      ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                      Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                      5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                      Wo ist denn mein Denkfehler?
                      Danke für die Hilfe.

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von Codierknecht
                      #92

                      @martin_olw sagte in Zeitdifferenz berechnen:

                      Wo ist denn mein Denkfehler?

                      Welchen Typ hat der DP?
                      Wenn das ein String ist und das Datum dort lediglich als Text in deutscher Formatierung eingetragen ist, muss das vorher konvertiert werden.

                      6f89976f-250e-43df-9c16-d907e54ad2eb-image.png

                      Edit
                      Alternativ kann man auch eine Liste verwenden, um das zu konvertieren. Ist letztlich Geschmackssache.

                      a43c16a4-ebe9-407b-bf1b-d4dfbff492c5-grafik.png

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.0.15 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Cerrtified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      M 1 Antwort Letzte Antwort
                      1
                      • CodierknechtC Codierknecht

                        @martin_olw sagte in Zeitdifferenz berechnen:

                        Wo ist denn mein Denkfehler?

                        Welchen Typ hat der DP?
                        Wenn das ein String ist und das Datum dort lediglich als Text in deutscher Formatierung eingetragen ist, muss das vorher konvertiert werden.

                        6f89976f-250e-43df-9c16-d907e54ad2eb-image.png

                        Edit
                        Alternativ kann man auch eine Liste verwenden, um das zu konvertieren. Ist letztlich Geschmackssache.

                        a43c16a4-ebe9-407b-bf1b-d4dfbff492c5-grafik.png

                        M Offline
                        M Offline
                        martin_olw
                        schrieb am zuletzt editiert von
                        #93

                        @codierknecht Super! Danke dir. Der DP war vom Typ String. Dank deiner Konvertierung passt es jetzt. Die Kinder sind zufrieden. 😉

                        1 Antwort Letzte Antwort
                        0
                        • E Offline
                          E Offline
                          exmerci
                          schrieb am zuletzt editiert von
                          #94

                          Moin,

                          ich stehe gerade komplett auf dem Schlauch.
                          Ich würde gern die aktuelle Zeit in einen Datenpunkt schreiben. Welchen Zustandstyp muss das Objekt haben?
                          Dann würde ich gern mit einem Trigger jeden Tag das Objekt abfragen und wenn es länger als 5 Tage her ist, eine Aktion auslösen.
                          Ich weiß im Augenblick nicht mal, wie ich anfangen soll.

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • E exmerci

                            Moin,

                            ich stehe gerade komplett auf dem Schlauch.
                            Ich würde gern die aktuelle Zeit in einen Datenpunkt schreiben. Welchen Zustandstyp muss das Objekt haben?
                            Dann würde ich gern mit einem Trigger jeden Tag das Objekt abfragen und wenn es länger als 5 Tage her ist, eine Aktion auslösen.
                            Ich weiß im Augenblick nicht mal, wie ich anfangen soll.

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #95

                            @exmerci sagte in Zeitdifferenz berechnen:

                            die aktuelle Zeit

                            in welcher Form?

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • E Offline
                              E Offline
                              exmerci
                              schrieb am zuletzt editiert von
                              #96

                              @homoran

                              Das ist mir eigentlich egal. Ich muss nur erreichen, das ich 5 Tage später etwas starten kann. Also ich muss wissen, wann die 5 Tage vorbei sind.
                              Ich hoffe, ich komme verständlich rüber.

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • E exmerci

                                @homoran

                                Das ist mir eigentlich egal. Ich muss nur erreichen, das ich 5 Tage später etwas starten kann. Also ich muss wissen, wann die 5 Tage vorbei sind.
                                Ich hoffe, ich komme verständlich rüber.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #97

                                @exmerci sagte in Zeitdifferenz berechnen:

                                ich muss wissen

                                also nur für dich? als Reminder?

                                oder willst du damit weiterarbeiten/rechnen o.ä.

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                E 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @exmerci sagte in Zeitdifferenz berechnen:

                                  ich muss wissen

                                  also nur für dich? als Reminder?

                                  oder willst du damit weiterarbeiten/rechnen o.ä.

                                  E Offline
                                  E Offline
                                  exmerci
                                  schrieb am zuletzt editiert von exmerci
                                  #98

                                  @homoran

                                  Also ich will damit schon weiter arbeiten.
                                  Ich möchte die Aktion, wenn 5 Tage vorbei sind starten, also mit "steuere" eine Aktion auslösen.
                                  Aber eben nur, wenn schon 5 Tage oder mehr vergangen sind. Sonst nicht.

                                  HomoranH 1 Antwort Letzte Antwort
                                  0
                                  • E exmerci

                                    @homoran

                                    Also ich will damit schon weiter arbeiten.
                                    Ich möchte die Aktion, wenn 5 Tage vorbei sind starten, also mit "steuere" eine Aktion auslösen.
                                    Aber eben nur, wenn schon 5 Tage oder mehr vergangen sind. Sonst nicht.

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #99

                                    @exmerci also willst du nicht

                                    @exmerci sagte in Zeitdifferenz berechnen:

                                    die aktuelle Zeit in einen Datenpunkt

                                    so dass du sie lesen kannst, sondern als Unixtime zum rechnen

                                    Screenshot_20250829-203000_Firefox.jpg

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    E 2 Antworten Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @exmerci also willst du nicht

                                      @exmerci sagte in Zeitdifferenz berechnen:

                                      die aktuelle Zeit in einen Datenpunkt

                                      so dass du sie lesen kannst, sondern als Unixtime zum rechnen

                                      Screenshot_20250829-203000_Firefox.jpg

                                      E Offline
                                      E Offline
                                      exmerci
                                      schrieb am zuletzt editiert von
                                      #100

                                      @homoran sagte in Zeitdifferenz berechnen:

                                      so dass du sie lesen kannst, sondern als Unixtime zum rechnen

                                      Ja, wenn das nur so geht, dann ja.
                                      Ich muss leider Morgen weiter machen. Muss jetzt erst mal weg. Danke erstmal soweit.

                                      1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Homoran

                                        @exmerci also willst du nicht

                                        @exmerci sagte in Zeitdifferenz berechnen:

                                        die aktuelle Zeit in einen Datenpunkt

                                        so dass du sie lesen kannst, sondern als Unixtime zum rechnen

                                        Screenshot_20250829-203000_Firefox.jpg

                                        E Offline
                                        E Offline
                                        exmerci
                                        schrieb am zuletzt editiert von
                                        #101

                                        @homoran

                                        Das hat für meine erste Berechnung schonmal super geklappt.
                                        Was ich jetzt noch versuchen wollte, ist die Tage auf das aktuelle Datum zur Anzeige zu addieren, aber das hat so einfach nicht geklappt.

                                        Bildschirmfoto-9.png

                                        Oder geht das nur, wenn ich die Millisekunden wieder in das Datum umrechne? Aber wie geht das dann?

                                        HomoranH haus-automatisierungH 2 Antworten Letzte Antwort
                                        0
                                        • E exmerci

                                          @homoran

                                          Das hat für meine erste Berechnung schonmal super geklappt.
                                          Was ich jetzt noch versuchen wollte, ist die Tage auf das aktuelle Datum zur Anzeige zu addieren, aber das hat so einfach nicht geklappt.

                                          Bildschirmfoto-9.png

                                          Oder geht das nur, wenn ich die Millisekunden wieder in das Datum umrechne? Aber wie geht das dann?

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #102

                                          @exmerci sagte in Zeitdifferenz berechnen:

                                          wenn ich die Millisekunden wieder in das Datum umrechne

                                          du musst zu der aktuellen Zeit als Datumsobjekt + 432000000 addieren um den Timestamp von in 5 Tagen zu erhalten.

                                          Den kannst du dan in human readable Format konvertieren
                                          oder als CRON in einem Trigger verwenden um die Alarmsirene oder was immer du willst zu starten, wenn dein gewünschter Teitpunkt erreicht ist

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          413

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe