Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Timeout für Waschmaschine

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timeout für Waschmaschine

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

      Hallo zusammen,
      ich habe als Blockly Laie 👶 das folgendes Script am laufen, was mir hier noch fehlt, ist ein Timeout damit die Waschmaschine nicht jedes mal fertig meldet, wenn sie zwischendurch mal sparsam wird. Das funktioniert schon recht gut mit diesem Script.
      Leider kommt es doch immer wieder zu Fehlmeldungen wenn der Wert unterschritten wird. Ich habe schon eine menge hier gelesen und probiert aber irgendwie bekomme ich es nicht hin. Alle Scripte die ich finde beinhalten meist noch viel mehr Funktionen so das nicht genau weiß welchen teil ich nun wo in mein Script einbauen muss. Vielleicht kann mir hier jemand behilflich sein.

      d075d70e-d013-47a6-8bed-3c576a2b5134-image.png ```

      code_text

        <variables>
          <variable id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</variable>
          <variable type="timeout" id="timeout2">timeout2</variable>
        </variables>
        <block type="variables_set" id="i@;~wXOo)(5+=$*9v:QF" x="13" y="13">
          <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field>
          <value name="VALUE">
            <block type="logic_boolean" id="stD7DD67D[4(YSQ3dCvR">
              <field name="BOOL">FALSE</field>
            </block>
          </value>
          <next>
            <block type="on_ext" id="%l??Ns0%ZOhlZQJn)RIY">
              <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="8p+iN2CjzC1M$2o|Xq=m">
                  <field name="oid">sonoff.0.DVES_01C220.ENERGY_Power</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="-4y,4m5H6`8[U,UjJH(0">
                  <mutation elseif="1"></mutation>
                  <value name="IF0">
                    <block type="logic_operation" id="-^U__L=#GGG_LD~6o~hg" inline="false">
                      <field name="OP">AND</field>
                      <comment pinned="false" h="90" w="276">Falls Maschinengang erkannt (Wattzahl &gt;10) UND Modus ist auf falsch dann starte und schreibe den aktuellen verbrauch in DP</comment>
                      <value name="A">
                        <block type="logic_compare" id="-%Kg)H+S;{}Yyd@cqe=l">
                          <field name="OP">GTE</field>
                          <value name="A">
                            <block type="on_source" id="QS5)==Ahwtfe.nNTl`R@">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="OT1x**T)z3hCtGxhqDDI">
                              <field name="NUM">30</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_compare" id=",LW+*+gUB/lbO[yiNJdv">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="variables_get" id="[$/1md}o9xogfLp*!}WA">
                              <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="V}KP*,b;J,.3q802Q0l^">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="variables_set" id="HHIFm}6:*U#VVrIRv7e|">
                      <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="%.`!o$LmcZOm0##5WWoJ">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <value name="IF1">
                    <block type="logic_operation" id="[:7QWv4Op8S6o@lG45(y" inline="false">
                      <field name="OP">AND</field>
                      <comment pinned="false" h="94" w="164">Falls Verbrauch unter 3 Watt fällt und der Modus ist Wahr dann beende den Waschmodus.</comment>
                      <value name="A">
                        <block type="logic_compare" id="igy_8vlVI|k$sL-O!_Ya">
                          <field name="OP">LTE</field>
                          <value name="A">
                            <block type="on_source" id="oKi^o%$Qa%i0^MVE?s)Y">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="*bx}yjZ_C7J2#/$NzLoS">
                              <field name="NUM">6</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_compare" id="}A,!m2TVXL.^LQWg%!e|">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="variables_get" id="r/rnzWL?1!/.2!+pr@5(">
                              <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="S,c^%F*KOd(.(Q(BL!=g">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO1">
                    <block type="variables_set" id="vj!Vu=sDr5yt.:ZU#OfU">
                      <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="5xCJ(QRB3mIo5.*f1Fsg">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="timeouts_settimeout" id=",NjGW@Wtt+n7RKNkcxK!">
                          <field name="NAME">timeout2</field>
                          <field name="DELAY">5</field>
                          <field name="UNIT">sec</field>
                          <statement name="STATEMENT">
                            <block type="telegram" id=":)Sqh|eio_J%+h7Q@6nJ">
                              <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="zaE.r=+WylppU_4Nmdx~">
                                  <field name="TEXT">Waschmaschine ist fertig</field>
                                </shadow>
                              </value>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      

      so müsst der Teil wohl für den Timeout aussehen, ist aus dem Blockly Meldung wenn Waschmaschine fertig Beitrag.
      3770a843-5aa3-4583-b853-4c1ee6c7c798-image.png

      Danke schon mal vorab an alle die helfen können.
      Grüße
      Markus

      paul53 Dutchman 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @ceulem last edited by paul53

        @ceulem sagte:

        so müsst der Teil wohl für den Timeout aussehen

        Weshalb lässt Du stop timeout2 weg ?

        Einfaches Beispiel.

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators @ceulem last edited by

          @ceulem

          schau mal hier fuer beispiel, gibt btw einige davon im forum 🙂
          https://forum.iobroker.net/topic/21407/waschmaschinen-fertig-wäsche-aufhängen/6

          Die logic muss sein das du einen schwellenwert fuer den verbrauch hast den die Waschmaschine hört auf zu drehen (kein ström verbrauch) und laeuft wieder an das muss man entprellen

          C 1 Reply Last reply Reply Quote 0
          • C
            ceulem @Dutchman last edited by

            @Dutchman Ich habe ja schon geschrieben, das ich einige Beispiele hier im Forum angeschaut habe, hier aber nicht den richtigen weg für mich gefunden habe. Mit einem Link komme ich nicht weiter. Trotzdem, Danke schön für deine Unterstützung.

            Homoran Dutchman da_Woody paul53 4 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @ceulem last edited by

              @ceulem Pauls Hinweis ist wahrscheinlich die Lösung.
              Du startest einen Timeout (wobei IMHO 5 Sekunden zu wenig sind), bei der nächsten Änderung der Leistung von z.B. 4 auf 6 Watt startet der selbe Timeout nochmal ohne den bisherigen zu stoppen

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators @ceulem last edited by

                @ceulem sagte in Timeout für Waschmaschine:

                @Dutchman Ich habe ja schon geschrieben, das ich einige Beispiele hier im Forum angeschaut habe, hier aber nicht den richtigen weg für mich gefunden habe. Mit einem Link komme ich nicht weiter. Trotzdem, Danke schön für deine Unterstützung.

                hmm schwierig dan raus zu finden wo es klemmt, benutzt du discord ?
                Dan kom mal hier rein geht schneller 🙂

                https://discord.gg/HwUCwsH (ioBroker Discord)

                1 Reply Last reply Reply Quote 0
                • da_Woody
                  da_Woody @ceulem last edited by

                  @ceulem sascha erklärt das mit den zeiten recht gut, wie das "gestrickt" werden kann. ist zwar mit shelly und der app, aber fürs blockly könnte dir das eventuell helfen mit den zeiten zu jonglieren...
                  https://www.youtube.com/watch?v=PAloTrdec7Q
                  hat vor iobroker perfekt funktioniert bei mir (wama und trockner)

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

                    @ceulem sagte:

                    Mit einem Link komme ich nicht weiter

                    Dann vielleicht hiermit:

                    Blockly_temp.JPG

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable type="timeout" id="timeout">timeout</variable>
                     </variables>
                     <block type="on_ext" id="%l??Ns0%ZOhlZQJn)RIY" x="37" y="-37">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="8p+iN2CjzC1M$2o|Xq=m">
                           <field name="oid">sonoff.0.DVES_01C220.ENERGY_Power</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="e,5-a0Q,X}eX*$1UG9W~">
                           <mutation elseif="1"></mutation>
                           <value name="IF0">
                             <block type="logic_compare" id="62r#NP2fB-%{`a}l,bIF">
                               <field name="OP">GT</field>
                               <value name="A">
                                 <block type="on_source" id="Fav=vG:xr)=98=iOtAID">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="/%GOD*g8qzl:[-eaNJ;m">
                                   <field name="NUM">10</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="timeouts_cleartimeout" id="+sSLfr.770fi.;H+ULZ,">
                               <field name="NAME">timeout</field>
                             </block>
                           </statement>
                           <value name="IF1">
                             <block type="logic_negate" id="`QX1YO5u%veH:awvg?_x">
                               <value name="BOOL">
                                 <block type="variables_get" id="3c;{lMk9#l(:h(OIOaZb">
                                   <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO1">
                             <block type="timeouts_settimeout" id="h_nb%EAd{3%4l7Gj5Er`">
                               <field name="NAME">timeout</field>
                               <field name="DELAY">120</field>
                               <field name="UNIT">sec</field>
                               <statement name="STATEMENT">
                                 <block type="telegram" id="(P@W{?9;uLX87d]:r3UJ">
                                   <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="AJF__;Tg+37=toZCqxAi">
                                       <field name="TEXT">Waschmaschine ist fertig</field>
                                     </shadow>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

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

                      @paul53 Danke für deine Hilfe, irgendwas fehlt hier aber noch, mit deinem Script bekomme ich für mich nicht nachvollziehbar wenn die Waschmaschine kein Strom mehr verbrauch nachrichten.

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

                        @ceulem sagte:

                        wenn die Waschmaschine kein Strom mehr verbrauch nachrichten.

                        Hast Du das Script importiert oder nachgebaut ?
                        Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

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

                          @paul53 Ich habe das Script importiert.

                          var timeout;
                          
                          
                          on({id: 'sonoff.0.DVES_01C220.ENERGY_Power', change: "ne"}, function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if ((obj.state ? obj.state.val : "") > 10) {
                              (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                            } else if (!timeout) {
                              timeout = setTimeout(function () {
                                sendTo("telegram", "send", {
                                    text: 'Waschmaschine ist fertig'
                                });
                              }, 120000);
                            }
                          });
                          
                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @ceulem last edited by paul53

                            @ceulem
                            Der Script-Code ist in Ordnung. Steigt die Leistung bei beendeter Wäsche manchmal noch über 10 ? Dann sollte ein höherer Grenzwert (z.B. 30) gewählt werden. Oder die Verzögerungszeit ist mit 2 Minuten noch zu kurz ?

                            da_Woody C 2 Replies Last reply Reply Quote 0
                            • da_Woody
                              da_Woody @paul53 last edited by

                              @paul53 ich tipp da eher auf die zeit... 5min wären sicher besser...

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

                                @paul53.
                                Heute Morgen habe ich bemerkt das mein Wlan Repeater keine Verbindung mehr zur SP111 herstellen wollte. Jetzt mal alles neugestartet, das Script von dir auch noch einmal.
                                Ich bekomme wenn ich das Script starte und die Maschine nicht läuft nach 2 Minuten die Meldung.
                                Das ist denke ich auch normal, da das Script ja nicht weiß das die Maschine schon aus war und nicht gerade ausgegangen ist.
                                Bekommt man das noch irgendwie hin?

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

                                  @ceulem sagte:

                                  Bekommt man das noch irgendwie hin?

                                  Bei Scriptstart die Variable timeout abhängig von der Leistung setzen:

                                  Blockly_temp.JPG

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

                                    @paul53 So hat es jetzt funktioniert 👍 Danke für deine Unterstützung 👏

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    659
                                    Online

                                    32.0k
                                    Users

                                    80.4k
                                    Topics

                                    1.3m
                                    Posts

                                    5
                                    16
                                    813
                                    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