Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Alter berechnen

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

      @OliverIO
      @mickym

      Ui,
      was habe ich denn hier jetzt losgetreten 😅
      Dass das so komplex ist, hätte ich nicht gedacht....

      Leider übersteigt es, wenn es nicht "nur" blockly ist meinem Horizont.
      JS ist mir mal noch zu hoch.
      NodeRed hatte ich bisher keinen Kontakt mit.
      Für diese Spielerei müssen sich jetzt nicht andere im Forum den Kopf zerbrechen.

      G 1 Reply Last reply Reply Quote 0
      • G
        Gutscho @David G. last edited by

        @david-g
        Hier mein Vorschlag für den Monat. Ich habe das nur schnell mal zusammengezimmert und kurz überflogen. Theoretisch dürfte ich keinen Fehler gemacht haben, kann mich aber auch täuschen (Vorzeichenfehler oder ähnliches)
        So ähnlich musst du das dann auch bei den Tagen oder Jahren machen. Bitte auch immer die Klammern beachten (die Mathematischen Ausdrücke richtig zusammensetzen - jeder Block ist wie ich das gesehen habe umklammert)
        aed3bfe5-b856-4cd5-9ba8-2e0ee77e7e3a-image.png

        Solltest du noch Probleme haben gib Bescheid dann versuch ich dir auch noch bei Tagen und Jahren zu helfen. Schön ist das dann wenn man das ganze umkehrt und einen "Counter" für die Geburtstage realisiert. Ich habe auch nicht ausprobiert wie es mit den Tagen und mit übergang Februar auf März aussieht. Dazu haben meine Vorredner aber schon genügend gefachsimpelt 😉

        Gruß

        Gutscho

        David G. 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @mickym last edited by

          @mickym
          hups, das mit dem array ist tückisch.
          ja moments funktioniert.

          wenn wir ihm noch helfen moments von blockly aufzurufen, dann hat er alles was er braucht.

          David G. 1 Reply Last reply Reply Quote 1
          • David G.
            David G. @Gutscho last edited by

            @gutscho

            Das ist ja wie mein Ansatz.
            Nur noch was ausgefuchster.
            Werde ich mal testen.
            Bei den Tagen bin ich vermutlich trotzdem wieder ratlos ^^.

            Da kann man ja nicht pauschal 11 nehmen. Gibt ja noch mehr Varianten.

            @OliverIO
            Wenn man das in Blockly bekommt mit einem JS Block wäre ja klasse. Am besten die Variable mit dem Geburtstag direkt in Blockly hinterlegbar.

            G 1 Reply Last reply Reply Quote 0
            • G
              Gutscho @David G. last edited by Gutscho

              @david-g
              Wenn ich was wegen den Tagen zusammenbasteln soll sag Bescheid. Ist ja nix anderes wie ne Programmiersprache nur eben als GUI. Also ich denke dass das ganze auch bzw. noch besser in .js umgesetzt werden kann.

              Kann man eigentlich anstatt .js auch mit typescript in iobroker arbeiten? Bin noch ziemlich neu hier.

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

                @gutscho sagte: Kann man eigentlich anstatt .js auch mit typescript in iobroker arbeiten?

                Ja.

                Bild_2022-01-26_131318.png

                1 Reply Last reply Reply Quote 0
                • David G.
                  David G. @OliverIO last edited by David G.

                  @oliverio

                  Moments war jetzt JS?
                  Ein JS kann es ja auch sein. Da bekomme auch ich die 4 Datenpunkte (Geburtstag, Alter in Jahren, Monaten und Tagen (oder zusammen in einem als json)) angepasst.
                  Aber eben nicht mehr um selber noch was dran rumzuspielen.

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @David G. last edited by

                    @david-g
                    Ich werde mein Widget was ich oben erwähnt habe auf Moments umstellen. Dann kannst du direkt das Widget verwenden.

                    David G. 1 Reply Last reply Reply Quote 0
                    • David G.
                      David G. @OliverIO last edited by David G.

                      @oliverio

                      Danke.
                      Aber "leider" nutze ich kein VIS.
                      Meine Visualisierung läuft über lovelace, da kann ich die Widgets nicht einbinden (Meistens baue ich auch alles selber zusammen soweit es geht. Auch in Lovelace (Da gibt es als Gegenstück die custom cards). Widgets geben oft ja schon ein Layout vor) .....

                      Kannst es ja in MyTime einbauen 😉

                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @David G. last edited by OliverIO

                        @david-g

                        mit javascript kannst du dich ja an dem beispiel des codepen links bedienen und rumprobieren
                        da du dich nicht so auskennst hier ein paar erklärungen

                        1. du musst in den instanz-einstellungen des javascripts-adapter das Zusätzlich NPM-Modul moment hinzufügen
                          der folgende code enthält 2 funktionen
                        • getFormat(a,b) zieht die Differenz der beiden Datums-Objekte a und b zu jahre,monate und tage und gibt das ergebnis als text zurück
                        • xxx erzeugt für 2 Beispiele das jeweilige Datum und speichert diese in a und b und ruft dann die getFormat Funktion auf. Das Ergebnis wird mit einer jQuery Hilfsfunktion in 2 angelegte HTML-Elemente geschrieben, so das es bei codepen direkt angezeigt wird. Da das natürlich im js adapter nicht geht, ist das die Stelle an der du den Wert in einen Datenpunkt schreibst.
                          Die enthaltene Funktion moment() ruft die hinzugefügte Bibliothek auf und erzeugt ein neues Datumsobjekt. Eine umfangreiche Doku mit Beispiele ist hier zu finden: https://momentjs.com/docs/#/parsing/

                        pbrigens in dem codepen kannst du direkt rumspielen und wenn du keinen fehler einbaust, wird nach kurzer zeit das fenster automatisch mit den Ergebnissen aktualisiert. so kannst du javascript ausprobieren und gleich das ergebnis sehen.

                        https://codepen.io/oweitman/pen/WNXNdXJ

                        function getFormat(a,b) {
                          var years = a.diff(b, 'year');
                          b.add(years, 'years');
                          var months = a.diff(b, 'months');
                          b.add(months, 'months');
                          var days = a.diff(b, 'days');
                          return years + ' years ' + months + ' months ' + days + ' days';
                        }
                        function xxx() {
                          var a = moment("2022-03-01");
                          var b = moment();
                        //  $("#x1").html(getFormat(a,b));
                          setState("javascript.0.Kind1",getFormat(a,b));
                          a = moment("2022-02-01");
                          b = moment();
                          // $("#x2").html(getFormat(a,b));
                          setState("javascript.0.Kind2",getFormat(a,b));
                        }
                        
                        xxx(); 
                        
                        
                        David G. 1 Reply Last reply Reply Quote 1
                        • David G.
                          David G. @OliverIO last edited by

                          @oliverio

                          Danke, werde ich testen.
                          Mal sehen wann ich zu komme.
                          Meine Frau wurde eben vom Krankenwagen ins Krankenhaus gefahren.

                          OliverIO sten-tor 2 Replies Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @David G. last edited by

                            @david-g

                            Alles gute, das ist wichtiger

                            1 Reply Last reply Reply Quote 0
                            • sten-tor
                              sten-tor @David G. last edited by

                              @david-g Erstmal gute Besserung deiner Frau! Hoffentlich nichts schlimmes.

                              Mit der Altersberechnung insbesondere der Schaltjahreproblematik hatte ich mich auch schon mal befasst und habe dann als mögliche Blockly-Lösung das iterative Erhöhen des Datumswert gefunden. Kannst ja mal ausprobieren:
                              Datum.jpg

                              Hier auch zum direkt importieren:

                              <xml xmlns="https://developers.google.com/blockly/xml">
                                <variables>
                                  <variable id="@bu3RD+iB=]PdKAxZ?wn">startdatum</variable>
                                  <variable id="k!jWl+=eJy!gO#:Eh-*S">enddatum</variable>
                                  <variable id="EVPb:UkCB@Z0Qd644};@">jahre</variable>
                                  <variable id="IoPINO{]qIk%XgKYvn)R">monate</variable>
                                  <variable id="ooZPRbdvyzkIQ.$#xv#,">tage</variable>
                                  <variable id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</variable>
                                  <variable id=",6Z_W4f.-wfh[$qa|l_h">failcounter</variable>
                                </variables>
                                <block type="variables_set" id="6m-PTLu:+[^.eX,a:K51" x="-838" y="-262">
                                  <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                  <value name="VALUE">
                                    <block type="convert_to_date" id="lz#v,fRj*tYwy-=f{wR(">
                                      <value name="VALUE">
                                        <block type="text" id="KYj#x]9cr}2x9|H6H+Lg">
                                          <field name="TEXT">2020,2,29</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="n/InM:.oKm|KnI^9$zz/">
                                      <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                      <value name="VALUE">
                                        <block type="convert_to_date" id="=V}a50G|tJSTk9yq:Vkn">
                                          <value name="VALUE">
                                            <block type="text" id="O:UWi*+xlz?).bu^V_7c">
                                              <field name="TEXT">2023,3,1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="EB+?-?KclHGF/0OwlU;N">
                                          <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                          <value name="VALUE">
                                            <block type="math_number" id="VL:?eRTLv~sR,pJdx(r/">
                                              <field name="NUM">0</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id=",|M3`E*bUW/!kBMUyAU]">
                                              <field name="VAR" id="IoPINO{]qIk%XgKYvn)R">monate</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="s2IKF4-U1rxEM{i$SzA7">
                                                  <field name="NUM">0</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="$!(iH.}w)S)=O{B!}]Q3">
                                                  <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                  <value name="VALUE">
                                                    <block type="math_number" id="KHz;Y1Be~2t!v@k4nP4T">
                                                      <field name="NUM">0</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="controls_if" id="gZoOB;++6mF^G;;~{!Mt">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="ZzR#(%}Y[b=5}fw^NjBR">
                                                          <field name="OP">GT</field>
                                                          <value name="A">
                                                            <block type="variables_get" id="rcwK0CWMad%whp$1,+l#">
                                                              <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="variables_get" id="@Y%lX,];d_mAPP)H!z7@">
                                                              <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="comment" id="IDC3n{u(Oxj0y%iUU/l`">
                                                          <field name="COMMENT">Datum-Objekte auf Tagesanfang setzen</field>
                                                          <next>
                                                            <block type="variables_set" id="ik[8fz[FkW*jTGb@+_:*">
                                                              <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                              <value name="VALUE">
                                                                <block type="convert_to_date" id="Sj{+dt6LmU;@y-_R0icX">
                                                                  <value name="VALUE">
                                                                    <block type="convert_from_date" id="]Ol=%4zep24:dbr!wsRf">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                      <field name="OPTION">YYYY.MM.DD</field>
                                                                      <value name="VALUE">
                                                                        <block type="variables_get" id="ZNINw{hj34/AZv/?({z!">
                                                                          <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="variables_set" id="9.X8|I;l@E`:b].LWEYy">
                                                                  <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                                  <value name="VALUE">
                                                                    <block type="convert_to_date" id="4imVT^],uFs(qKIT//E8">
                                                                      <value name="VALUE">
                                                                        <block type="convert_from_date" id="|o8?mL@Gc6AG%DioEpkB">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                          <field name="OPTION">YYYY.MM.DD</field>
                                                                          <value name="VALUE">
                                                                            <block type="variables_get" id="BEwa|^=R*tDL^pLrul?+">
                                                                              <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="comment" id="#(kHBo#+(Jk4h$y=LQzT">
                                                                      <field name="COMMENT">Jahre berechnen</field>
                                                                      <next>
                                                                        <block type="variables_set" id="[}h|@;ivFjl!ydXN~ReA">
                                                                          <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                          <value name="VALUE">
                                                                            <block type="math_arithmetic" id=";L]/9o|V^Wsf8ThF6`LX">
                                                                              <field name="OP">MINUS</field>
                                                                              <value name="A">
                                                                                <shadow type="math_number" id="R_*u3^X2qNQ*R4RuBq^q">
                                                                                  <field name="NUM">1</field>
                                                                                </shadow>
                                                                                <block type="convert_from_date" id="Alv-W(-w][/g^?IUb*Pp">
                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                  <field name="OPTION">fy</field>
                                                                                  <value name="VALUE">
                                                                                    <block type="variables_get" id="c:f:gDsdaz^?1LM.[WNa">
                                                                                      <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <value name="B">
                                                                                <shadow type="math_number" id="fL@AosMBh8JEHC6,K@NH">
                                                                                  <field name="NUM">1</field>
                                                                                </shadow>
                                                                                <block type="convert_from_date" id="v})RiDaO|I@Y3uMD_1nU">
                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                  <field name="OPTION">fy</field>
                                                                                  <value name="VALUE">
                                                                                    <block type="variables_get" id="$o4BAD~MfGElI(BUOz23">
                                                                                      <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <next>
                                                                            <block type="variables_set" id="h.-l8a;u9o*=3_/amA3A">
                                                                              <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                              <value name="VALUE">
                                                                                <block type="math_constrain" id="jOc{jUA$WU-[r3|dFsoh">
                                                                                  <value name="VALUE">
                                                                                    <shadow type="math_number">
                                                                                      <field name="NUM">50</field>
                                                                                    </shadow>
                                                                                    <block type="math_arithmetic" id="{=`uwJfBqC~X,LV_w0Gz">
                                                                                      <field name="OP">MINUS</field>
                                                                                      <value name="A">
                                                                                        <shadow type="math_number">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                        <block type="variables_get" id="kNP5;H;qwxGLwC7ZfFBA">
                                                                                          <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="B">
                                                                                        <shadow type="math_number" id="%w5Oxt`m1=WgzJ`j-rw_">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="LOW">
                                                                                    <shadow type="math_number" id="FG-lEJa2.~5LKjB7+rL%">
                                                                                      <field name="NUM">0</field>
                                                                                    </shadow>
                                                                                  </value>
                                                                                  <value name="HIGH">
                                                                                    <shadow type="math_number" id="?1{$Nl(TQh?U|$7b$b,H">
                                                                                      <field name="NUM">1000000</field>
                                                                                    </shadow>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <next>
                                                                                <block type="variables_set" id=":%Ji_pj@y9S0-H=]yOb|">
                                                                                  <field name="VAR" id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</field>
                                                                                  <value name="VALUE">
                                                                                    <block type="convert_to_date" id="R.l?w_M6.{8]]9fb._DU">
                                                                                      <value name="VALUE">
                                                                                        <block type="text_join" id="=.hb#Cbsv?kg{)o4P`40">
                                                                                          <mutation items="5"></mutation>
                                                                                          <value name="ADD0">
                                                                                            <block type="math_arithmetic" id="fo7UX|K9Bb]9;7k-UBxr">
                                                                                              <field name="OP">ADD</field>
                                                                                              <value name="A">
                                                                                                <shadow type="math_number" id="M5mWT9g=+V[ZXMg}y{!e">
                                                                                                  <field name="NUM">1</field>
                                                                                                </shadow>
                                                                                                <block type="convert_from_date" id="k()/{aUzfU;b0!V_L.FW">
                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                  <field name="OPTION">fy</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="variables_get" id="SCdG7uKuw0Fm2HTSH$WQ">
                                                                                                      <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="B">
                                                                                                <shadow type="math_number" id="(Yeo}ODi`v%k]G+^N|O5">
                                                                                                  <field name="NUM">1</field>
                                                                                                </shadow>
                                                                                                <block type="variables_get" id="@@+tl6v.YN4A(_G?h;O9">
                                                                                                  <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="ADD1">
                                                                                            <block type="text" id="Y=z/TY@c0v}f4})|qxPA">
                                                                                              <field name="TEXT">,</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="ADD2">
                                                                                            <block type="convert_from_date" id="_fBafy:FtEYPl?3;|Obv">
                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                              <field name="OPTION">M</field>
                                                                                              <value name="VALUE">
                                                                                                <block type="variables_get" id="j`x]LIN4BH}c6j*;,=A_">
                                                                                                  <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="ADD3">
                                                                                            <block type="text" id="C65;1^Ac(ob{29SjK@!D">
                                                                                              <field name="TEXT">,</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="ADD4">
                                                                                            <block type="convert_from_date" id="L?s)gWzhdYdspC!W5o+N">
                                                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                              <field name="OPTION">d</field>
                                                                                              <value name="VALUE">
                                                                                                <block type="variables_get" id="NU.:WS1Y+sJK%B)n-SLD">
                                                                                                  <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                  <next>
                                                                                    <block type="comment" id="F~6hcZnWmJt-VXo*O3!=">
                                                                                      <field name="COMMENT">Monate/Tage</field>
                                                                                      <next>
                                                                                        <block type="controls_whileUntil" id="OZB.hc}RXNyJ[bqs_1MD">
                                                                                          <field name="MODE">UNTIL</field>
                                                                                          <value name="BOOL">
                                                                                            <block type="logic_compare" id="`B!Ad8~KwhE38Bd0GA05">
                                                                                              <field name="OP">GTE</field>
                                                                                              <value name="A">
                                                                                                <block type="variables_get" id="ist`ENx1`_hS?dDaA-=V">
                                                                                                  <field name="VAR" id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="B">
                                                                                                <block type="variables_get" id="O*/9Cqi5U^uf+*S!:QdZ">
                                                                                                  <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <statement name="DO">
                                                                                            <block type="math_change" id="R^iR$L#6vH?mqJtOJYAO">
                                                                                              <field name="VAR" id=",6Z_W4f.-wfh[$qa|l_h">failcounter</field>
                                                                                              <value name="DELTA">
                                                                                                <shadow type="math_number" id="]ttwSt1~{C9#R26lG~fT">
                                                                                                  <field name="NUM">1</field>
                                                                                                </shadow>
                                                                                              </value>
                                                                                              <next>
                                                                                                <block type="math_change" id="Ap]x?1D0@B$W-Jfv})]h">
                                                                                                  <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                                                                  <value name="DELTA">
                                                                                                    <shadow type="math_number" id="97XSEqrL){VN)]@caH,-">
                                                                                                      <field name="NUM">1</field>
                                                                                                    </shadow>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="variables_set" id="wfYyQ9aTwCvU4SwmzE5r">
                                                                                                      <field name="VAR" id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</field>
                                                                                                      <value name="VALUE">
                                                                                                        <block type="math_arithmetic" id="COjJaM:7e]e6DbLY^DnK">
                                                                                                          <field name="OP">ADD</field>
                                                                                                          <value name="A">
                                                                                                            <shadow type="math_number" id="?Q{D{cL-1hc;:@,6eT#m">
                                                                                                              <field name="NUM">1</field>
                                                                                                            </shadow>
                                                                                                            <block type="variables_get" id="-%.{-$J,W%Vic53rn-:N">
                                                                                                              <field name="VAR" id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="B">
                                                                                                            <shadow type="math_number" id="k?RWeG*h}Dx`j-w32~9(">
                                                                                                              <field name="NUM">86400000</field>
                                                                                                            </shadow>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <next>
                                                                                                        <block type="controls_if" id="FRL:Yl!iS}%4m77|yX/q">
                                                                                                          <value name="IF0">
                                                                                                            <block type="logic_operation" id="{Dpz4+}YA_T^fg$.yGqd">
                                                                                                              <field name="OP">OR</field>
                                                                                                              <value name="A">
                                                                                                                <block type="logic_compare" id="{*$|a1:+_*No21CPG!At">
                                                                                                                  <field name="OP">GTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="/)t_Cz}v*#rGICp^o1k]">
                                                                                                                      <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="math_number" id="4MAFDH;r*2;77^#%aMap">
                                                                                                                      <field name="NUM">31</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="logic_compare" id="QuBKQCHRrm^#l/n=K@j;">
                                                                                                                  <field name="OP">EQ</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="convert_from_date" id="X]L2PsC,;DzfNMl^G+54">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                                      <field name="OPTION">d</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="variables_get" id="7oqyTdB60XEn5sng3fJY">
                                                                                                                          <field name="VAR" id="@;idhSG;Ux^aS!Kaj/Z.">tempdatum</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="convert_from_date" id="=):;ET?to`{1/@|E(IMj">
                                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                                      <field name="OPTION">d</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="variables_get" id="A`;d)o/yQB~UMmVZ1{n~">
                                                                                                                          <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <statement name="DO0">
                                                                                                            <block type="math_change" id="3|8R$DnBotsy]k-7W1{p">
                                                                                                              <field name="VAR" id="IoPINO{]qIk%XgKYvn)R">monate</field>
                                                                                                              <value name="DELTA">
                                                                                                                <shadow type="math_number" id="):)7+)-LYxa%Lh=xt^6y">
                                                                                                                  <field name="NUM">1</field>
                                                                                                                </shadow>
                                                                                                              </value>
                                                                                                              <next>
                                                                                                                <block type="variables_set" id="U:-dW@rS%g=s1U]wg^9E">
                                                                                                                  <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                                                                                  <value name="VALUE">
                                                                                                                    <block type="math_number" id="Sx?,ok98RQh![.ZBlT4W">
                                                                                                                      <field name="NUM">0</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </next>
                                                                                                            </block>
                                                                                                          </statement>
                                                                                                          <next>
                                                                                                            <block type="controls_if" id="wRdAa}H0CUphTuG0mFyU">
                                                                                                              <value name="IF0">
                                                                                                                <block type="logic_compare" id="@b}/p5|ein5nyu)Y/}^.">
                                                                                                                  <field name="OP">EQ</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="variables_get" id="];pzykj8*abE=7)TJC}K">
                                                                                                                      <field name="VAR" id="IoPINO{]qIk%XgKYvn)R">monate</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="math_number" id="a8YZ:ZZwCs%VD_)}cP55">
                                                                                                                      <field name="NUM">12</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <statement name="DO0">
                                                                                                                <block type="math_change" id="Fas=M6X2.NR37]g7P?er">
                                                                                                                  <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                                                                  <value name="DELTA">
                                                                                                                    <shadow type="math_number" id="tmC0?tz)3*.au[,U:]iJ">
                                                                                                                      <field name="NUM">1</field>
                                                                                                                    </shadow>
                                                                                                                  </value>
                                                                                                                  <next>
                                                                                                                    <block type="variables_set" id="r=wy+S_wbu{4v|R%.LKB">
                                                                                                                      <field name="VAR" id="IoPINO{]qIk%XgKYvn)R">monate</field>
                                                                                                                      <value name="VALUE">
                                                                                                                        <block type="math_number" id="Jz%DphoC4pivKim*.Zr8">
                                                                                                                          <field name="NUM">0</field>
                                                                                                                        </block>
                                                                                                                      </value>
                                                                                                                      <next>
                                                                                                                        <block type="variables_set" id="Ci6T+R{X;Z2?4NQ#uUcN">
                                                                                                                          <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="math_number" id="Qu|S{P-EG85YPZpTgM}Q">
                                                                                                                              <field name="NUM">0</field>
                                                                                                                            </block>
                                                                                                                          </value>
                                                                                                                        </block>
                                                                                                                      </next>
                                                                                                                    </block>
                                                                                                                  </next>
                                                                                                                </block>
                                                                                                              </statement>
                                                                                                            </block>
                                                                                                          </next>
                                                                                                        </block>
                                                                                                      </next>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </statement>
                                                                                          <next>
                                                                                            <block type="comment" id="45S$%ITY,V5rIq5(2@P-">
                                                                                              <field name="COMMENT">Ausgabe</field>
                                                                                              <next>
                                                                                                <block type="debug" id="ax1|9SCoe7[wAhsABu@X">
                                                                                                  <field name="Severity">log</field>
                                                                                                  <value name="TEXT">
                                                                                                    <shadow type="text">
                                                                                                      <field name="TEXT">test</field>
                                                                                                    </shadow>
                                                                                                    <block type="text_join" id="8d-CvB,N8WFWW(z,(#4q" inline="true">
                                                                                                      <mutation items="3"></mutation>
                                                                                                      <value name="ADD0">
                                                                                                        <block type="convert_from_date" id="9sEmp?c:C$T*Czdb-5T)">
                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                          <field name="OPTION">DD.MM.YYYY</field>
                                                                                                          <value name="VALUE">
                                                                                                            <block type="variables_get" id="JpkRbQrHlVWRA{Kk%mF:">
                                                                                                              <field name="VAR" id="@bu3RD+iB=]PdKAxZ?wn">startdatum</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <value name="ADD1">
                                                                                                        <block type="text" id="S%-(Q/6(QRJ|[/R7|5l(">
                                                                                                          <field name="TEXT"> -&gt; </field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <value name="ADD2">
                                                                                                        <block type="convert_from_date" id="o$MkD:e7~=%}zJWB@xXz">
                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                          <field name="OPTION">DD.MM.YYYY</field>
                                                                                                          <value name="VALUE">
                                                                                                            <block type="variables_get" id="(j3S`L#Sl8HO/44!w[Q{">
                                                                                                              <field name="VAR" id="k!jWl+=eJy!gO#:Eh-*S">enddatum</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="debug" id="16Rh9a8-h=yjg#%yKQ,?">
                                                                                                      <field name="Severity">log</field>
                                                                                                      <value name="TEXT">
                                                                                                        <shadow type="text">
                                                                                                          <field name="TEXT">test</field>
                                                                                                        </shadow>
                                                                                                        <block type="text_join" id="Fa`Xb)h1G7?Iob#;:gT!" inline="true">
                                                                                                          <mutation items="6"></mutation>
                                                                                                          <value name="ADD0">
                                                                                                            <block type="variables_get" id="~oMWQ;:#r9CP!f,k4JM{">
                                                                                                              <field name="VAR" id="EVPb:UkCB@Z0Qd644};@">jahre</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD1">
                                                                                                            <block type="text" id="{`iVE{zUQ69/K^@UanWw">
                                                                                                              <field name="TEXT"> Jahre </field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD2">
                                                                                                            <block type="variables_get" id="~23T5P6e}z)gy|-pU#P3">
                                                                                                              <field name="VAR" id="IoPINO{]qIk%XgKYvn)R">monate</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD3">
                                                                                                            <block type="text" id="yDdMVR*5vREZ~i:J:xFF">
                                                                                                              <field name="TEXT"> Monate </field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD4">
                                                                                                            <block type="variables_get" id="/:pUzk*PpgojI{7XftSM">
                                                                                                              <field name="VAR" id="ooZPRbdvyzkIQ.$#xv#,">tage</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD5">
                                                                                                            <block type="text" id="P~KD@M{kZ9Dt%HkCEI}e">
                                                                                                              <field name="TEXT"> Tage </field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </xml>
                              
                              David G. 1 Reply Last reply Reply Quote 0
                              • David G.
                                David G. @sten-tor last edited by David G.

                                @sten-tor

                                Ich sage mal, es wird.
                                Sind noch an der Ursachenforschung.....

                                Das sieht auch sehr interessant aus.
                                Verstehe es sogar teilweise 🤣

                                Werde ich mal importieren und testen.
                                Kann ja die Ergebnisse mal mit den Testdaten von oben vergleichen.

                                Vielen Dank

                                EDIT

                                Hab es grad mal importiert und in eine Funktion gepackt. So kann man mehrere Personen abarbeiten ^^.
                                Klappt sehr gut.

                                Top.
                                (Telegram wird noch duch einen Datenpunkt ersetzt, grad zum testen.)

                                Screenshot_20220127-203200_Firefox.jpg

                                1 Reply Last reply Reply Quote 0
                                • David G.
                                  David G. last edited by David G.

                                  Hallo,

                                  melde mich nochmal zu dem Script.
                                  Leider scheint es doch nicht ganz zu klappen.

                                  Mein Sohn wird am 6.8.22 4 Jahre alt.
                                  Im Skript hab ich demnach den 6.8.18 als Geburtstag angegeben.

                                  Jedoch kommt heute (am 28.7.22) als alter 4 Jahre 0 Monate und 22 Tage raus.

                                  Hat jemand eine Idee woran das liegt?

                                  EDIT
                                  Hab grad gesehen, dass er bei meinem Geburtstag am 19.9 auch einen Monat zu weit ist (Tage habe ich nicht nachgerechnet)

                                  sten-tor 1 Reply Last reply Reply Quote 0
                                  • rtwl
                                    rtwl last edited by

                                    könnte man nicht einfach 3 Datenpunkte anlegen. Jahre, Monate und Tage.
                                    Angenommen der Geburtstag ist am 6. Jänner

                                    Man rechnet jeden 6. Jänner beim Jahr +1
                                    Jeden 6. des Monats das Monat +1
                                    Jeden Tag den den Tag +1
                                    sowie setzt jeden 6. des Monats den Tag auf 0 zurück
                                    und jeden 6. Jänner das Monat auf 0 zurück.

                                    Ich hab das mit Tasker auf meinem Smartphone genau so gemacht und funktioniert seit 2 Jahren perfekt. Wird sicher mit Blockly auch irgendwie gehen.

                                    David G. 1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. @rtwl last edited by

                                      @rtwl

                                      Das wäre eine Möglichkeit.
                                      Wüsste ich aber nicht, wie ich das mache.....

                                      Mit moments in JS wäre denke wirklich das leichteste.

                                      Bekomme es in Blockly aber nicht als JS Baustein mit Ergebnis umgesetzt.

                                      rtwl mickym 2 Replies Last reply Reply Quote 0
                                      • rtwl
                                        rtwl @David G. last edited by

                                        @david-g
                                        ich weiß es leider auch nicht, aber einen trigger zu finden der prüft ob der heutige Tag der 6. ist bzw ob der heutige Tag der 6. Jänner ist sollte möglich sein.

                                        1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @David G. last edited by mickym

                                          @david-g ich will die Diskussion nicht nochmal aufrollen. Hier ist wie man Moments in Blockly nutzen kann. Derzeit wird halt die Zeitspanne in Tagen ausgerechnet. Musst halt ggf. noch umrechnen bzw. Die Funktion erweitern. Der Link zur moments Bibliothek ist ja ebenfalls in dem Thread erhalten

                                          https://forum.iobroker.net/topic/54527/anzahl-der-tage-nach-datum/3?_=1658984158353

                                          David G. 1 Reply Last reply Reply Quote 0
                                          • David G.
                                            David G. @mickym last edited by

                                            @mickym

                                            Mir geht es nicht um die Diskussion an sich.

                                            Den Code an sich haben wir hier ja schon erarbeitet.
                                            https://codepen.io/oweitman/pen/WNXNdXJ

                                            function getFormat(a,b) {
                                             var years = a.diff(b, 'year');
                                             b.add(years, 'years');
                                             var months = a.diff(b, 'months');
                                             b.add(months, 'months');
                                             var days = a.diff(b, 'days');
                                             return years + ' years ' + months + ' months ' + days + ' days';
                                            }
                                            function xxx() {
                                             var a = moment("2022-03-01");
                                             var b = moment();
                                             $("#x1").html(getFormat(a,b));
                                             
                                             a = moment("2022-02-01");
                                             b = moment();
                                             $("#x2").html(getFormat(a,b));
                                            }
                                            
                                            xxx(); 
                                            
                                            function getFormat(a,b) {
                                             var years = a.diff(b, 'year');
                                             b.add(years, 'years');
                                             var months = a.diff(b, 'months');
                                             b.add(months, 'months');
                                             var days = a.diff(b, 'days');
                                             return years + ' Jahre' + months + ' Monate' + days + ' Tage';
                                            }
                                            
                                            

                                            Bei mir scheitert es an den allgemeinen JS-Fähigkeiten.
                                            Würde es gerne auf nur ein Datum umbauen (Im Code werden 2 Daten berechnet) und als JS Funktion in Blockly Nutzen.
                                            In der Art:
                                            geb.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            830
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            57
                                            3833
                                            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