Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Einschaltdauer in Datenpunkt schreiben u. addieren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Einschaltdauer in Datenpunkt schreiben u. addieren

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

      Hallo,
      ich stehe auf dem Schlauch und habe über die Suche nichts passendes gefunden.
      Nur ähnliches und mit dem mache ich jetzt schon ewig rum und bekomme es nicht hin.
      Ich steuere eine Winde mit einem Relais das über einen Gpio vom Raspberry eingeschaltet wird. Jetzt würde ich gerne die Zeit die der Gpio.State auf true steht in einen Datenpunkt (Zahl=Sekunden) schreiben und bei jedem Einschalten dazu addieren.

      Wenn das funktioniert sollten in einem zweiten Schritt die Sekunden in Meter umgesetzen werden wenn die Winde z.B. 7 Sekunden pro Meter benötigt.

      Lässt sich das in einem Blockly Script umsetzen?

      Gruss
      Paulchen

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

        @Paulchen67 sagte:

        Lässt sich das in einem Blockly Script umsetzen?

        Blockly_temp.JPG

        1 Reply Last reply Reply Quote 0
        • Paulchen67
          Paulchen67 last edited by

          Das Blockly Script hatte ich schon in den Fingern.
          Mein Problem dabei waren die 2 Blöcke hinter "erhöhe ed um".
          Ich finde die 2 Blöcke nirgends zum auswählen.

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

            @Paulchen67 sagte:

            Ich finde die 2 Blöcke nirgends zum auswählen.

            <xml xmlns="http://www.w3.org/1999/xhtml">
             <variables>
               <variable type="" id="gqYl*w`}:UGXvW2+TD8~">ed</variable>
             </variables>
             <block type="comment" id="7G(}NsS,D%,En(IkS?4A" x="63" y="-13">
               <field name="COMMENT">Einschaltdauer in s</field>
               <next>
                 <block type="variables_set" id="c%mr_L//=HS=t{Z+|UD8">
                   <field name="VAR" id="gqYl*w`}:UGXvW2+TD8~" variabletype="">ed</field>
                   <value name="VALUE">
                     <block type="get_value" id="W!y}kk2e5gRiW)}DYK_F">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <next>
                     <block type="comment" id="4_#p[4BYXCj7S:W]V).t">
                       <field name="COMMENT">GPIO</field>
                       <next>
                         <block type="on_ext" id="s7}8vJ1{EmXopHcc=zms">
                           <mutation items="1"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="D3}XQU)1R|#aMnO8,+bI">
                               <field name="oid">default</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_if" id="m.xuX^{+HPB-hjPt(j31">
                               <value name="IF0">
                                 <block type="logic_negate" id="c7yD=O,,1ABANZQz|ENb">
                                   <value name="BOOL">
                                     <block type="on_source" id="Zh}!o4^t!nO[)O{Q/O*B">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="math_change" id="!L;zoQ!SLD}}?ZtFFm0P">
                                   <field name="VAR" id="gqYl*w`}:UGXvW2+TD8~" variabletype="">ed</field>
                                   <value name="DELTA">
                                     <shadow type="math_number" id="I.I_x]NeZM*g*t?aBbsG">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="math_arithmetic" id="2_=qg,V3:~I,).O0^Kz+" inline="false">
                                       <field name="OP">DIVIDE</field>
                                       <value name="A">
                                         <shadow type="math_number" id=";!b[Ng?sBjN#bY1p_K6f">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="math_arithmetic" id="}mr1%rFPtrn5zr!qX}f;" inline="false">
                                           <field name="OP">MINUS</field>
                                           <value name="A">
                                             <shadow type="math_number" id="IQsjXJDT*XHXThb3*T)P">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="on_source" id="lI]Eh9@2UhB^Vl.Ip5@;">
                                               <field name="ATTR">state.lc</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="{jYSo8pS2G$HINmOmX=p">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="on_source" id="u0|!~58,u{N`V4TWuC_G">
                                               <field name="ATTR">oldState.lc</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="hOqnWxaQ$G1bTh)r,DHh">
                                           <field name="NUM">1000</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="update" id="gvk_(7jnd2:O{FN`R@a;">
                                       <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="N2]9g)jX_bRgItn,BZQy">
                                           <field name="OP">ROUND</field>
                                           <value name="NUM">
                                             <shadow type="math_number" id="(R47]wksNw.+y9U=)ZUb">
                                               <field name="NUM">3.1</field>
                                             </shadow>
                                             <block type="variables_get" id="4HYy*S+5^rP19hJ863$*">
                                               <field name="VAR" id="gqYl*w`}:UGXvW2+TD8~" variabletype="">ed</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            1 Reply Last reply Reply Quote 0
            • Paulchen67
              Paulchen67 last edited by

              Danke, das funktioniert soweit.
              Allerdings nur wenn "Objekt wurde geändert" eingestellt ist. Wenn ich nur bei true möchte also "Objekt ist wahr" einstelle dann geht es nicht.

              Wie Resete ich denn den Datenpunkt?
              Einfach 0 eingeben bringt nichts. Die null wird zwar angenommen aber beim nächsten einschalten geht es dort weiter wo er vor der 0 Eingabe stand.

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

                @Paulchen67 sagte:

                nur wenn "Objekt wurde geändert" eingestellt ist.

                Der Datenpunkt wird anscheinend öfter aktualisiert als nur bei Wertänderung.

                @Paulchen67 sagte in Einschaltdauer in einen Datenpunkt schreiben und aufaddieren:

                Wie Resete ich denn den Datenpunkt?

                Gleichzeitig die Variable ed und den Datenpunkt auf 0 setzen.

                1 Reply Last reply Reply Quote 0
                • Paulchen67
                  Paulchen67 last edited by

                  Ok, soweit passt es jetzt.
                  Die Umrechnung auf Meter habe ich auch hinbekommen.
                  Mir scheint aber das die Umrechnung nicht ganz passt oder aber das ganze
                  hängt etwas hinterher. Werde morgen mal mein Script einstellen. Vielleicht
                  ist da auch noch ein Fehler drin.

                  Vielen Dank für die Hilfe.

                  1 Reply Last reply Reply Quote 0
                  • Paulchen67
                    Paulchen67 last edited by

                    Ich hatte gestern das ganze mit einem Licht simuliert und da hat es so einigermassen gepasst. Richtig angezeigt wurden die Sekunden nur die
                    Umrechnung hat nicht ganz gepasst.

                    Habe das Ganze nun heute mit der tatsächlichen Windensteuerung umgesetzt. Das Script läuft soweit

                    Bildschirmfoto 2020-02-23 um 12.16.24.png

                    nur die Sekundenanzeige passt überhaupt nicht und nach dem ersten mal
                    einschalten der Winde stehen die Meter noch auf Null.

                    Bildschirmfoto 2020-02-23 um 12.20.10.png

                    obwohl im Log ersichtlich ist, dass die Winde ziemlich genau 5 sec gelaufen ist.

                    Bildschirmfoto 2020-02-23 um 12.19.16.png

                    Beim zweiten mal einschalten der Winde wieder ziemlich genau 5 sec.

                    Bildschirmfoto 2020-02-23 um 12.20.56.png

                    Jetzt sollte der Sekundenwert obwohl er ja überhaupt nicht stimmt das doppelte von oben (488) sein weil ja wieder 5 Sekunden Laufzeit aber auch das passt überhaupt nicht.
                    Jetzt kommt auch ein Wert bei der Meteranzeige aber auch der passt nicht zu den (falschen) Sekunden. Müsste 83,1 sein da 581,6 : 7 nicht 69,8 ergibt.

                    Bildschirmfoto 2020-02-23 um 12.20.48.png

                    Vielleicht hat jemand eine Ahnung was da jetzt nicht passt?

                    1 Reply Last reply Reply Quote 0
                    • Paulchen67
                      Paulchen67 last edited by

                      Ich habe den Fehler jetzt selber gefunden.
                      So funktioniert es:

                      Bildschirmfoto 2020-02-23 um 16.02.43.png

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      388
                      Online

                      32.0k
                      Users

                      80.4k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      1196
                      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