Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Betriebstunden ab eines speziellen Datums anzeigen lassen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Betriebstunden ab eines speziellen Datums anzeigen lassen

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

      Hi,
      ich lese jetzt seit einigen Stunden, habe aber leider das passende nicht gefunden oder es nicht recht verstanden.
      Gesehen habe ich schon das Video zur Zeit Umrechnung und auch einige Blocklys gefunden wie man Betriebsstunden auswerten könnte.
      Auch das Widget Timestamp und den Betriebstundenzähler habe ich schon getestet. Ich komme immer wieder beim gleichen Problem aus. Das Datum von dem aus ich die Betriebstunden rechnen möchte liegt in der Vergangenheit !

      Mein eigentliches Anliegen:
      Ich habe am 12.5.23 eine PV installiert und rechne mittels Blocklys was ich insgesamt erspart habe. Nun wollte ich darunter einfach stehen haben wie lange die PV Anlage schon in Betrieb ist, in Jahr Monate Tage.
      Ich finde aber keinen Weg wie das funktioniert. Wäre nett wenn mir jemand auf die Sprünge helfen könnte.

      Euch ein schönes Wochenende !!!

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

        @sourex

        Falls du es in deiner Visualisierung anzeigen möchtest, kannst du ein Binding nehmen.

        Evtl. ist hier was bei.
        https://forum.iobroker.net/topic/30064/zeitdifferenz-in-bindings/2

        Edit
        Sonst wäre das ein Ansatz.
        Bekomme gtad nur keine Formatierung mit Jahren und Monaten hin (außer man rechnet es sich selber mit den ms aus)
        Screenshot_20250315_121245_Firefox.jpg

        Dritter und übertriebener Weg, den Countdown Adapter nehmen. Der berechnet mir das Alter aller Familienmitglieder und gibt es schon formatiert aus.

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @sourex last edited by mickym

          @sourex sagte in Betriebstunden ab eines speziellen Datums anzeigen lassen:

          12.5.23

          Wenn Dir das was hilft - dann schau Dir mal die days Bibliothek an:
          02593e2c-5717-4e87-b7c7-0fd9eaa7fca1-image.png

          Doch ich habs muss den Monat nur voranstellen.

          { '$d': { years: 1, months: 10, days: 4, hours: 9, minutes: 24, seconds: 10, milliseconds: 729 }, '$l': 'en', '$ms': 58195450729 }
          

          Ich bereite es noch als Blockly für Dich auf.

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

            So hier das ganze als Blockly:
            5eadf29a-e33e-44a6-978a-8ee04b86907e-image.png

            Und hier zum Import:

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="^,MdOH?:B`_L}A^ViSEu">Startdatum</variable>
               <variable id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</variable>
             </variables>
             <block type="procedures_defcustomreturn" id="+IZ):E{B1-6*!F:!.zu`" x="88" y="38">
               <mutation statements="false">
                 <arg name="Startdatum" varid="^,MdOH?:B`_L}A^ViSEu"></arg>
               </mutation>
               <field name="NAME">Zeitdifferenz</field>
               <field name="SCRIPT">Y29uc3QgZGF5anMgPSByZXF1aXJlKCdkYXlqcycpOwp2YXIgZHVyYXRpb24gPSByZXF1aXJlKCdkYXlqcy9wbHVnaW4vZHVyYXRpb24nKTsKZGF5anMuZXh0ZW5kKGR1cmF0aW9uKTsKCmNvbnN0IHN0YXJ0ID0gZGF5anMoU3RhcnRkYXR1bSk7CgpyZXR1cm4gZGF5anMuZHVyYXRpb24oZGF5anMoKS5kaWZmKHN0YXJ0KSk7Cgo=</field>
               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
             </block>
             <block type="variables_set" id="C|c)GJvIY0j)#nAJ%qb_" x="87" y="88">
               <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
               <value name="VALUE">
                 <block type="procedures_callcustomreturn" id="of=V6BFa=d1!{M]0mH~n">
                   <mutation name="Zeitdifferenz">
                     <arg name="Startdatum"></arg>
                   </mutation>
                   <value name="ARG0">
                     <block type="text" id="~F#cA(_.99[AA!/}3eNV">
                       <field name="TEXT">2023-05-12</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="%deawa$]5-8gS(YF1H6W">
                   <field name="Severity">info</field>
                   <value name="TEXT">
                     <shadow type="text" id="~H;Lngf*VQ0x;Zu~6P,!">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="yF%)s91KcUp?+;tG/|b$">
                       <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                     </block>
                   </value>
                   <next>
                     <block type="debug" id="66.po2dp#@Qc!+]8d^1Y">
                       <field name="Severity">info</field>
                       <value name="TEXT">
                         <shadow type="text" id=",R8-dS2+Y6.gyaNzOPwo">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="text_join" id="_FZ1pdP+fbEU~$)vFXM%">
                           <mutation items="2"></mutation>
                           <value name="ADD0">
                             <block type="get_attr" id="3lEB1NJP:l|F%/]L`N~h">
                               <value name="PATH">
                                 <shadow type="text" id="6SWQs74!?ll{4,5}=Djd">
                                   <field name="TEXT">$d.years</field>
                                 </shadow>
                               </value>
                               <value name="OBJECT">
                                 <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                   <field name="OID">Object ID</field>
                                 </shadow>
                                 <block type="variables_get" id="N5dm=_h851G3E$kGvn?y">
                                   <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="ADD1">
                             <block type="text" id="A](S`O01[KVTU_-rcu}Q">
                               <field name="TEXT"> Jahr(e)</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="AP$}v8jIs#LaxcU_,`+|">
                           <field name="Severity">info</field>
                           <value name="TEXT">
                             <shadow type="text" id=",R8-dS2+Y6.gyaNzOPwo">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="text_join" id="T}dMchXl~e{FuZKi|8iZ">
                               <mutation items="2"></mutation>
                               <value name="ADD0">
                                 <block type="get_attr" id=";99p]doXO=Ff-4Ke7VVn">
                                   <value name="PATH">
                                     <shadow type="text" id="qY~_lSR5g|kvL9Dj8P@H">
                                       <field name="TEXT">$d.months</field>
                                     </shadow>
                                   </value>
                                   <value name="OBJECT">
                                     <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                       <field name="OID">Object ID</field>
                                     </shadow>
                                     <block type="variables_get" id="z/I`VD;}(f5D)+-vb[CN">
                                       <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="text" id="YFtf)LZWE0bJ8_me{T7h">
                                   <field name="TEXT"> Monat(e)</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="D*qaG?Yd=TH+XK$]|E2K">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id=",R8-dS2+Y6.gyaNzOPwo">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="text_join" id="HylbR:iZNRvd3fu)CNmI">
                                   <mutation items="2"></mutation>
                                   <value name="ADD0">
                                     <block type="get_attr" id="wmA#0]pg0#,P+b;iC~Vl">
                                       <value name="PATH">
                                         <shadow type="text" id="!-5bGIKlnaq]FyRLVGXn">
                                           <field name="TEXT">$d.days</field>
                                         </shadow>
                                       </value>
                                       <value name="OBJECT">
                                         <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                           <field name="OID">Object ID</field>
                                         </shadow>
                                         <block type="variables_get" id="ROQuMX%CoTz?qC(+1Qq8">
                                           <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="text" id="Zq*4NagkrsEjkA#4T?Z!">
                                       <field name="TEXT"> Tag(e)</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Du musst im JS Adapter nur die dayjs Bibliothek importieren:

            2f64016b-3e27-4c43-9207-a97c076379aa-image.png

            mickym 1 Reply Last reply Reply Quote 2
            • mickym
              mickym Most Active @mickym last edited by

              Das Einzige was ich gerade feststelle, ist dass die Duration um 3 Stunden falsch anzeigt bzw. nachgeht:

              ca2ba942-27e5-4db7-9a30-0361905e1fbb-image.png

              Da hab ich momentan keine Erklärung bzw. Lösung ausser halt noch die 3 Stunden in Millisekunden drauf zu rechnen.

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

                @mickym

                ChatGPT meint es liegt an der Zeitzone und empfiehlt diese mitzugeben.

                const date = dayjs().tz("Europe/Berlin"); // Berlin-Zeit (MEZ/MESZ)
                console.log(date.format());
                
                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @David G. last edited by mickym

                  @david-g Hmm das tz geht nicht - das gabs damals noch bei der moments Bibliothek. Ausserdem sollte wenn nicht UTC angegeben wird - immer lokale Zeit angegeben sein. Sieht man ja auch an dem Screenshot - im Moment fällt mir nur ein 3 Stunden zu addieren.

                  Also das einffach hinten in der Funktion anhängen:

                  a5cc1a81-a730-49e8-a6c1-2c231d4aafb2-image.png

                  1 Reply Last reply Reply Quote 0
                  • S
                    sourex last edited by

                    Super !
                    Vielen Dank !!!
                    Ich werde heute Abend mal schauen ob ich davon etwas umgesetzt bekomme !!

                    1 Reply Last reply Reply Quote 0
                    • S
                      sourex last edited by

                      @mickym
                      das funktioniert soweit super ! Vielen Dank.

                      Ich habe mir jetzt ein Datenpunkt angelegt, leider schaffe ich es nicht diesen Wert da rein zu schreiben, da ich als ID nicht den Wert einer Variablen reinschreiben kann. Wäre super wenn du mir das auch noch zeigst.

                      DANKE

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @sourex last edited by mickym

                        @sourex Was meinst Du wie soll denn der Wert des Datenpunktes ausschauen?

                        Meinst Du so:

                        fab117fe-db99-4f04-b129-f0e067f2c4fc-image.png

                        17993dfe-5a44-49d8-9d30-954c389b3a36-image.png

                        4f92b198-6802-4875-8daf-9867e25da9e8-image.png

                        Hier der Export:

                        <xml xmlns="https://developers.google.com/blockly/xml">
                         <variables>
                           <variable id="^,MdOH?:B`_L}A^ViSEu">Startdatum</variable>
                           <variable id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</variable>
                         </variables>
                         <block type="procedures_defcustomreturn" id="+IZ):E{B1-6*!F:!.zu`" x="88" y="38">
                           <mutation statements="false">
                             <arg name="Startdatum" varid="^,MdOH?:B`_L}A^ViSEu"></arg>
                           </mutation>
                           <field name="NAME">Zeitdifferenz</field>
                           <field name="SCRIPT">Y29uc3QgZGF5anMgPSByZXF1aXJlKCdkYXlqcycpOwp2YXIgZHVyYXRpb24gPSByZXF1aXJlKCdkYXlqcy9wbHVnaW4vZHVyYXRpb24nKTsKZGF5anMuZXh0ZW5kKGR1cmF0aW9uKTsKCmNvbnN0IHN0YXJ0ID0gZGF5anMoU3RhcnRkYXR1bSk7CgpyZXR1cm4gZGF5anMuZHVyYXRpb24oZGF5anMoKS5kaWZmKHN0YXJ0KSkuYWRkKDMsJ2hvdXJzJyk7Cgo=</field>
                           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                         </block>
                         <block type="variables_set" id="C|c)GJvIY0j)#nAJ%qb_" x="87" y="88">
                           <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                           <value name="VALUE">
                             <block type="procedures_callcustomreturn" id="of=V6BFa=d1!{M]0mH~n">
                               <mutation name="Zeitdifferenz">
                                 <arg name="Startdatum"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="text" id="~F#cA(_.99[AA!/}3eNV">
                                   <field name="TEXT">2023-05-12</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="%deawa$]5-8gS(YF1H6W" disabled="true">
                               <field name="Severity">info</field>
                               <value name="TEXT">
                                 <shadow type="text" id="~H;Lngf*VQ0x;Zu~6P,!">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="yF%)s91KcUp?+;tG/|b$">
                                   <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="debug" id="66.po2dp#@Qc!+]8d^1Y">
                                   <field name="Severity">info</field>
                                   <value name="TEXT">
                                     <shadow type="text" id=",R8-dS2+Y6.gyaNzOPwo">
                                       <field name="TEXT">test</field>
                                     </shadow>
                                     <block type="text_join" id="_FZ1pdP+fbEU~$)vFXM%">
                                       <mutation items="6"></mutation>
                                       <value name="ADD0">
                                         <block type="get_attr" id="3lEB1NJP:l|F%/]L`N~h">
                                           <value name="PATH">
                                             <shadow type="text" id="6SWQs74!?ll{4,5}=Djd">
                                               <field name="TEXT">$d.years</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                               <field name="OID">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="N5dm=_h851G3E$kGvn?y">
                                               <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="text" id="A](S`O01[KVTU_-rcu}Q">
                                           <field name="TEXT"> Jahr(e) - </field>
                                         </block>
                                       </value>
                                       <value name="ADD2">
                                         <block type="get_attr" id=";99p]doXO=Ff-4Ke7VVn">
                                           <value name="PATH">
                                             <shadow type="text" id="qY~_lSR5g|kvL9Dj8P@H">
                                               <field name="TEXT">$d.months</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                               <field name="OID">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="z/I`VD;}(f5D)+-vb[CN">
                                               <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="ADD3">
                                         <block type="text" id="YFtf)LZWE0bJ8_me{T7h">
                                           <field name="TEXT"> Monat(e)  - </field>
                                         </block>
                                       </value>
                                       <value name="ADD4">
                                         <block type="get_attr" id="wmA#0]pg0#,P+b;iC~Vl">
                                           <value name="PATH">
                                             <shadow type="text" id="!-5bGIKlnaq]FyRLVGXn">
                                               <field name="TEXT">$d.days</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                               <field name="OID">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="ROQuMX%CoTz?qC(+1Qq8">
                                               <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="ADD5">
                                         <block type="text" id="Zq*4NagkrsEjkA#4T?Z!">
                                           <field name="TEXT"> Tag(e)</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="update" id="pD;{jb+JAZ.{X6JQf*%L">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Betriebszeit</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text_join" id="uYOujm`4FD5IY$)o*j:1">
                                           <mutation items="6"></mutation>
                                           <value name="ADD0">
                                             <block type="get_attr" id="Tj5TcuTKVH4fERG.g49r">
                                               <value name="PATH">
                                                 <shadow type="text" id="-CX5zo#:yAqHmt30*0`O">
                                                   <field name="TEXT">$d.years</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                                   <field name="OID">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="mVFc6AlFyU|8yrFMa0Lz">
                                                   <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD1">
                                             <block type="text" id="/4Qe8CREMe!z[%dWLggs">
                                               <field name="TEXT"> Jahr(e) - </field>
                                             </block>
                                           </value>
                                           <value name="ADD2">
                                             <block type="get_attr" id="N*p-D0=#2eeS1mzTu,Vp">
                                               <value name="PATH">
                                                 <shadow type="text" id="FSSuStSf3fokx$#/@TSE">
                                                   <field name="TEXT">$d.months</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                                   <field name="OID">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="vR{7;_9*L?9.YZfSS%T%">
                                                   <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD3">
                                             <block type="text" id="sHWusP^.xQQjosSyDtnj">
                                               <field name="TEXT"> Monat(e)  - </field>
                                             </block>
                                           </value>
                                           <value name="ADD4">
                                             <block type="get_attr" id="@u!YsuR`.nMpkO@(jXuP">
                                               <value name="PATH">
                                                 <shadow type="text" id="r=fnA5Z-(,+x]=-o$2a$">
                                                   <field name="TEXT">$d.days</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <shadow type="get_object" id=";iGy-GVU!y9+GL?}YGT~">
                                                   <field name="OID">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="9=BNw@7?Xgf-H,HIKq{4">
                                                   <field name="VAR" id="$Bp]+`{GZ-Zyd3FcF=ma">Duration</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="ADD5">
                                             <block type="text" id="zrMJpIoI]fMbW(;7#9Lo">
                                               <field name="TEXT"> Tag(e)</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                        </xml>
                        

                        S 1 Reply Last reply Reply Quote 1
                        • S
                          sourex @mickym last edited by

                          @mickym
                          genau so. Du bist mein Held !!
                          Vielen Dank noch mal !!!!

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          993
                          Online

                          31.6k
                          Users

                          79.4k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          261
                          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