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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Anzahl der Tage nach Datum

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Anzahl der Tage nach Datum

Geplant Angeheftet Gesperrt Verschoben Blockly
48 Beiträge 8 Kommentatoren 5.5k Aufrufe 10 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    Sorry - für die Verwirrung -

    @metaxa Somit kannst Du Deinen Datenpunkt als String direkt der duration Bibliothek übergeben, da dann das Datum aus einem String gebildet wird:

    0be459bb-1dc7-4d4f-a721-b699b0c396f4-image.png

    Also sorry nochmal. Aber so ist es ja auch noch einfacher und spart sich die Umrechnerei halt komplett. Man muss halt nur darauf achten, dass der String das Format YYYY/MM/DD hat. Ich lerne auch jeden Tag dazu. ;)

    metaxaM Offline
    metaxaM Offline
    metaxa
    schrieb am zuletzt editiert von
    #37

    @mickym & @TT-Tom

    Vorneweg, herzlichsten Dank für den Crashkurs in JS :dizzy_face: , einfach super wie die dieses Forum funktioniert. Kaum geht man kurz essen, liegt die Lösung & ERKLÄRUNG schon am Nachtisch :-)

    Hier meine finale Umsetzung
    0b6ecb5d-9d65-44c3-8707-04f60fdc804f-image.png

    Lieben Dank aus Wien
    mxa

    1 Antwort Letzte Antwort
    1
    • mickymM mickym

      @tt-tom Nein es ist nicht falsch beschrieben. Das Date-Objekt wurde dort halt ebenfalls mit 3 Zahlenargumenten konstruiert. Die Duration Bibliothek vergleicht ja nur 2 Date-Objekte. Wie die Date-Objekte erstellt werden, sind Javascriptmethoden und haben mit der Duration Bibliothek überhaupt nichts zu tun. In dieser von mir verlinkten Seite siehst Du ja mit welch verschiedenen Methoden man ein Date-Objekt erstellen kann.

      Somit ist klar, dass zum Beispiel das heutige Datum mit einem Date-Objekt wie folgt generiert werden kann:

      new Date()
      new Date(year, month, day, hours, minutes, seconds, milliseconds)
      new Date(milliseconds)
      new Date(date string)
      

      also entspricht eben (mal Uhrzeit ignorierend)

      var datum = [];
      
      datum[0] = new Date();
      datum[1] = new Date(2022,6,17);
      datum[2] = new Date("2022,7,17");
      
      return datum;
      

      ergibt dann:

      ['2022-07-17T13:35:04.179Z','2022-07-16T22:00:00.000Z','2022-07-16T22:00:00.000Z']
      

      Man sieht dann allerdings, dass sich ohne Zeitangaben immer UTC Zeiten ergeben, also GMT +0. Das ist halt immer der Bezugspunkt. Für die Duration ist das aber egal, weil ja dann auch Start- und Endzeiten immer UTC Zeiten, als Basis dienen. Bei Zeitdifferenzen ist das auch egal, da man ja nicht mit absoluten sondern nur relative Zeiträume hat.

      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von
      #38

      @mickym

      Ja das ist soweit alles klar. Aber wie du auch schon hingewiesen hast

      Folglich gibt dies hier:

      var Duration = require("duration");
      var duration = new Duration(new Date(2022,6,1),new Date(2022,7,1));
      return duration.days;
      

      31 Tage und nicht 30, weil es sich hier nicht um den JUNI, sondern um den JULI handelt.

      Wenn ich die Bibliothek nutze muss ich wissen, das Date den Monat mit 0 beginnt. da hätte ich mir einen Hinweis gewünscht, darum dachte ich es ist falsch beschrieben.

      Gruß Tom

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      metaxaM 1 Antwort Letzte Antwort
      1
      • T TT-Tom

        @mickym

        Ja das ist soweit alles klar. Aber wie du auch schon hingewiesen hast

        Folglich gibt dies hier:

        var Duration = require("duration");
        var duration = new Duration(new Date(2022,6,1),new Date(2022,7,1));
        return duration.days;
        

        31 Tage und nicht 30, weil es sich hier nicht um den JUNI, sondern um den JULI handelt.

        Wenn ich die Bibliothek nutze muss ich wissen, das Date den Monat mit 0 beginnt. da hätte ich mir einen Hinweis gewünscht, darum dachte ich es ist falsch beschrieben.

        Gruß Tom

        metaxaM Offline
        metaxaM Offline
        metaxa
        schrieb am zuletzt editiert von
        #39

        @mickym & @tt-tom

        Ich darf vielleicht kurz erklären was ich bezwecke. "RoI" ich möchte einfach den jeweils aktuellen Zeitpunkt errechnen, ab dem sich meine PV-Investition gerechnet hat. Ja klar, ohne Zinsen & Zinseszinsen & Inflation, einfach als Richtwert.

        Mein nächstes Hindernis wird bei der PoI Datumsberechnung die Addition von x Tagen zum heutigen Datum sein. Geht das auch mit dieser Bibliothek? Ich fürchte nicht.

        T 1 Antwort Letzte Antwort
        0
        • metaxaM metaxa

          @mickym & @tt-tom

          Ich darf vielleicht kurz erklären was ich bezwecke. "RoI" ich möchte einfach den jeweils aktuellen Zeitpunkt errechnen, ab dem sich meine PV-Investition gerechnet hat. Ja klar, ohne Zinsen & Zinseszinsen & Inflation, einfach als Richtwert.

          Mein nächstes Hindernis wird bei der PoI Datumsberechnung die Addition von x Tagen zum heutigen Datum sein. Geht das auch mit dieser Bibliothek? Ich fürchte nicht.

          T Offline
          T Offline
          TT-Tom
          schrieb am zuletzt editiert von
          #40

          @metaxa hier wurde das schon mal behandelt

          Link Text

          Gruß Tom
          https://github.com/tt-tom17
          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

          NSPanel Script Wiki
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          NSPanel Adapter Wiki
          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

          metaxaM 1 Antwort Letzte Antwort
          1
          • T TT-Tom

            @metaxa hier wurde das schon mal behandelt

            Link Text

            metaxaM Offline
            metaxaM Offline
            metaxa
            schrieb am zuletzt editiert von
            #41

            @tt-tom Danke!
            Die manuelle Form habe ich schon gefunden und testweise umgesetzt. Hoffte jetzt, dass es mit einer "gschmeidigen" JS Bibliothek oder Function geht.

            mickymM 1 Antwort Letzte Antwort
            0
            • metaxaM metaxa

              @tt-tom Danke!
              Die manuelle Form habe ich schon gefunden und testweise umgesetzt. Hoffte jetzt, dass es mit einer "gschmeidigen" JS Bibliothek oder Function geht.

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #42

              @metaxa ja die gibt es. Musst nur die moment Library nutzen. Hier mal die komplette Dokumentation:
              https://momentjs.com/docs/#/manipulating/

              Wenn Du moment nutzt, dann kannst auf duratlion verzichten, da du Differenz 2er moments berechnen lassen kannst.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              metaxaM 1 Antwort Letzte Antwort
              1
              • mickymM mickym

                @metaxa ja die gibt es. Musst nur die moment Library nutzen. Hier mal die komplette Dokumentation:
                https://momentjs.com/docs/#/manipulating/

                Wenn Du moment nutzt, dann kannst auf duratlion verzichten, da du Differenz 2er moments berechnen lassen kannst.

                metaxaM Offline
                metaxaM Offline
                metaxa
                schrieb am zuletzt editiert von
                #43

                @mickym sagte in Anzahl der Tage nach Datum:

                Hier mal die komplette Dokumentation

                Du hast dich nicht zufällig vertippt und meinst "komplexe" Dokumentation? Ganz lieben Dank, ich werde mich einlesen und ggf. erlauben hier nachzufragen.

                mickymM 1 Antwort Letzte Antwort
                0
                • metaxaM metaxa

                  @mickym sagte in Anzahl der Tage nach Datum:

                  Hier mal die komplette Dokumentation

                  Du hast dich nicht zufällig vertippt und meinst "komplexe" Dokumentation? Ganz lieben Dank, ich werde mich einlesen und ggf. erlauben hier nachzufragen.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #44

                  @metaxa Also ich bin bekannterweise kein Blockly Fan (auch wenn es manchen schon nervt das zu hören) - aber die moment Bibliothek ist sehr mächtig - (da brauchst dann auch die duration Bibliothek nur noch in Sonderfällen). Ich arbeite ja mit NodeRed und da ist die Bibliothek Bestandteil der JSONATA Syntax. Falls Du die Möglichkeit in der Praxis mit NodeRed sehen möchtest auch im Vergleich zu Blockly - siehst Du hier: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

                  So nun aber mal kurz ein paar Beispiele wie Du die moments Bibliothek ohne durations, aber mit der moment Bibliothek nutzen kannst. Ein Vorteil ist, dass Du Datum auch als deutsches Stringformat eingeben kannst.

                  Hier mal die Berechnung von Zeitdifferenzen in Tagen:

                  Einmal ohne Angabe eines Enddatums (dann heute):

                  7bbbee6f-7cf8-4c40-a04b-df7be96bb41a-image.png

                  Mit Moment schaut die Funktion dann so aus:

                  var moment = require( "moment");
                  
                  var anfang = new moment(Anfang,"DD.MM.YYYY");
                  var ende = Ende ? moment(Ende,"DD.MM.YYYY") : new moment();
                  
                  return ende.diff(anfang,'days');
                  
                  

                  Nun zum Addieren von Tagen mit der Moments Bibliothek - ich zeige hier nur wie Du die Doku dann für Blockly umsetzen kannst. ;)

                  c358baf0-ab34-45f0-a767-59a4e5d13d33-image.png

                  Gibt man kein Datum mit, werden Anzahl Tage (hier 5) zum heutigen Datum dazugezählt: Also 5 Tage zu heute (17.7.2022) ist der 22.7.2022.

                  Achte bitte darauf dass ich bei der Eingabe der Datumsformate das Monatsdatum immer 2-stellig definiert habe.

                  Wenn man ein spezielles Datum definiert dann zum Besipiel 5 Tage zum 30.7.2022 ergibt den 4.8.2022-

                  var moment = require( "moment");
                  
                  var datum = Datum ? new moment(Datum,"DD.MM.YYYY") : new moment();
                  datum = datum.add(Tage,'days');
                  
                  return datum.format('DD.MM.YYYY');
                  

                  Also mit der Bibliothek ziemlich easy.

                  Und nun solltest Du mit der Dokumentation klar kommen.

                  Hier mal das gesamte Blockly zum Import:

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id=")_WmmKyNEo=;|R/~e$hK">Anfang</variable>
                     <variable id="}5CPYSJ=hwX%JYD`VX#_">Ende</variable>
                     <variable id="GJ2X+W~B7(ELIzd~F=o0">Datum</variable>
                     <variable id="7,6IdwYUIp%d:m5OOj~;">Tage</variable>
                   </variables>
                   <block type="procedures_defcustomreturn" id="y)4fJSiHkYC};llO^|]/" x="-1638" y="-312">
                     <mutation statements="false">
                       <arg name="Anfang" varid=")_WmmKyNEo=;|R/~e$hK"></arg>
                       <arg name="Ende" varid="}5CPYSJ=hwX%JYD`VX#_"></arg>
                     </mutation>
                     <field name="NAME">Moment_Differenz</field>
                     <field name="SCRIPT">dmFyIG1vbWVudCA9IHJlcXVpcmUoICJtb21lbnQiKTsKCnZhciBhbmZhbmcgPSBuZXcgbW9tZW50KEFuZmFuZywiREQuTU0uWVlZWSIpOwp2YXIgZW5kZSA9IEVuZGUgPyBtb21lbnQoRW5kZSwiREQuTU0uWVlZWSIpIDogbmV3IG1vbWVudCgpOwoKcmV0dXJuIGVuZGUuZGlmZihhbmZhbmcsJ2RheXMnKTsK</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                   </block>
                   <block type="procedures_defcustomreturn" id="2?TcSF@Q3.XiF+w^x56d" x="-1638" y="-263">
                     <mutation statements="false">
                       <arg name="Datum" varid="GJ2X+W~B7(ELIzd~F=o0"></arg>
                       <arg name="Tage" varid="7,6IdwYUIp%d:m5OOj~;"></arg>
                     </mutation>
                     <field name="NAME">Moment_AddiereTage</field>
                     <field name="SCRIPT">dmFyIG1vbWVudCA9IHJlcXVpcmUoICJtb21lbnQiKTsKCnZhciBkYXR1bSA9IERhdHVtID8gbmV3IG1vbWVudChEYXR1bSwiREQuTU0uWVlZWSIpIDogbmV3IG1vbWVudCgpOwpkYXR1bSA9IGRhdHVtLmFkZChUYWdlLCdkYXlzJyk7CgpyZXR1cm4gZGF0dW0uZm9ybWF0KCdERC5NTS5ZWVlZJyk7</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                   </block>
                   <block type="debug" id="hBxQi:-}r-!f4`-k6Mx1" x="-1637" y="-188">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="~`tNWpp2ZX(41v=jX9rk">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="procedures_callcustomreturn" id="gXBc5Mpo557/;-XL:})[">
                         <mutation name="Moment_Differenz">
                           <arg name="Anfang"></arg>
                           <arg name="Ende"></arg>
                         </mutation>
                         <value name="ARG0">
                           <block type="text" id="55*#_?kbQ`bR8QgRg%Bh">
                             <field name="TEXT">12.04.2022</field>
                           </block>
                         </value>
                         <value name="ARG1">
                           <block type="text" id="2N.XgvxjFAVF-haH^j7g">
                             <field name="TEXT">16.07.2022</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id=";4A]%ih-j@_2.Hb]#f@x">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="x*[d7:DM=|PXL#4;dba.">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="procedures_callcustomreturn" id=".LnKe$tneQ?)oULp7(4_">
                             <mutation name="Moment_Differenz">
                               <arg name="Anfang"></arg>
                               <arg name="Ende"></arg>
                             </mutation>
                             <value name="ARG0">
                               <block type="text" id="|y(F{I3+VUxW.m2z(jj[">
                                 <field name="TEXT">12.04.2022</field>
                               </block>
                             </value>
                             <value name="ARG1">
                               <block type="text" id="ovE;8afL.d+r@FAPDKDt">
                                 <field name="TEXT"></field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                   <block type="debug" id="@7:I5KP{7ID{_X.x_6A7" x="-1588" y="187">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="Nb:y;@-.`)6G}1nRKOIe">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="procedures_callcustomreturn" id="]50S50fb;0pET(XGL3G#">
                         <mutation name="Moment_AddiereTage">
                           <arg name="Datum"></arg>
                           <arg name="Tage"></arg>
                         </mutation>
                         <value name="ARG0">
                           <block type="text" id="e-SvM0%C3{HkbOJKkeRL">
                             <field name="TEXT"></field>
                           </block>
                         </value>
                         <value name="ARG1">
                           <block type="math_number" id=")tEE[yu9dI[;Hk]hXG|q">
                             <field name="NUM">5</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="e[mHd;#GVDt[SzC-R{ly">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="?*jJi?+uW[Bk)_/PRdq$">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="procedures_callcustomreturn" id="BG$CusF_8)K;V)bIsV5}">
                             <mutation name="Moment_AddiereTage">
                               <arg name="Datum"></arg>
                               <arg name="Tage"></arg>
                             </mutation>
                             <value name="ARG0">
                               <block type="text" id="PNZIB?*3#mK.nnD)%z{N">
                                 <field name="TEXT">30.07.2022</field>
                               </block>
                             </value>
                             <value name="ARG1">
                               <block type="math_number" id="sotH9mM!(Z/B8%.r7A?Y">
                                 <field name="NUM">5</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  metaxaM 1 Antwort Letzte Antwort
                  1
                  • mickymM mickym

                    @metaxa Also ich bin bekannterweise kein Blockly Fan (auch wenn es manchen schon nervt das zu hören) - aber die moment Bibliothek ist sehr mächtig - (da brauchst dann auch die duration Bibliothek nur noch in Sonderfällen). Ich arbeite ja mit NodeRed und da ist die Bibliothek Bestandteil der JSONATA Syntax. Falls Du die Möglichkeit in der Praxis mit NodeRed sehen möchtest auch im Vergleich zu Blockly - siehst Du hier: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

                    So nun aber mal kurz ein paar Beispiele wie Du die moments Bibliothek ohne durations, aber mit der moment Bibliothek nutzen kannst. Ein Vorteil ist, dass Du Datum auch als deutsches Stringformat eingeben kannst.

                    Hier mal die Berechnung von Zeitdifferenzen in Tagen:

                    Einmal ohne Angabe eines Enddatums (dann heute):

                    7bbbee6f-7cf8-4c40-a04b-df7be96bb41a-image.png

                    Mit Moment schaut die Funktion dann so aus:

                    var moment = require( "moment");
                    
                    var anfang = new moment(Anfang,"DD.MM.YYYY");
                    var ende = Ende ? moment(Ende,"DD.MM.YYYY") : new moment();
                    
                    return ende.diff(anfang,'days');
                    
                    

                    Nun zum Addieren von Tagen mit der Moments Bibliothek - ich zeige hier nur wie Du die Doku dann für Blockly umsetzen kannst. ;)

                    c358baf0-ab34-45f0-a767-59a4e5d13d33-image.png

                    Gibt man kein Datum mit, werden Anzahl Tage (hier 5) zum heutigen Datum dazugezählt: Also 5 Tage zu heute (17.7.2022) ist der 22.7.2022.

                    Achte bitte darauf dass ich bei der Eingabe der Datumsformate das Monatsdatum immer 2-stellig definiert habe.

                    Wenn man ein spezielles Datum definiert dann zum Besipiel 5 Tage zum 30.7.2022 ergibt den 4.8.2022-

                    var moment = require( "moment");
                    
                    var datum = Datum ? new moment(Datum,"DD.MM.YYYY") : new moment();
                    datum = datum.add(Tage,'days');
                    
                    return datum.format('DD.MM.YYYY');
                    

                    Also mit der Bibliothek ziemlich easy.

                    Und nun solltest Du mit der Dokumentation klar kommen.

                    Hier mal das gesamte Blockly zum Import:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id=")_WmmKyNEo=;|R/~e$hK">Anfang</variable>
                       <variable id="}5CPYSJ=hwX%JYD`VX#_">Ende</variable>
                       <variable id="GJ2X+W~B7(ELIzd~F=o0">Datum</variable>
                       <variable id="7,6IdwYUIp%d:m5OOj~;">Tage</variable>
                     </variables>
                     <block type="procedures_defcustomreturn" id="y)4fJSiHkYC};llO^|]/" x="-1638" y="-312">
                       <mutation statements="false">
                         <arg name="Anfang" varid=")_WmmKyNEo=;|R/~e$hK"></arg>
                         <arg name="Ende" varid="}5CPYSJ=hwX%JYD`VX#_"></arg>
                       </mutation>
                       <field name="NAME">Moment_Differenz</field>
                       <field name="SCRIPT">dmFyIG1vbWVudCA9IHJlcXVpcmUoICJtb21lbnQiKTsKCnZhciBhbmZhbmcgPSBuZXcgbW9tZW50KEFuZmFuZywiREQuTU0uWVlZWSIpOwp2YXIgZW5kZSA9IEVuZGUgPyBtb21lbnQoRW5kZSwiREQuTU0uWVlZWSIpIDogbmV3IG1vbWVudCgpOwoKcmV0dXJuIGVuZGUuZGlmZihhbmZhbmcsJ2RheXMnKTsK</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                     </block>
                     <block type="procedures_defcustomreturn" id="2?TcSF@Q3.XiF+w^x56d" x="-1638" y="-263">
                       <mutation statements="false">
                         <arg name="Datum" varid="GJ2X+W~B7(ELIzd~F=o0"></arg>
                         <arg name="Tage" varid="7,6IdwYUIp%d:m5OOj~;"></arg>
                       </mutation>
                       <field name="NAME">Moment_AddiereTage</field>
                       <field name="SCRIPT">dmFyIG1vbWVudCA9IHJlcXVpcmUoICJtb21lbnQiKTsKCnZhciBkYXR1bSA9IERhdHVtID8gbmV3IG1vbWVudChEYXR1bSwiREQuTU0uWVlZWSIpIDogbmV3IG1vbWVudCgpOwpkYXR1bSA9IGRhdHVtLmFkZChUYWdlLCdkYXlzJyk7CgpyZXR1cm4gZGF0dW0uZm9ybWF0KCdERC5NTS5ZWVlZJyk7</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                     </block>
                     <block type="debug" id="hBxQi:-}r-!f4`-k6Mx1" x="-1637" y="-188">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="~`tNWpp2ZX(41v=jX9rk">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="procedures_callcustomreturn" id="gXBc5Mpo557/;-XL:})[">
                           <mutation name="Moment_Differenz">
                             <arg name="Anfang"></arg>
                             <arg name="Ende"></arg>
                           </mutation>
                           <value name="ARG0">
                             <block type="text" id="55*#_?kbQ`bR8QgRg%Bh">
                               <field name="TEXT">12.04.2022</field>
                             </block>
                           </value>
                           <value name="ARG1">
                             <block type="text" id="2N.XgvxjFAVF-haH^j7g">
                               <field name="TEXT">16.07.2022</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id=";4A]%ih-j@_2.Hb]#f@x">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="x*[d7:DM=|PXL#4;dba.">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="procedures_callcustomreturn" id=".LnKe$tneQ?)oULp7(4_">
                               <mutation name="Moment_Differenz">
                                 <arg name="Anfang"></arg>
                                 <arg name="Ende"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="text" id="|y(F{I3+VUxW.m2z(jj[">
                                   <field name="TEXT">12.04.2022</field>
                                 </block>
                               </value>
                               <value name="ARG1">
                                 <block type="text" id="ovE;8afL.d+r@FAPDKDt">
                                   <field name="TEXT"></field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                     <block type="debug" id="@7:I5KP{7ID{_X.x_6A7" x="-1588" y="187">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="Nb:y;@-.`)6G}1nRKOIe">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="procedures_callcustomreturn" id="]50S50fb;0pET(XGL3G#">
                           <mutation name="Moment_AddiereTage">
                             <arg name="Datum"></arg>
                             <arg name="Tage"></arg>
                           </mutation>
                           <value name="ARG0">
                             <block type="text" id="e-SvM0%C3{HkbOJKkeRL">
                               <field name="TEXT"></field>
                             </block>
                           </value>
                           <value name="ARG1">
                             <block type="math_number" id=")tEE[yu9dI[;Hk]hXG|q">
                               <field name="NUM">5</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="e[mHd;#GVDt[SzC-R{ly">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="?*jJi?+uW[Bk)_/PRdq$">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="procedures_callcustomreturn" id="BG$CusF_8)K;V)bIsV5}">
                               <mutation name="Moment_AddiereTage">
                                 <arg name="Datum"></arg>
                                 <arg name="Tage"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="text" id="PNZIB?*3#mK.nnD)%z{N">
                                   <field name="TEXT">30.07.2022</field>
                                 </block>
                               </value>
                               <value name="ARG1">
                                 <block type="math_number" id="sotH9mM!(Z/B8%.r7A?Y">
                                   <field name="NUM">5</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                    </xml>
                    

                    metaxaM Offline
                    metaxaM Offline
                    metaxa
                    schrieb am zuletzt editiert von
                    #45

                    @mickym sagte in Anzahl der Tage nach Datum:

                    siehst Du hier:

                    Da tut sich ein völlig neue Welt für mich auf, boahhhhh.

                    @mickym sagte in Anzahl der Tage nach Datum:

                    Hier mal das gesamte Blockly zum Import:

                    Bin ich froh, noch 2 Tage Urlaub zu haben.

                    Herzlichsten Dank für die wahnsinnige Detailarbeit!
                    Chapeau!

                    1 Antwort Letzte Antwort
                    0
                    • TheDukeT TheDuke

                      Hallo,
                      ich hätte gerne via Blockly die Anzahl der Tage vom 27.08.2021 bis heute immer aktuell ausgerechnet.

                      Kennt da einer die Lösung ?

                      Ich brauche den Wert um den Tagesstromverbrauch (kw/h) zu errechnen.

                      schöne Grüße
                      TheDuke

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #46

                      @theduke

                      jetzt musste ich mich ein wenig überwinden um blockly mal zu verwenden.
                      aber das müsste jetzt das Ergebnis sein.
                      In den Instanz-Einstellungen des javascript-Adapters muss moment als zusätzliches NPM-Modul notiert sein.

                      <xml xmlns="https://developers.google.com/blockly/xml">
                        <variables>
                          <variable id=":bP4v,PSbl0.wsg$5|xF">Anfang</variable>
                          <variable id="O~|HTHrC}({AIfe;gh+z">Ende</variable>
                        </variables>
                        <block type="procedures_defcustomreturn" id="QTo{nVr@cpYN16Y?.c^]" x="63" y="38">
                          <mutation statements="false">
                            <arg name="Anfang" varid=":bP4v,PSbl0.wsg$5|xF"></arg>
                            <arg name="Ende" varid="O~|HTHrC}({AIfe;gh+z"></arg>
                          </mutation>
                          <field name="NAME">timeDiff</field>
                          <field name="SCRIPT">dmFyIG1vbWVudCA9IHJlcXVpcmUoICJtb21lbnQiKTsNCiANCnZhciBiID0gbmV3IG1vbWVudChBbmZhbmcsIkRELk1NLllZWVkiKTsNCnZhciBhID0gRW5kZSA/IG1vbWVudChFbmRlLCJERC5NTS5ZWVlZIikgOiBuZXcgbW9tZW50KCk7DQoNCnZhciB5ZWFycyA9IGEuZGlmZihiLCAneWVhcicpOw0KYi5hZGQoeWVhcnMsICd5ZWFycycpOw0KDQp2YXIgbW9udGhzID0gYS5kaWZmKGIsICdtb250aHMnKTsNCmIuYWRkKG1vbnRocywgJ21vbnRocycpOw0KDQp2YXIgZGF5cyA9IGEuZGlmZihiLCAnZGF5cycpOw0KDQogcmV0dXJuIHllYXJzICsgJyBKYWhyZSAnICsgbW9udGhzICsgJyBNb25hdGUgJyArIGRheXMgKyAnIFRhZ2UnOw==</field>
                          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                        </block>
                        <block type="debug" id="d.h%S+zk(l*D_T{ZXU);" x="62" y="88">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="aJZ2mf]2,uwAhl@gntmi">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="procedures_callcustomreturn" id="S#.4Uf98En!L.Cn0B.oc">
                              <mutation name="timeDiff">
                                <arg name="Anfang"></arg>
                                <arg name="Ende"></arg>
                              </mutation>
                              <value name="ARG0">
                                <block type="text" id="M]$n,}kSm/CCg%4]TO[z">
                                  <field name="TEXT">01.01.1900</field>
                                </block>
                              </value>
                              <value name="ARG1">
                                <block type="text" id="lLD6w7{pwG[f(h;f8eo$">
                                  <field name="TEXT">28.07.2022</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </xml>
                      

                      f813f2b9-fd58-4fc8-9469-887e5fc14783-image.png

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        srkonus
                        schrieb am zuletzt editiert von
                        #47

                        Bei mir werden die "Tageseit" nicht mehr aktualisiert. Habe vor zwei Tagen ein komplettes Update meiner iobroker Kiste gemacht. Habe jetzt Javascript ist nun Version 6, duration ist aktuell.
                        Hat jemand vielleicht eine Idee, woran das liegen könnte, das log spuckt nichts in der Richtung aus.

                        VG
                        srkonus

                        S 1 Antwort Letzte Antwort
                        0
                        • S srkonus

                          Bei mir werden die "Tageseit" nicht mehr aktualisiert. Habe vor zwei Tagen ein komplettes Update meiner iobroker Kiste gemacht. Habe jetzt Javascript ist nun Version 6, duration ist aktuell.
                          Hat jemand vielleicht eine Idee, woran das liegen könnte, das log spuckt nichts in der Richtung aus.

                          VG
                          srkonus

                          S Offline
                          S Offline
                          srkonus
                          schrieb am zuletzt editiert von
                          #48

                          @srkonus said in Anzahl der Tage nach Datum:

                          Bei mir werden die "Tageseit" nicht mehr aktualisiert. Habe vor zwei Tagen ein komplettes Update meiner iobroker Kiste gemacht. Habe jetzt Javascript ist nun Version 6, duration ist aktuell.
                          Hat jemand vielleicht eine Idee, woran das liegen könnte, das log spuckt nichts in der Richtung aus.

                          VG
                          srkonus

                          Scheint sich erledigt zu haben

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


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          735

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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