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]Geschirrspüler-Überwachung hängt sich auf

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]Geschirrspüler-Überwachung hängt sich auf

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

      Hallo Forum, nach etlichen, vergeblichen Versuchen das Skript zum Laufen zu bekommen, wende ich mich nun an euch - vielleicht habt ihr ja noch eine Idee.

      Zum Hintergrund: Ich überwache den Stromverbrauch in Watt (Power) von unserem Geschirrspüler mit einem Gosund SP111, auf dem Tasmota läuft.
      Der Geschirrspüler hat drei Phasen mit intensivem Stromverbrauch und zum Schluss eine lange (Trocknungs-)Phase mit wenig Stromverbrauch. Ganz zum Ende wird nochmal kurz etwas mehr verbraucht, um ein letztes Abpumpen durchzuführen (siehe Bild weiter unten).

      Zum Problem: Leider ist die Trocknungsphase so knapp im Stromverbrauch, dass diese dem Standby-Verbrauch entspricht - dementsprechend kann ich nicht ausschließlich über die Power gehen und muss prüfen, ob ich mich in der letzten Phase befinde und dann auf das Abpumpen warten.
      Leider hängt sich mein gesamter Pi bei erreichen der "wiederhole" Schleife immer komplett auf. Habt ihr eine Idee, was hier falsch ist?
      b97edcff-a7fc-44ba-a80f-54b623bc3bdc-image.png

      Zur Verdeutlichung die Aufzeichnung des Verbrauches:
      a05937da-0308-479a-b205-629fbbe96f55-image.png

      Abschließend das gesamte Script:
      74466b37-6e94-42a7-951c-e1ea479dc16d-Bildschirmfoto 2020-04-13 um 16.30.38.png
      977b9eab-474d-404c-9071-6459682e23ba-Bildschirmfoto 2020-04-13 um 16.41.45.png
      80e4a2ea-3811-4f0e-95a0-e70ede62411c-Bildschirmfoto 2020-04-13 um 16.31.13.png

      Das Skript:

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <variables>
          <variable type="" id="=e%GN.LN)Gy-5HtrE;9Q">letztesAbpumpenFindetStatt</variable>
          <variable type="" id="u)kvrD,(T/X{z%S*fXQT">prüft</variable>
          <variable type="" id="9tA@(r@l25PEGfb3@*QX">geschirrspuelerAktiv</variable>
          <variable type="undefined" id="timeout">timeout</variable>
          <variable type="undefined" id="timeout2">timeout2</variable>
        </variables>
        <block type="variables_set" id="zx}-8$S):{KNNk@u)w66" x="313" y="-113">
          <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
          <value name="VALUE">
            <block type="logic_boolean" id="I{1L9w7hwy8I_dd|OXFb">
              <field name="BOOL">FALSE</field>
            </block>
          </value>
          <next>
            <block type="variables_set" id="Is(C9Ea=ugetS:/XCD/H">
              <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
              <value name="VALUE">
                <block type="logic_boolean" id="@{V41q]]?D{xxBQVn~Fw">
                  <field name="BOOL">FALSE</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="Z}N15W#D6SrkCwOKBfFR">
                  <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="LAW*@vpKBNTPfsXDVeV-">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                  <next>
                    <block type="on_ext" id="bczS+!=FSeS$nF8p={q,">
                      <mutation items="1"></mutation>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <value name="OID0">
                        <shadow type="field_oid" id="Y{km8[Tjcqu@NDzqiHYO">
                          <field name="oid">default</field>
                        </shadow>
                        <block type="field_oid" id="=iFdinzpGPAa,jTE#M$y">
                          <field name="oid">sonoff.0.geschirrspueler.ENERGY_Power</field>
                        </block>
                      </value>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="TzJ0{6erp8Npn=eyz9!y">
                          <mutation elseif="2"></mutation>
                          <value name="IF0">
                            <block type="logic_operation" id="S_;XckvgIBZp:!_5.8^L" inline="false">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_compare" id="C?FxV~gvdX|k@}zi7uXG">
                                  <field name="OP">GT</field>
                                  <value name="A">
                                    <block type="on_source" id="hJO^h2lq_Oc^=t~HE9f8">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="math_number" id=".Cf-U`/m3J1W5@fCz!G)">
                                      <field name="NUM">5</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_compare" id="IwEOANp^|ZY?f37d!U*l">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="variables_get" id="Y;ML1WUeF[Oc;PO3#}_#">
                                      <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="9T]YE%V4^}Zl77L/-,rJ">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="variables_set" id=":bz/v.-cHeI$K~^T$iko">
                              <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="0d2?Sx,Uv#HLct!X)4WJ">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="telegram" id="|ntllg4xP;|WPMcU[g/8">
                                  <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="Dr6NqWDIdiR9N5*TS!SZ">
                                      <field name="TEXT">text</field>
                                    </shadow>
                                    <block type="text" id="2ij,tq-)T^ttf6qXC`r9">
                                      <field name="TEXT">Geschirrspüler gestartet</field>
                                    </block>
                                  </value>
                                  <value name="USERNAME">
                                    <block type="text" id="I,k;_{mH^)2r+TTMRz.$">
                                      <field name="TEXT">Thorben</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <value name="IF1">
                            <block type="logic_operation" id="aK1W8]MX$s}vqFS,0SQ%" inline="false">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_operation" id="Ou/ZN2oMeJ,2kr=!IV}d" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="pKM!uW$o2,M?Io$M6YCx">
                                      <field name="OP">LT</field>
                                      <value name="A">
                                        <block type="on_source" id="ryOhDFn^F.2Zk%^ohN2g">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="q.]PmC2LEOVSuJ_?{@)I">
                                          <field name="NUM">5</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="KgEl]P;2LDRW#b5@;E/K">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="80PG2X.u#$:n:M+xwVn2">
                                          <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="$DxVs0=@h/?.lR?yi4.w">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_operation" id="]f`^J#p^0lWaq-@htw?j" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id=";ztG`7-TwyNdQY~+dOCW">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="pK$]uD+IAl)n-)Y_(hyk">
                                          <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="SdksIb@b9%l2OPu%WQG]">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="2%/B*_{-On|,$9Au8zNB">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="qX}6`]XHc!.N[i;kQP$o">
                                          <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="s2$~[Mm;iN+W#4lK{HG9">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO1">
                            <block type="variables_set" id="gyKOq*@[7?#g4GMl[36E">
                              <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="UV0OD@6XZ@4N{MTEEv,F">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="timeouts_settimeout" id="oPdX|sy]T(+T0B_1XH_X">
                                  <field name="NAME">timeout</field>
                                  <field name="DELAY">2</field>
                                  <field name="UNIT">min</field>
                                  <statement name="STATEMENT">
                                    <block type="controls_if" id="aEt|=,fH2]_Z*n#R/Yuy">
                                      <mutation else="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_compare" id="@-yjla)?hOXU8%#nR/A-">
                                          <field name="OP">LT</field>
                                          <value name="A">
                                            <block type="on_source" id="H9+RNG;HC~2|W?Xz3],f">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="uuPVt7]BlgS:YGv~zE/[">
                                              <field name="NUM">5</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="controls_whileUntil" id="YJ]Ml2pL5sYmJy3}4CyH">
                                          <field name="MODE">WHILE</field>
                                          <value name="BOOL">
                                            <block type="logic_compare" id="`/yUh513YQz(D$+%3s7e">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="variables_get" id="s{Ot;zZKzorW3@wF~/8A">
                                                  <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_boolean" id="4v5+=[(b7~h1qc%t#%=O">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO">
                                            <block type="timeouts_settimeout" id="AJ_Ljr:y8]V_1]WtYsz!">
                                              <field name="NAME">timeout2</field>
                                              <field name="DELAY">20</field>
                                              <field name="UNIT">sec</field>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="[h*9RDH3WzSJDl}c!-9(">
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="Cv%Ww:s_bZDBY!3y7wS?">
                                                      <field name="OP">GT</field>
                                                      <value name="A">
                                                        <block type="on_source" id="?e/d`M?|d}#T!Vo1`e`F">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="c$niJZEn|WKQAoH}0Nr4">
                                                          <field name="NUM">8</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="variables_set" id="BDHy!?2Td0G}H2t%b@-q">
                                                      <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="tBe9R@A/kspo9_H6-#9:">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="c)u6:OQ+!Hh?xtGa:1^E">
                                                          <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="7hqA9cE97V=Nvi$L)o|N">
                                                              <field name="BOOL">FALSE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </statement>
                                            </block>
                                          </statement>
                                        </block>
                                      </statement>
                                      <statement name="ELSE">
                                        <block type="variables_set" id="t7S`dp7~.]2|T={JNuo!">
                                          <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="PWtr*?f)0-fpm7m!VU$i">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </statement>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <value name="IF2">
                            <block type="logic_operation" id="zC#[iGDaRRG3Im+Y(2OA" inline="false">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_operation" id="4S}3t}O=o(b.fW$7Fxs?" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="-Xb4Dby~e1LGAa!xNyow">
                                      <field name="OP">LT</field>
                                      <value name="A">
                                        <block type="on_source" id="1U=EE;r,^~%GxidS{=_x">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="B?3.W`OON!0Dh1)I=ZFN">
                                          <field name="NUM">5</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="QM0d#82G9`uQVm)J]t;p">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="2U/{xZgQ$lNYxI5a=9Ap">
                                          <field name="VAR" id="u)kvrD,(T/X{z%S*fXQT" variabletype="">prüft</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="mScx0xE_,/U@gbk,kY;/">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_operation" id="gTAGEK|vDvn=l81PM|_r" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="EU|d8C7|%9j0bOs{GL~K">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="Pdx.1M9Y^0{3KaDp#ZL-">
                                          <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="6H-Hjbt6yrQWsN8j3sN4">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="M1L5tg/{(h/4k.CZPjod">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="xrYOPUG`Lx-=7?Do5M^q">
                                          <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="!%EwZ`=oi|EV0`@=|+-O">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO2">
                            <block type="telegram" id="S1y|m#1OM/mEbn+YM}}h">
                              <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="rO{Ha:S~llGBzS!T`:Ik">
                                  <field name="TEXT">text</field>
                                </shadow>
                                <block type="text" id=",;bz.Ga$a^qi1S~=1~j]">
                                  <field name="TEXT">Geschirrspüler ist fertig!</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="hCHr_nq`{O[j`le?K|e2">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">alexa2.0.Echo-Devices.G090P3088147029K.Commands.speak</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="text" id="mUs8wuH75R`t4/ce?KJ+">
                                      <field name="TEXT">Geschirrspüler ist fertig</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="@a)BR2V=V05n}d,Qh}vv">
                                      <field name="VAR" id="9tA@(r@l25PEGfb3@*QX" variabletype="">geschirrspuelerAktiv</field>
                                      <value name="VALUE">
                                        <block type="logic_boolean" id="naC6~f`09o)GH(iNRF{d">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="gn[~Rtb*^A}@AqW8~TZt">
                                          <field name="VAR" id="=e%GN.LN)Gy-5HtrE;9Q" variabletype="">letztesAbpumpenFindetStatt</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="tBfdf8NW3b2WqQ*!n^#O">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      

      Ich danke euch im Voraus!

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

        @TKnpl sagte:

        Habt ihr eine Idee, was hier falsch ist?

        "wiederhole solange" ist ein äußerst gefährlicher Befehl, mit dem man regelmäßig Endlosschleifen produziert. Du brauchst das Intervall.

        T 2 Replies Last reply Reply Quote 0
        • T
          TKnpl @paul53 last edited by

          @paul53 Das werde ich testen! Danke für den Tipp!

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

            @paul53 Hängt nicht mehr. Vielen Dank!

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

              @TKnpl

              Kannst du bitte den geänderten funktionierenden kompletten Script weitergeben. Danke

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

              Support us

              ioBroker
              Community Adapters
              Donate

              869
              Online

              32.0k
              Users

              80.4k
              Topics

              1.3m
              Posts

              blockly javascript
              3
              5
              281
              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