Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Eingestellt]: Differenz zweier Datums-DP

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Eingestellt]: Differenz zweier Datums-DP

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Guest last edited by

      @HeinrichB sagte in Differenz zweier Datums-DP:

      Es gibt dynamische Typisierungen etc.

      korrekt - aber bei Konkatenation von zwei verschiedenen (Zahl und Text) - was dann?

      Erst einmal:
      Wo kommen die Werte deiner Datenpunkte her?
      in welchem Format?

      ? 1 Reply Last reply Reply Quote 0
      • ?
        A Former User @Homoran last edited by

        @Homoran said in Differenz zweier Datums-DP:

        korrekt - aber bei Konkatenation von zwei verschiedenen (Zahl und Text) - was dann?

        Wie ich schrieb, habe ich eh den Verdacht gehabt, dass der Typ nicht stimmt. Es fehlt einfach in der Anlage der DP das Typ "datetime". Aber auch da keine Kritik an dem Admin, es ist nur eine Feststellung.

        Die Punkte habe ich manuell angelegt, aber ich habe das Gefühl, dass es schon wieder so grundsätzlich wird. Darf ich das überhaupt alles machen, macht es auch Sinn, ...

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

          @HeinrichB
          Alles gut!

          Nur um dir hier speziell korrekt weiterzuhelfen (und in Zukunft die Probleme auszuräumen) brauche ich diese Infos.
          Es gibt eine dynamische Typzuordnung - und da machst du gerade eine Rechnung indem du von einem Text ein Datum abziehst

          Also müssen wir das geradebiegen

          @HeinrichB sagte in Differenz zweier Datums-DP:

          Die Punkte habe ich manuell angelegt

          aber die Werte kommen irgendwo her - und da muss dann der DP richtig für eingestellt sein

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

            @HeinrichB
            In welcher Masseinheit soll die Zeitdifferenz ausgegeben werden ?

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @Homoran last edited by A Former User

              @Homoran

              Ich erkläre mal meine Ansatz, dann verstehst du mein Anliegen. Ich habe einen alten analogen Wasserzähler, dessen Daten ich hin und wieder manuell ablese und in Excel eintrage und dann auch eine Jahresprognose bei gleichbleibenden Verhalten mache. Das will ich in den ioBroker umziehen.
              Also Ausgangswert und Datum ist die letzte Ablesung für die Jahresrechnung. Dazu habe ich zwei Datenpunkte manuell angelegt und die Daten eingetragen. Vebrauchsdifferenz und Zeitdifferenz werden linear auf 365 Tage extrapoliert (und auch hier: ich weiss, es ist eine Abschätzung und im Sommer ist alles anders und ja, die Differentiale aufintegriert wäre das genauere, aber es ist die einfachste machbare numerische Approximation und reicht mir aus; geht nicht an dich @Homoran, aber ich kenne die ganzen anderen Kameraden bei dem Thema zu gut).

              Mit den Basisdaten will ich dann die aktuellen Werte, eingegeben über die VIS, dann zur Prognose heranziehen. D.h. ich habe dazu aktuell die vier DP angelegt:

              • zweimal numerische Werte: Ausgangs- und aktueller Wert
              • zweimal die Daten (pl., Datum) als String (da habe ich ein DateTime gesucht o.ä.)

              Das ich ein typ-mixing hatte, sah ich selbst, nur fand ich nix auf Anhieb, dass mir die Chance habe eine DateTime-DP anzulegen.

              Danke

              Homoran 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @paul53 last edited by

                @paul53 Ist mir egal, da ich es dann auf Tage umrechne.

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

                  @HeinrichB
                  Das mit den Datenpunkten habe ich schon lange verstanden - deine Genauigkeit ist mir piep egal.

                  Ich muss nur wissen wie die WERTE in den Datenpunkt kommen.
                  trägst du die auch manuell ein?

                  Date-Time als Text ist ok, dann wandeln in Datum

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @Homoran last edited by

                    @Homoran said in Differenz zweier Datums-DP:

                    Das mit den Datenpunkten habe ich schon lange verstanden - deine Genauigkeit ist mir piep egal.

                    So mag ich das; soll jeder für sich wissen;-)

                    Ich muss nur wissen wie die WERTE in den Datenpunkt kommen.
                    trägst du die auch manuell ein?

                    Ja, so hatte ich es gemacht: Direkt über die Objekt-Maske.

                    Date-Time als Text ist ok, dann wandeln in Datum

                    Wo ginge das bei Blockly?

                    Danke

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

                      @HeinrichB sagte in Differenz zweier Datums-DP:

                      Ja, so hatte ich es gemacht: Direkt über die Objekt-Maske.

                      Schwere Geburt - Danke
                      Dann bitte die Typen der Datenpunkte anpassen

                      @HeinrichB sagte in Differenz zweier Datums-DP:

                      Wo ginge das bei Blockly?

                      Da bin ich jetzt nicht ganz so fit.
                      Es gibt Konvertierungs-Blöcke, da ist auch ein "Nach Datum/Zeit" bei.

                      Außerdem ein weiterer Schritt "Datum/Zeit nach Datumsobjekt"
                      Ein Datumsobjekt müssten die Millisekunden in Linuxtime sein, ebenso sollten so die Timestamps von ioBroker in diesem Format ankommen.

                      Sehr viele Konjunktiva, da ich mir da nicht sicher bin

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @Homoran last edited by

                        @Homoran Danke für die Hilfe. Ansonsten lasse ich es einfach so, wie es ist. Ich hatte es mir als eine einfache Sache vorgestellt und im Sinne der privaten Systemzusammenführung. Aber dann bleibe ich bei der XLS und danke für Support 🙂

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

                          @HeinrichB sagte in [Eingestellt]: Differenz zweier Datums-DP:

                          Ich hatte es mir als eine einfache Sache vorgestellt

                          Was ist denn jetzt nicht einfach??

                          Nur weil ich, der nicht skripten kann, es nicht weiß?

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @Homoran last edited by

                            @Homoran Nein, es ist zuviel Aufwand für euch alle.

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

                              @HeinrichB sagte:

                              es ist zuviel Aufwand für euch alle.

                              Ist es nicht. Ein Datum im Format dd.mm.yyyy muss umgewandelt werden in ein Format yyyy-mm-dd, damit es konvertiert werden kann.

                              Blockly_temp.JPG

                              <xml xmlns="http://www.w3.org/1999/xhtml">
                               <variables>
                                 <variable type="" id="gL!a815B-lSOIZwGTf5~">datum</variable>
                                 <variable type="" id="xqWuWy*##]f:{aNWj|0k">Zeitdifferenz</variable>
                               </variables>
                               <block type="procedures_defreturn" id="%d.Lx10#X98K{nh@Q)O[" x="37" y="-63">
                                 <mutation>
                                   <arg name="datum" varid="gL!a815B-lSOIZwGTf5~"></arg>
                                 </mutation>
                                 <field name="NAME">Datum2ms</field>
                                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 <statement name="STACK">
                                   <block type="variables_set" id="~lU1i?q89DoJ~.!0EHHo">
                                     <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                     <value name="VALUE">
                                       <block type="lists_split" id="l=mI77^xeS.P4d.01q5E">
                                         <mutation mode="SPLIT"></mutation>
                                         <field name="MODE">SPLIT</field>
                                         <value name="INPUT">
                                           <block type="variables_get" id="tCRDDd:RR2gWxEU`iqzf">
                                             <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                           </block>
                                         </value>
                                         <value name="DELIM">
                                           <shadow type="text" id="J+MV42tSJPSrcI%(MAg*">
                                             <field name="TEXT">.</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="y3eG5o.L|g,4ef6*2X53">
                                         <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="z8fwV+}GIQwpb^}-RI}g">
                                             <mutation items="5"></mutation>
                                             <value name="ADD0">
                                               <block type="lists_getIndex" id="WP[JReg?+~+LPQxG_@M2">
                                                 <mutation statement="false" at="true"></mutation>
                                                 <field name="MODE">GET</field>
                                                 <field name="WHERE">FROM_START</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="%,-[6x8o4aRE|PZ,nR5E">
                                                     <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT">
                                                   <block type="math_number" id="(dI9@FOg_C|)E%F/AorD">
                                                     <field name="NUM">3</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text" id="OY2Yua:$AY,t+]Lc)Z8I">
                                                 <field name="TEXT">-</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="lists_getIndex" id="5NSC@1{C#cYT/aUW3:+~">
                                                 <mutation statement="false" at="true"></mutation>
                                                 <field name="MODE">GET</field>
                                                 <field name="WHERE">FROM_START</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="+tLaz)}KqVWarSb?(q%G">
                                                     <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT">
                                                   <block type="math_number" id="KK@|_2Nm|j=9@_)wI8hu">
                                                     <field name="NUM">2</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text" id="ke/6GufbVzq;c43`TDL?">
                                                 <field name="TEXT">-</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="lists_getIndex" id="XNlpu$^GR/+Nq.??5wwg">
                                                 <mutation statement="false" at="true"></mutation>
                                                 <field name="MODE">GET</field>
                                                 <field name="WHERE">FROM_START</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="fpE*2H2(A1g8yDUQKhT-">
                                                     <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT">
                                                   <block type="math_number" id="hA:?b!N9Y_:no1oVnzyS">
                                                     <field name="NUM">1</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                                 <value name="RETURN">
                                   <block type="convert_from_date" id="Oe(q.AD)hV0*J`ve*^CN">
                                     <mutation format="false" language="false"></mutation>
                                     <field name="OPTION">object</field>
                                     <value name="VALUE">
                                       <block type="variables_get" id="gHmH!qA*/]SkJuqD=@+p">
                                         <field name="VAR" id="gL!a815B-lSOIZwGTf5~" variabletype="">datum</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                               <block type="on_ext" id="iaBLIinyq,K=hAV*;k%f" x="38" y="213">
                                 <mutation items="1"></mutation>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <value name="OID0">
                                   <shadow type="field_oid" id="j%v-elP`*f5]tkjlxrns">
                                     <field name="oid">default</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="variables_set" id="/:)C.{I!fB3z%X]%Au_i">
                                     <field name="VAR" id="xqWuWy*##]f:{aNWj|0k" variabletype="">Zeitdifferenz</field>
                                     <value name="VALUE">
                                       <block type="math_arithmetic" id="zP-LvQ]qfHYht=H]25NV" inline="false">
                                         <field name="OP">MINUS</field>
                                         <value name="A">
                                           <shadow type="math_number" id="F;)q:+Z=_$vKj3$iTWR;">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="time_get" id="u`R9-cfB:qz*3R;Dq~ap">
                                             <mutation format="false" language="false"></mutation>
                                             <field name="OPTION">object</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="PAg*1M%tyNbF{(pbsWnk">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="procedures_callreturn" id="WzsL$_xM;SvdzA[4CUmT">
                                             <mutation name="Datum2ms">
                                               <arg name="datum"></arg>
                                             </mutation>
                                             <value name="ARG0">
                                               <block type="get_value" id=")[1PLS3Xo%yTAOjAh[`v">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">ID auswählen</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id=")^y++_%S/^fIU8tKL|Ka">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">Object ID</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_round" id="tP}@DK.iPY`z#|!la5rV">
                                             <field name="OP">ROUNDDOWN</field>
                                             <value name="NUM">
                                               <shadow type="math_number" id="XQ|R*FY}-kcXscPZ8p{[">
                                                 <field name="NUM">3.1</field>
                                               </shadow>
                                               <block type="math_arithmetic" id="!GFLijUhd-E/uImbe)-D">
                                                 <field name="OP">DIVIDE</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id="}!W0Si}sMIz5.hpDj_t@">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="variables_get" id="lp-`qW:xvX$AH`;H:6:m">
                                                     <field name="VAR" id="xqWuWy*##]f:{aNWj|0k" variabletype="">Zeitdifferenz</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="k(b?|li^/=,~a5i4n{q_">
                                                     <field name="NUM">86400000</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="9JinxiH`x_B}.Iai]|lf">
                                             <mutation delay_input="false"></mutation>
                                             <field name="OID">Object ID</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="time_get" id="7ZI{o,-RCI9cjUQhktx~">
                                                 <mutation format="false" language="false"></mutation>
                                                 <field name="OPTION">DD.MM.YYYY</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                              </xml>
                              

                              ? 2 Replies Last reply Reply Quote 0
                              • ?
                                A Former User @paul53 last edited by

                                @paul53 Danke; ich probiere mich mal dran 🙂

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @paul53 last edited by

                                  @paul53 said in [Eingestellt]: Differenz zweier Datums-DP:

                                  Ein Datum im Format dd.mm.yyyy muss umgewandelt werden in ein Format yyyy-mm-dd

                                  Das war der Knackpunkt. Vielen Dank dafür. ich habe Deine Skripts lesen können und damit mein Skript aufgebaut. Nicht so generisch wie das Deinige aber es tut es 🙂

                                  Danke

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  756
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  24
                                  1042
                                  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