Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Verbrauchsschwankung mit Blockly erkennen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Verbrauchsschwankung mit Blockly erkennen

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

      achso, jetzt hab ich es. Er bekommt die Anweisung wenn über 150 mach folgendes, aber erst in 60s (also Ausführung merken) dann irgendwann ist der Wert mal wieder unter 150 aber der dezeitige Vorher Wert nicht größer 150 dann stoppt der timer und die im Hinterkopf gemerkte Anweisung wird gelöscht. Richtig?
      Jetzt muss ich mal schauen wie ich was in den Trockner bekomme. Frau hat gestern extra alles mögliche gewaschen damit ich genug aufzeichnen kann 🙂

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

        @MiB sagte:

        Er bekommt die Anweisung wenn über 150 mach folgendes, aber erst in 60s (also Ausführung merken) dann irgendwann ist der Wert mal wieder unter 150 aber der dezeitige Vorher Wert nicht größer 150 dann stoppt der timer und die im Hinterkopf gemerkte Anweisung wird gelöscht. Richtig?

        Er bekommt die Anweisung: Wenn unter 150 und vorheriger Wert mindestens 150, dann starte Timer für die um 60 s verzögerte Aktion. Falls innerhalb der 60 s der Wert mal wieder über 150, stoppt der Timer und die verzögerte Aktion wird nicht ausgeführt.
        Die Abfrage auf vorheriger Wert mindestens 150 verhindert, dass der Timer mehrfach gestartet wird.

        1 Reply Last reply Reply Quote 0
        • M
          MiB last edited by

          Hallo @paul53
          wollte kurz Rückinfo geben. Heute gab es mal wieder was zu trocknen und ich muss sagen, Prima Arbeit. Hat genau wie du es erwartet hast funktioniert. Meine Frau ist begeistert. Jetzt muss ich mal sehen wie der Trockner sich bei anderen Programmen verhält und eventuell etwas anpassen, aber im Moment geht es richtig gut. Hatte anfangs etwas Probleme der Logik zu folgen, aber jetzt ist es mir klar.
          Herzlichen Dank
          Grüße Michael

          1 Reply Last reply Reply Quote 0
          • S
            steff.h. last edited by

            Hallo zusammen,

            ich habe ein ähnliches Problem und versucht es hiermit zu lösen.

            Ich werde jedoch immer mit Nachrichten zugeschüttet.

            Der Sonoff POW ist immer angeschaltet und sollte nur bei Wattänderungen eine Nachricht schicken.

            1. Wenn er aktiviert wurde
            2. Wenn der Knitterschutz aktiviert wurde
            3. Wenn der Trockner fertig ist

            ich habe nun folgendes probiert:

            Aufnahme11.jpg

            <xml xmlns="http://www.w3.org/1999/xhtml">
              <variables>
                <variable type="undefined" id="timeout1">timeout1</variable>
                <variable type="undefined" id="timeout2">timeout2</variable>
              </variables>
              <block type="on_ext" id="+A7wlutQO8gBfqosc.y3" x="-387" y="-12">
                <mutation items="1"></mutation>
                <field name="CONDITION">any</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="L[i=p{|ii-ai*/YAZ@8s">
                    <field name="oid">sonoff.0.Trockner.ENERGY_Power</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="controls_if" id="V6]e:v6u:?I_dnQ6L_VO">
                    <value name="IF0">
                      <block type="logic_compare" id="YL]^MiM0C_d90EjXd7qr">
                        <field name="OP">GT</field>
                        <value name="A">
                          <block type="get_value" id="yM=9zWrslsViHeXAVGm6">
                            <field name="ATTR">val</field>
                            <field name="OID">sonoff.0.Trockner.ENERGY_Power</field>
                          </block>
                        </value>
                        <value name="B">
                          <block type="text" id="H=g~S*6(?G/uCr~jDdCp">
                            <field name="TEXT">50</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="vs.J|^}}{M%%SJ1bpk;V">
                        <mutation delay_input="false"></mutation>
                        <field name="OID">Meine_Geräte.0.status_trockner</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="gvfoVV5t!!Us3^C~!w.H">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                    <next>
                      <block type="controls_if" id="Y?veRO*2:#`oT-H/BM5+">
                        <mutation else="1"></mutation>
                        <value name="IF0">
                          <block type="logic_compare" id=":k:zLc}nC%#r^+K^Eo.(">
                            <field name="OP">LT</field>
                            <value name="A">
                              <block type="on_source" id="U7o;jTuGj!Z%x*giBA4~">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="text" id="-Wv/soS#il1z5y*+s%mA">
                                <field name="TEXT">50</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="controls_if" id="UT~9*H(1tT=L|IjL$v,V">
                            <value name="IF0">
                              <block type="logic_compare" id="Ijf~JlR]#oy,r)6-[DD*">
                                <field name="OP">GTE</field>
                                <value name="A">
                                  <block type="on_source" id="2*y6K4S,#@Lb:ffPeJ`$">
                                    <field name="ATTR">oldState.val</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="kGM9Mt`m?YPRcKg-FEQm">
                                    <field name="TEXT">50</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="timeouts_settimeout" id="^Q88lhsvgd-!3s?NQe9u">
                                <field name="NAME">timeout1</field>
                                <field name="DELAY">60</field>
                                <field name="UNIT">sec</field>
                                <statement name="STATEMENT">
                                  <block type="telegram" id="~Gak]59)R_ohwhQAG(6D">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow type="text" id="U][E8N^7Bu/+`G(NxN}#">
                                        <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                                      </shadow>
                                      <block type="text" id="m1iR~_xBdK;GdKQ)pTk3">
                                        <field name="TEXT">Knitterschutz gestartet</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </statement>
                        <statement name="ELSE">
                          <block type="timeouts_cleartimeout" id="}wGFsqm^VCq)ca%bTT@O">
                            <field name="NAME">timeout1</field>
                          </block>
                        </statement>
                        <next>
                          <block type="controls_if" id="Gr}3ElHJKOhnV;OT#(k0">
                            <mutation else="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="mx}}YJbMCz.DnAhYmc)g">
                                <field name="OP">LT</field>
                                <value name="A">
                                  <block type="on_source" id="/gRw/2)$e_gOuY+Pk%ns">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="{zexH{O4=EP0tiO2yp7+">
                                    <field name="TEXT">15</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="controls_if" id="lrJePpuBL0{0us[W%?*i">
                                <value name="IF0">
                                  <block type="logic_compare" id="S~{L:EcJ*Z$FL+xJ_B(!">
                                    <field name="OP">GTE</field>
                                    <value name="A">
                                      <block type="on_source" id="moC0PBTuWi3zR:GM0Td`">
                                        <field name="ATTR">oldState.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="AYGH)f=Xj*$m)7p{6z5g">
                                        <field name="TEXT">15</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="timeouts_settimeout" id="U1raJ]Me_D;w$%JwW(Hv">
                                    <field name="NAME">timeout2</field>
                                    <field name="DELAY">60</field>
                                    <field name="UNIT">sec</field>
                                    <statement name="STATEMENT">
                                      <block type="control" id="b3NWGdz9,IcSytr#=ISq">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">Meine_Geräte.0.status_trockner</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id=")|#,|PdmCZ$=4GxqQQ_g">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                            <statement name="ELSE">
                              <block type="timeouts_cleartimeout" id="]pA)cl[picj,_omxa]@{">
                                <field name="NAME">timeout2</field>
                              </block>
                            </statement>
                            <next>
                              <block type="controls_if" id="0KU30/v2h#W(!`#[gp76">
                                <mutation elseif="1"></mutation>
                                <value name="IF0">
                                  <block type="logic_compare" id="]-Zb+?Hn_!lMC-aT9alk">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="ln#_*!,/omF%2!L4WRp-">
                                        <field name="ATTR">val</field>
                                        <field name="OID">Meine_Geräte.0.status_trockner</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="pSN^b91_Se1kc2o;W4J^">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="telegram" id="i||{vH9*ebG3rYojyq#~">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow type="text" id="U][E8N^7Bu/+`G(NxN}#">
                                        <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                                      </shadow>
                                      <block type="text" id="Vzzqg.~Y}lOC=Vmy,[1X">
                                        <field name="TEXT">Der Trockner wurde angeschaltet </field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <value name="IF1">
                                  <block type="logic_compare" id="21(9~CU|XRCn:EOXk2/@">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="TSvo:2H{H+}IE{#M1`FO">
                                        <field name="ATTR">val</field>
                                        <field name="OID">Meine_Geräte.0.status_trockner</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="h=.8?l5o{aiN|)W)LXh@">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO1">
                                  <block type="telegram" id="ed05d|bQf^sw*MK?SR-6">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow type="text" id="sKyyX,f?IkAZP`RFQReF">
                                        <field name="TEXT">Die Waschmaschine ist fertig :)</field>
                                      </shadow>
                                      <block type="text" id="Me[sfL:79y?isrCAn~-e">
                                        <field name="TEXT">Der Trockner ist fertig :) </field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </xml>
            

            kann man hier einer helfen?

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @steff.h. last edited by

              @steff-h sagte in Verbrauchsschwankung mit Blockly erkennen:

              Ich werde jedoch immer mit Nachrichten zugeschüttet

              Du solltest unbedingt mal die Daten hochauflösend loggen und dir danach die Kurve ansehen.

              Die Werte schwanken bei odernen Maschinen kurzfristig gewaltig

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

                @steff-h ,

                Hallo, schau Dir doch mal mein unten aufgeführtes Waschmaschinen-Blockly an. Dein Problem liegt wahrscheinlich darin, dass der Sonoff-Pow ständig die Werte ändert, da auch der Trockner sekündlich den Wert ändert und das auch gerne unter 50 und in der nächsten Sekunde wieder über 50. Deshalb wird ständig getriggert und telegram schickt was. Das Script von unten schaut nach, ob sich die Werte fünf mal hintereinander unter 2 befinden um dann zu triggern. Versuch es mal.

                Grüße

                PS: @Homoran war schneller, aber er weist auf das Gleiche hin...

                <xml xmlns="http://www.w3.org/1999/xhtml">
                  <block type="on_ext" id="{@YbEO81jP45_Wv%`G~V" x="-387" y="-12">
                    <mutation items="1"></mutation>
                    <field name="CONDITION">any</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                      <shadow type="field_oid" id="KKMh9]1;JU;y)l~O1?:8">
                        <field name="oid">sonoff.0.Sonoff-Pow-Waschmaschine.ENERGY_Power</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="controls_if" id="Tz-/aRLZ%6yfRg?~!ASl">
                        <mutation elseif="1"></mutation>
                        <value name="IF0">
                          <block type="logic_compare" id="RFQ:hZTWTn+0fqk3L{(-">
                            <field name="OP">GT</field>
                            <value name="A">
                              <block type="get_value" id="3%TT^X~(Q5aB}Y4s]Fya">
                                <field name="ATTR">val</field>
                                <field name="OID">sonoff.0.Sonoff-Pow-Waschmaschine.ENERGY_Power</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="text" id="(,:]5Jvy-G1K(g[v@jo1">
                                <field name="TEXT">50</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id="QTzY}_ond~G]B|eRA@Lq">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">Eigene.Objekte.Geräte.Waschmaschine_ist_fertig</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="logic_boolean" id="Gyn`!|3.4qS].:ColIeT">
                                <field name="BOOL">FALSE</field>
                              </block>
                            </value>
                            <next>
                              <block type="control" id="R_3nkOj][E%u?2Ta37bz">
                                <mutation delay_input="false"></mutation>
                                <field name="OID">Eigene.Objekte.Geräte.Waschmaschinenzähler</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE">
                                  <block type="math_number" id="pcO^t|l4y.THVnNo|?oL">
                                    <field name="NUM">0</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </statement>
                        <value name="IF1">
                          <block type="logic_compare" id="^9/A}3)3rA2pc/6=/Fto">
                            <field name="OP">LT</field>
                            <value name="A">
                              <block type="get_value" id="?-}lTJ41aADEukuCBat3">
                                <field name="ATTR">val</field>
                                <field name="OID">sonoff.0.Sonoff-Pow-Waschmaschiene.ENERGY_Power</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="text" id="8DfHDB3lV*UAzbe]eVcU">
                                <field name="TEXT">2</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO1">
                          <block type="control" id="QHrg0]k0wr3PfuIBsJ!H">
                            <mutation delay_input="false"></mutation>
                            <field name="OID">Eigene.Objekte.Geräte.Waschmaschinenzähler</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="math_arithmetic" id="y5NO*~^U!3rZvPOP}p99">
                                <field name="OP">ADD</field>
                                <value name="A">
                                  <shadow type="math_number" id="t46p(Xt/QEC^LOTi^kh.">
                                    <field name="NUM">1</field>
                                  </shadow>
                                  <block type="get_value" id="2]a3oM=PJFvB4]:F.TIb">
                                    <field name="ATTR">val</field>
                                    <field name="OID">Eigene.Objekte.Geräte.Waschmaschinenzähler</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <shadow type="math_number" id="/EXgdR6@K[OZ{2@{wFqV">
                                    <field name="NUM">1</field>
                                  </shadow>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="controls_if" id="%jHtAnbRrA:ES!]M#.]4">
                                <value name="IF0">
                                  <block type="logic_compare" id="eK!*/64GQzj7ul5[1o{U">
                                    <field name="OP">GT</field>
                                    <value name="A">
                                      <block type="get_value" id="MT]e.aRY7#gDKM^5KLGE">
                                        <field name="ATTR">val</field>
                                        <field name="OID">Eigene.Objekte.Geräte.Waschmaschinenzähler</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="text" id="qFtDNlGvc.Q0Rw`l:-q)">
                                        <field name="TEXT">5</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="E;!{Y_v+cv8eJL.:x7`K">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">Eigene.Objekte.Geräte.Waschmaschine_ist_fertig</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="7@H~{7M{YLo51xL/@?0P">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </statement>
                    <next>
                      <block type="on_ext" id="^bjX`z`(c6|NOE7od8m{">
                        <mutation items="1"></mutation>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="p(Y8#7ya#8V)V_r=L|AY">
                            <field name="oid">Eigene.Objekte.Geräte.Waschmaschine_ist_fertig</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="c}KW,NC~y{R3,GHaCdm~">
                            <mutation elseif="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="2VfDCLfBt@w0Tz+8/vyY">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_value" id="*yVKM0%[r~#@JMQE.-[=">
                                    <field name="ATTR">val</field>
                                    <field name="OID">Eigene.Objekte.Geräte.Waschmaschine_ist_fertig</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_boolean" id="3-+a.bG=Tt}oj`jYJ1l^">
                                    <field name="BOOL">FALSE</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="telegram" id="2oPfv{ptPp%y[jwp^@?0">
                                <field name="INSTANCE"></field>
                                <field name="LOG"></field>
                                <field name="SILENT">FALSE</field>
                                <field name="PARSEMODE">default</field>
                                <value name="MESSAGE">
                                  <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-">
                                    <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                                  </shadow>
                                </value>
                              </block>
                            </statement>
                            <value name="IF1">
                              <block type="logic_compare" id="BLPv?Av{QCjSZwz2C9o7">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_value" id="f-.T9%q:49F7M`dkh*/S">
                                    <field name="ATTR">val</field>
                                    <field name="OID">Eigene.Objekte.Geräte.Waschmaschine_ist_fertig</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_boolean" id="Bb2WzPjc27[}p;0e{z^U">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO1">
                              <block type="telegram" id="VxKMn*kukZ9.LFX4,|f`">
                                <field name="INSTANCE"></field>
                                <field name="LOG"></field>
                                <field name="SILENT">FALSE</field>
                                <field name="PARSEMODE">default</field>
                                <value name="MESSAGE">
                                  <shadow type="text" id="sKyyX,f?IkAZP`RFQReF">
                                    <field name="TEXT">Die Waschmaschine ist fertig :)</field>
                                  </shadow>
                                  <block type="text_join" id="2Bypwm1zS{+O,h,dTXo~">
                                    <mutation items="4"></mutation>
                                    <value name="ADD0">
                                      <block type="text" id="U5)QI0lF+t{v~!!J9xIy">
                                        <field name="TEXT">Die Waschmaschine ist fertig :) </field>
                                      </block>
                                    </value>
                                    <value name="ADD1">
                                      <block type="text" id="LIrrEjix9%X6_)#kLm1@">
                                        <field name="TEXT">Und du hast heute </field>
                                      </block>
                                    </value>
                                    <value name="ADD2">
                                      <block type="get_value" id="t5.cTL2%]q_%0uPV/`OE">
                                        <field name="ATTR">val</field>
                                        <field name="OID">sonoff.0.Sonoff-Pow-Waschmaschiene.ENERGY_Today</field>
                                      </block>
                                    </value>
                                    <value name="ADD3">
                                      <block type="text" id="5L;wo|S(tD#i{u=}N(ig">
                                        <field name="TEXT"> kWh beim Waschen verbraucht.</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </statement>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </xml>
                
                1 Reply Last reply Reply Quote 0
                • S
                  steff.h. last edited by

                  danke dir, baue es mal mit ein und teste 🙂

                  1 Reply Last reply Reply Quote 0
                  • S
                    steff.h. last edited by

                    also das mit dem Zähler fand ich jetzt für mich die nicht 100% Lösung...

                    Hab es jetzt mal mit Timer probiert, in der Testumgebung (virtuellen Zahlen) hat es gut funktioniert, mal sehen wie es in der Praxis läuft 🙂

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                      <variables>
                        <variable type="undefined" id="timer_Knitterschutz">timer_Knitterschutz</variable>
                        <variable type="undefined" id="timer_fertig">timer_fertig</variable>
                        <variable type="undefined" id="timer_start">timer_start</variable>
                      </variables>
                      <block type="on_ext" id="{@YbEO81jP45_Wv%`G~V" x="-387" y="-12">
                        <mutation items="1"></mutation>
                        <field name="CONDITION">any</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="KKMh9]1;JU;y)l~O1?:8">
                            <field name="oid">eigene_Geräte.0.Trockner.Trockner</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="controls_if" id="Tz-/aRLZ%6yfRg?~!ASl">
                            <mutation elseif="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="RFQ:hZTWTn+0fqk3L{(-">
                                <field name="OP">GT</field>
                                <value name="A">
                                  <block type="get_value" id="3%TT^X~(Q5aB}Y4s]Fya">
                                    <field name="ATTR">val</field>
                                    <field name="OID">eigene_Geräte.0.Trockner.Trockner</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="(,:]5Jvy-G1K(g[v@jo1">
                                    <field name="TEXT">200</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="timeouts_cleartimeout" id="GDB?IltR,Hog?lZkj@Ri">
                                <field name="NAME">timer_fertig</field>
                                <next>
                                  <block type="timeouts_cleartimeout" id="MxsxpE}%wX+vOka^6sJE">
                                    <field name="NAME">timer_Knitterschutz</field>
                                    <next>
                                      <block type="timeouts_settimeout" id="%sP/]s/Wq[CN5Cr)ZXcE">
                                        <field name="NAME">timer_start</field>
                                        <field name="DELAY">30</field>
                                        <field name="UNIT">sec</field>
                                        <statement name="STATEMENT">
                                          <block type="control" id="QTzY}_ond~G]B|eRA@Lq">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="Gyn`!|3.4qS].:ColIeT">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="control" id="dCPQU95vaZjskHy8WfRw">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="logic_boolean" id="m_m~oziSEG8Vbxg9hS]0">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <value name="IF1">
                              <block type="logic_compare" id="^9/A}3)3rA2pc/6=/Fto">
                                <field name="OP">LT</field>
                                <value name="A">
                                  <block type="get_value" id="?-}lTJ41aADEukuCBat3">
                                    <field name="ATTR">val</field>
                                    <field name="OID">eigene_Geräte.0.Trockner.Trockner</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="8DfHDB3lV*UAzbe]eVcU">
                                    <field name="TEXT">5</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO1">
                              <block type="timeouts_cleartimeout" id="OdwG.CwD~j,[RvL`/$Y7">
                                <field name="NAME">timer_start</field>
                                <next>
                                  <block type="timeouts_settimeout" id="T.AsjIcgdlrs;ME/eGv7">
                                    <field name="NAME">timer_Knitterschutz</field>
                                    <field name="DELAY">20</field>
                                    <field name="UNIT">sec</field>
                                    <statement name="STATEMENT">
                                      <block type="control" id="QHrg0]k0wr3PfuIBsJ!H">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="l3U+F]JlZaL11c5(J`P]">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <next>
                                      <block type="timeouts_settimeout" id="`gsfK+4~NVuy0`cutC,Q">
                                        <field name="NAME">timer_fertig</field>
                                        <field name="DELAY">5</field>
                                        <field name="UNIT">min</field>
                                        <statement name="STATEMENT">
                                          <block type="control" id="ZD!YyTw9oj8G~fNS1,Rh">
                                            <mutation delay_input="false"></mutation>
                                            <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="yvf2u7C=BrSJ08v;SWbf">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </statement>
                        <next>
                          <block type="on_ext" id="Q94+tPd)Uj`%l=N7ri-f">
                            <mutation items="1"></mutation>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="kS?`eSEel]v1S.F]V.*x">
                                <field name="oid">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="?iCVZFXaeJEzUKNC8k!r">
                                <mutation elseif="1"></mutation>
                                <value name="IF0">
                                  <block type="logic_compare" id="[(T!mZH}Nvn*dCCtr6u.">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="?ZYV1).sdAbe33eT9UVJ">
                                        <field name="ATTR">val</field>
                                        <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="#yWUf6y]^$tg{WVtm/;*">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="telegram" id="O+6t}Cv2l-_thLLhPiHJ">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-">
                                        <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                                      </shadow>
                                      <block type="text" id="XVOEYo.x?twa;r+MeYGc">
                                        <field name="TEXT">Der Trockner startet den Knitterschutz ! </field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <value name="IF1">
                                  <block type="logic_compare" id="2VfDCLfBt@w0Tz+8/vyY">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="get_value" id="*yVKM0%[r~#@JMQE.-[=">
                                        <field name="ATTR">val</field>
                                        <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_boolean" id="3-+a.bG=Tt}oj`jYJ1l^">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO1">
                                  <block type="telegram" id="2oPfv{ptPp%y[jwp^@?0">
                                    <field name="INSTANCE">.0</field>
                                    <field name="LOG"></field>
                                    <field name="SILENT">FALSE</field>
                                    <field name="PARSEMODE">default</field>
                                    <value name="MESSAGE">
                                      <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-">
                                        <field name="TEXT">Die Waschmaschine wurde angeschaltet</field>
                                      </shadow>
                                      <block type="text" id="CRLGpd#_}:2;FaGp^8aD">
                                        <field name="TEXT">Der Trockner wurde angeschaltet </field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                            <next>
                              <block type="on_ext" id="^bjX`z`(c6|NOE7od8m{">
                                <mutation items="1"></mutation>
                                <field name="CONDITION">ne</field>
                                <field name="ACK_CONDITION"></field>
                                <value name="OID0">
                                  <shadow type="field_oid" id="p(Y8#7ya#8V)V_r=L|AY">
                                    <field name="oid">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                                  </shadow>
                                </value>
                                <statement name="STATEMENT">
                                  <block type="controls_if" id="c}KW,NC~y{R3,GHaCdm~">
                                    <value name="IF0">
                                      <block type="logic_compare" id="BLPv?Av{QCjSZwz2C9o7">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="f-.T9%q:49F7M`dkh*/S">
                                            <field name="ATTR">val</field>
                                            <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_boolean" id="Bb2WzPjc27[}p;0e{z^U">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="telegram" id="VxKMn*kukZ9.LFX4,|f`">
                                        <field name="INSTANCE">.0</field>
                                        <field name="LOG"></field>
                                        <field name="SILENT">FALSE</field>
                                        <field name="PARSEMODE">default</field>
                                        <value name="MESSAGE">
                                          <shadow type="text" id="sKyyX,f?IkAZP`RFQReF">
                                            <field name="TEXT">Die Waschmaschine ist fertig :)</field>
                                          </shadow>
                                          <block type="text" id="U5)QI0lF+t{v~!!J9xIy">
                                            <field name="TEXT">Der Trockner ist fertig :) </field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </xml>
                    
                    1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO last edited by

                      und wenns genauer aber komplexer werden sollte,
                      dann noch was mit gleitendem durchschnitt
                      http://www.iobroker.net/docu/?page_id=3670&lang=de

                      Das hier sind deine Daten aus der Excel mit einem gleitenden Durchschnitt (schwarze linie) von 50

                      7cddb03a-dc76-4bc2-bbba-7ce3c40d4927-image.png

                      zum selber ausprobieren:
                      hier links die daten mit watt als datenreihe 1
                      dann rechts die 2 spalte mit dem timestamp
                      danach in das erzeugte diagramm auf die datenlinie mit rechte maustaste klicken und trendlinie hinzufügen. gleitender druchschnitt wählen und mit zeitraum rumspielen (hier mit 50)
                      73a106f6-672b-4988-aa54-73854194f71b-image.png

                      das oben genannte skript müsste man so anpassen, dass für die verbrauchsdaten der letzen ca 30 sekunden bis 1 minute Daten in der liste wären und darüber dann durchjagen

                      aber wie gesagt, genauer aber auch komplizierter

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

                        @OliverW sagte:

                        was mit gleitendem durchschnitt

                        Ersetze bitte Zeile 34

                          setState(avrid, parseFloat((sum / n).toFixed(1)));
                        

                        durch

                          setState(avrid, Math.round(10 * sum / n) / 10, true); // 1 Nachkommastelle
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        924
                        Online

                        31.6k
                        Users

                        79.6k
                        Topics

                        1.3m
                        Posts

                        9
                        24
                        2146
                        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