Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    true zähler

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

      Hey Leute ich würde gerne einen True Counter aus den geloggten sql Daten erstellen lassen der einen Datenpunkt eines Gerätes zählt.
      Wie oft true war und wie lange true war. und beide werte dann in einen Datenpunkt einträgt.
      Das ganze kann 24 Std anzeigen und vllt eine gesamt statistik also dann drei Datenpunkte.
      Diese werte würde ich dann in einem Graphen anzeigen lassen wollen und die werte in einer Tabelle per VIS darstellen.
      Dazu soll dann später kommen, das ein Gerät z.B. nicht länger als 10 sekunden am Stück true ist.
      Vielleicht hat ja jemand schon so ein ähnliches Blockly, was ich erweitern könnte.

      liv-in-sky paul53 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Aphofis last edited by liv-in-sky

        @Aphofis

        denkst du an sowas?

        Image 3.png

        • datenpunkt wird hochgezählt bei true und die millisekunden, wie lange er auf true war werden auch addiert
        • ist er länger true als z.b. 5 sekunden, wird er wieder auf false gesetzt
        • um 0:00 wird alles zurückgesetzt - falls der dp gerade auf true ist, müßte der abgefangen werden

        hier die datenpunkte - einmal anzahl und einmal die laufzeit über alle trues in millisekunden

        Image 4.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable id="g?OOLs-awWF-CBmR!]5|">counte</variable>
           <variable id="6=R,;k=u`7@elHCh7()1">zählerende</variable>
           <variable id="l`iSM%8ia,NHi(nza5qY">zähler</variable>
           <variable type="interval" id="Intervall">Intervall</variable>
         </variables>
         <block type="schedule" id="vF+[xdGtvxoI*42|rD}A" x="288" y="37">
           <field name="SCHEDULE">0 0 * * *</field>
           <statement name="STATEMENT">
             <block type="control" id="iypZRwMoSC:TA=etlswA">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.AnzahlTrue</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="math_number" id="^jN2)h$6+kmUL@1J~ok9">
                   <field name="NUM">0</field>
                 </block>
               </value>
               <next>
                 <block type="control" id="ud=KDG,DnVT05+9Gu?Vk">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.Dauer_Gesamt</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="math_number" id="VW;{/XQf=y,63jZ]1kZS">
                       <field name="NUM">0</field>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </statement>
         </block>
         <block type="variables_set" id="GIHfd#$/NMq7{FvZ*MR9" x="-162" y="63">
           <field name="VAR" id="g?OOLs-awWF-CBmR!]5|">counte</field>
           <value name="VALUE">
             <block type="math_number" id="BBfHZ/OF@_49dS1mG`zG">
               <field name="NUM">0</field>
             </block>
           </value>
           <next>
             <block type="on" id="bADR$klOOd@hr]{+R]*c">
               <field name="OID">controll-own.0.Luefter3</field>
               <field name="CONDITION">true</field>
               <field name="ACK_CONDITION"></field>
               <statement name="STATEMENT">
                 <block type="control" id="wOCNEF)T|@Ec~60@-e.s">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.AnzahlTrue</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="math_arithmetic" id="+W9coh.fqTkImcfKDI?%">
                       <field name="OP">ADD</field>
                       <value name="A">
                         <shadow type="math_number" id="CAZ_3,RZ,1j.n:}z:]6M">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="get_value" id="sQ!!*(@TyM0u%cdqbYPK">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.AnzahlTrue</field>
                         </block>
                       </value>
                       <value name="B">
                         <shadow type="math_number" id="g]S2pzyCohgO_7;WJsg1">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="math_number" id="I/jjiY6h~E1ara7Ilt]m">
                           <field name="NUM">1</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="/BlR.Dy^8^f3aN*2mh}=">
                       <field name="VAR" id="l`iSM%8ia,NHi(nza5qY">zähler</field>
                       <value name="VALUE">
                         <block type="time_get" id="Q.QjUW$.MI7zSdT;QQzv">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                           <field name="OPTION">object</field>
                         </block>
                       </value>
                       <next>
                         <block type="timeouts_setinterval" id="=bqbqH#OX;+#VNzhxD/*">
                           <field name="NAME">Intervall</field>
                           <field name="INTERVAL">1</field>
                           <field name="UNIT">sec</field>
                           <statement name="STATEMENT">
                             <block type="math_change" id="3(/6pU#{(E5E.LbC-5Oo">
                               <field name="VAR" id="g?OOLs-awWF-CBmR!]5|">counte</field>
                               <value name="DELTA">
                                 <shadow type="math_number" id="v0q:Gb[?AHwu=n?ubdp8">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="math_number" id="EIz%|mD*Q-rb28RftXPO">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="controls_if" id="rLP!JYo;2I+SCVQN(!+n">
                                   <value name="IF0">
                                     <block type="logic_compare" id="o%Hy-OHl{?2XlnCsdb{x">
                                       <field name="OP">GT</field>
                                       <value name="A">
                                         <block type="variables_get" id="wV4Hb]{Z3wEVFDTm;]GY">
                                           <field name="VAR" id="g?OOLs-awWF-CBmR!]5|">counte</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="W!2?^S1Cd;aIAQ92;_`I">
                                           <field name="NUM">4</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="timeouts_clearinterval" id="c-ej=I6c7nWJ$wXb|Q22">
                                       <field name="NAME">Intervall</field>
                                       <next>
                                         <block type="variables_set" id="UydLXy*3KzQ`I.lRu~?c">
                                           <field name="VAR" id="g?OOLs-awWF-CBmR!]5|">counte</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="{6T?rQCATKePWuYECti)">
                                               <field name="NUM">0</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="control" id="WS[Jie6xZsv2P#KR9vSd">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">controll-own.0.Luefter3</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="logic_boolean" id="Ztmq/?A2G.F;TB}!WToL">
                                                   <field name="BOOL">FALSE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </next>
         </block>
         <block type="on" id="Mnue:Ixw5)ZGnm}`Q7M5" x="-63" y="537">
           <field name="OID">controll-own.0.Luefter3</field>
           <field name="CONDITION">false</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="variables_set" id="oX5{RE+gV:_[Lpf_3=Kt">
               <field name="VAR" id="6=R,;k=u`7@elHCh7()1">zählerende</field>
               <value name="VALUE">
                 <block type="time_get" id="0HcaA}Ns_D8APr@Q0|wC">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                   <field name="OPTION">object</field>
                 </block>
               </value>
               <next>
                 <block type="control" id=";od#mA?Uwa;zY~8UXTyx">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.Dauer_Gesamt</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="math_arithmetic" id="yQ9z`^x6si)jne?3{=j2">
                       <field name="OP">ADD</field>
                       <value name="A">
                         <shadow type="math_number" id="[[pi?U!;#Pi`Mw@;|eQw">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="math_arithmetic" id="9nrXu,FH*wFATT9mo^dT">
                           <field name="OP">MINUS</field>
                           <value name="A">
                             <shadow type="math_number" id="LtuIA8:9u]iME#;MY%)?">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="variables_get" id="ePt}stXSac?#}n_X${`^">
                               <field name="VAR" id="6=R,;k=u`7@elHCh7()1">zählerende</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="Vp3H-=*0rs?enZ0RYzvJ">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="variables_get" id="j%+vRErZ)[Lz!i:$lEMy">
                               <field name="VAR" id="l`iSM%8ia,NHi(nza5qY">zähler</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <value name="B">
                         <shadow type="math_number" id="@O;R8B,$2BEnF@HFaRuR">
                           <field name="NUM">1</field>
                         </shadow>
                         <block type="get_value" id=")@#XpSZaN4VnI0MZop.8">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Neues_ObjektDatenPunktZaehlen.Dauer_Gesamt</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </statement>
         </block>
        </xml>
        

        1 Reply Last reply Reply Quote 1
        • paul53
          paul53 @Aphofis last edited by

          @Aphofis sagte:

          Wie oft true war und wie lange true war. und beide werte dann in einen Datenpunkt einträgt.
          Das ganze kann 24 Std anzeigen

          Vorschlag:

          Blockly_temp.JPG

          Aphofis 1 Reply Last reply Reply Quote 1
          • Aphofis
            Aphofis @paul53 last edited by

            @paul53 Das sieht sehr gut aus!
            Wird die einschaltdauer in Sek angegeben ?
            Zur weiterverarbeitung wollte ich das ganze ja aus der Datenbank beziehen oder ist das nicht notwendig

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

              @Aphofis sagte:

              Wird die einschaltdauer in Sek angegeben ?

              Ja, im Datenpunkt.

              @Aphofis sagte in true zähler:

              aus der Datenbank beziehen oder ist das nicht notwendig

              Es ist nicht notwendig, da es kontinuierlich erfolgen kann.

              Aphofis 1 Reply Last reply Reply Quote 1
              • Aphofis
                Aphofis @paul53 last edited by Aphofis

                @paul53
                Das ist Prima danke.
                Ich habe ein anderes Problem aber finde den Thread nicht mehr wieder wo sich Osmose und Vliesfilter etwas überschnitten haben. Was du mir alles programmiert hattest.
                Problem:
                Vlies setzt sich an den Edelstahl Rundeisen fest, also klebt daran fest bis es weiter dreht.
                Ich würde die steuerung gerne auf zeit steuern lassen also alle 30 min dann ca. 1,041 cm macht dann in 24 Std. auch 50 cm verbrauch. doch wird ja der Motor Strom durch den Schwimmer Vliesfilter_normal unterbrochen bzw verbunden.
                Sprich also muss der Motor wieder direkt ans Relais und das ganze dan zeitgesteuert werden. Hatte schon überlegt die umlenkrollen aus ASA zu drucken. Da das Edelstahl in verbindung mit dem Schmutz wie klebe wirkt. ich muss das Vlies gewaltsam raus ziehen den motor über die 12 Volt schrankbeleuchtung anschließen damit das Vlies weiter läuft.
                Weißt du noch in welchem Thread wir das besprochen hatten!?

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

                Support us

                ioBroker
                Community Adapters
                Donate

                949
                Online

                32.0k
                Users

                80.4k
                Topics

                1.3m
                Posts

                blockly monitoring
                3
                6
                317
                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