Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Waschmaschine / Trockner blockly

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Waschmaschine / Trockner blockly

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

      Hallo zusammen,

      ich habe für Waschmaschine und Trockner jeweils SP111 Steckdosen im Einsatz.
      Nun wollte ich eine Medlung wenn die Geräte fertig sind und habe folgenden blockly erstellt (mit Hilfe von Youtube)
      df662e05-07fe-400a-b2dd-7bb609af517d-grafik.png
      Die Waschmaschine ist schon älter und hat in Standby einen Verbrauch von ca. 2W.
      Jetzt mein Problem: Diese 2W werden auch beim Betrieb des öfteren erreicht (einweichen der Wäsche etc.).
      Um nun Fehlmeldungen zu verhindert habe ich eine Zeitverzögerung eingebaut, so das eigentlcih die Meldung erst
      kommen soll, wenn die 2W länger als 420sec. anstehen.
      Leider funktioniert das nicht, so das ich während eines Waschvorganges mehere Fertig Meldungen bekomme.
      Kann mir bitte jemand einen Tipp geben, was ich ändern muss?
      Vielen Dank und schönen Gruß,
      Jörg

      J 1 Reply Last reply Reply Quote 0
      • N
        Nordischerjung last edited by

        Moin,

        setze den stop timeout auch on die Bedingung >=30, dann stoppst du die Zeit beim Wiederanlauf

        D 1 Reply Last reply Reply Quote 0
        • D
          DerHesse @Nordischerjung last edited by

          @Nordischerjung Danke für den Tipp, Du meinst so:
          c79001d8-214e-4bb2-9631-0ebb56c429b8-grafik.png

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @DerHesse last edited by

            @DerHesse Ich empfehl eine Forum-Suche nach Waschmaschine - es gibt gefühlt 10 Lösungen für Dein problem in verschiedenen Threads, z.Bsp. Diesen.

            Im Übrigen ist das ein 'standard' Problem. - das entprellen von Sensoren. Die Lösung ist immer:

            Wenn ein Sensorwert eine Schwelle passiert nach x ms nachschauen ob der Wert immer noch jenseits der Schwelle ist, dann agieren.

            A.

            1 Reply Last reply Reply Quote 0
            • J
              juanmax @DerHesse last edited by

              @DerHesse

              En bisschen gemischt zwischen English und Deutsch, aber mein Skript schaut erstmal nach 10 min (timeout variable) um diese Probleme umzugehen. Kannst ja mal für dich adaptieren:

              var WaMa_Dauerzaehler=0, Dauerzaehler,Standby_timer=0,WH=0,string_info;
              var Telegram_reminder;
              const st = {
                  OFF: 'OFF',
                  ACTIVE: 'ACTIVE',
                  FINISHED: 'FINISHED',
                  STD_BY: 'STD_BY'
              }
              const StdBy = 4 ; // 4 if less than 4 W for longer than 'timeout' minutes, then door was opened
              const Moving = 10 ; // If less than 10 W for longer than 'timeout' minutes, then it finished
              const Active = 1500; // Every start will supass this power consumption
              const timeout = 10;  //Check for this long before changing to finished or stdby
              const reminder_s = 900; //Send to Telegram reminder every x sec
              let WaMa = st.OFF
              
              function check_run(power) {
              if (power > Active) {
                  sendTo('telegram.0', {text: 'Waschmaschine started!'});
                  WaMa = st.ACTIVE;
                  WH = parseFloat(getState("fritzdect.0.DECT200_116570146230.energy").val);
                  WaMa_Dauerzaehler = 0;
                  Dauerzaehler = setInterval(function () { //Increase every 1min
                  WaMa_Dauerzaehler = (typeof WaMa_Dauerzaehler == 'number' ? WaMa_Dauerzaehler : 0) + 1; },60*1000);
              }}
              
              on({id: 'fritzdect.0.DECT200_116570146230.power', change: "ne"}, function (obj) {
              //on({id: 'zigbee.0.7cb03eaa0a047bda.brightness', change: "ne"}, function (obj) {
              console.log('Status Waschmaschine was'+WaMa+' current power '+ obj.state.val+'W');        
              switch(WaMa){
                  case st.ACTIVE:
                      console.log('Main timer '+WaMa_Dauerzaehler+' StandBy '+Standby_timer);                
                      if ( obj.state.val > Moving ) { //While power required, reset baseline time
                          Standby_timer = WaMa_Dauerzaehler;
                      }
                      if ((WaMa_Dauerzaehler-Standby_timer) >= timeout) { //Already 10 min with low consumption
                          WaMa = st.FINISHED;
                          WH = (parseFloat(getState("fritzdect.0.DECT200_116570146230.energy").val)- WH)/1000;
                          string_info = 'Waschmaschine ' + WaMa + '. Dauer ' + WaMa_Dauerzaehler +' min' + ' KWh '+WH
                          console.log(string_info);
                          sendTo('telegram.0', {text: string_info}); //SEND info directy
                          //Send this every 15 minutes until cleared
                          Telegram_reminder = setInterval(function () {
                              sendTo('telegram.0', {text: 'Reminder: Waschmaschine is fertig!'});
                              console.log('Reminder WaMa Ready');
                          },reminder_s*1000);
                      }
                      break;
                  case st.OFF: //TURNED OFF BY USER
                       check_run(obj.state.val);
                      break;
                  case st.FINISHED: //FINISHED BUT still moving around (door closed)
                       if(obj.state.val > StdBy) {
                           Standby_timer = WaMa_Dauerzaehler;
                       }
                       if (WaMa_Dauerzaehler - Standby_timer >= timeout ) { //10 minutes having only STDBY consumption, assume door opened   
                          WaMa = st.STD_BY;
                          if (Telegram_reminder) {clearInterval(Telegram_reminder); Telegram_reminder = null;}
                          sendTo('telegram.0', {text: 'Waschmaschine bitte komplett auschalten um Standby strom zu sparen'});
                          if (Dauerzaehler) {clearInterval(Dauerzaehler); Dauerzaehler = null;}
                       }
                      if(obj.state.val < 1) {
                          WaMa = st.FINISHED;
                          if (Dauerzaehler) {clearInterval(Dauerzaehler); Dauerzaehler = null;}
                       }
                      check_run(obj.state.val);
                      break;
                  case st.STD_BY: //FINISHED BUT still turned on (door open)
                       console.log('Please turn WaMa off');
                       if (obj.state.val < 1) { //Less than 1W is off  
                          WaMa = st.OFF;
                          console.log('WaMa turned Off');
                       }
                      check_run(obj.state.val);
                      break;
              }})
              
              1 Reply Last reply Reply Quote 0
              • D
                DerHesse last edited by

                Vielen Dank an alle, der erste Tipp hat schon zum Erfolg geführt

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

                Support us

                ioBroker
                Community Adapters
                Donate

                737
                Online

                31.8k
                Users

                79.9k
                Topics

                1.3m
                Posts

                blockly javascript monitoring
                4
                6
                1679
                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