Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Sonoff POW ändert Watt ohne Verbraucher

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Sonoff POW ändert Watt ohne Verbraucher

    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      Xyolyp @funboxbolzer last edited by Xyolyp

      @funboxbolzer Ich habe zwei Skripte für die Waschmaschine. Eins zum verkürzen des Telemetrieintervals und eins zum erkennen, ob die Maschine läuft.
      Ich habe drei alias Datenpunkte für die beiden Skripte angelegt. Einer zeigt auf den aktuellen POWER state vom sonoff, einer zeigt auf die aktuell verbrauchte Leistung und einer zeigt auf einen neu angelegten Datenpunkt unter 0_userdata.0, in den dann geschrieben wird, ob die Waschmaschine gerade läuft oder nicht. Das kann dann in beliebigen weiteren Skripten verwendet werden, um eine Benachrichtigung zu versenden oder die Waschmaschine Stromlos zu schalten wenn sie seit 15 Minuten fertig ist.

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <block type="on_ext" id="u?O*UVyMx0rd%MBeD;Up" x="38" y="13">
         <mutation items="1"></mutation>
         <field name="CONDITION">ne</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="R2qTJ{J6E)9)U4@JJDx8">
             <field name="oid">alias.0.HWR.Waschmaschine.Power</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="84U.u(^9[Ym[lA)dUVX~">
             <mutation else="1"></mutation>
             <value name="IF0">
               <block type="on_source" id="KAf,!P.VZt#7=2o7Mv{$">
                 <field name="ATTR">state.val</field>
               </block>
             </value>
             <statement name="DO0">
               <block type="control" id="`i-VtFR6bOmrQ_7*KnEK">
                 <mutation delay_input="false"></mutation>
                 <field name="OID">sonoff.0.sonoff-waschmaschine.TelePeriod</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="math_number" id=".8)l5ax]gv{@1}5pC9dV">
                     <field name="NUM">10</field>
                   </block>
                 </value>
               </block>
             </statement>
             <statement name="ELSE">
               <block type="control" id="#Du*wmT8H:rF,URwO6nI">
                 <mutation delay_input="false"></mutation>
                 <field name="OID">sonoff.0.sonoff-waschmaschine.TelePeriod</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="math_number" id="yRO6?^7HQCJol}MAk_FY">
                     <field name="NUM">300</field>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </statement>
       </block>
      </xml>
      


      <xml xmlns="http://www.w3.org/1999/xhtml">
       <variables>
         <variable type="" id="Tky,N*M)d9hg!w3e/HbI">LowPowerThreashold</variable>
         <variable type="" id="%*vJ6B=tW8BlT*)34D!i">WashingMachineLowPower</variable>
         <variable type="undefined" id="WashingMachineLowPower">WashingMachineLowPower</variable>
       </variables>
       <block type="variables_set" id="g.P/1)~Z}k9^;ZXFFo]Y" x="13" y="-138">
         <field name="VAR" id="Tky,N*M)d9hg!w3e/HbI" variabletype="">LowPowerThreashold</field>
         <value name="VALUE">
           <block type="math_number" id="ODv^hv)MTk/s5[rTb;`o">
             <field name="NUM">3</field>
           </block>
         </value>
         <next>
           <block type="on_ext" id="2`f@TJ*t!$Ae^WozcZNY">
             <mutation items="1"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION">true</field>
             <value name="OID0">
               <shadow type="field_oid" id="NE]hZ%/nRqSXWga}kZtW">
                 <field name="oid">alias.0.HWR.Waschmaschine.Leistung</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="iHON4,y,M!#HigC7h|aO">
                 <mutation elseif="1"></mutation>
                 <value name="IF0">
                   <block type="logic_operation" id="G+fI5/8]A]5W+d}c-d@F">
                     <field name="OP">AND</field>
                     <value name="A">
                       <block type="get_value" id=";#@My+J,BGy$.@+%JZ%d">
                         <field name="ATTR">val</field>
                         <field name="OID">alias.0.HWR.Waschmaschine.laeuft</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_operation" id="u_?5#f)?]bWwL[k)VI,F">
                         <field name="OP">AND</field>
                         <value name="A">
                           <block type="logic_negate" id="J;C@H^:16LT=T!-ifr,t">
                             <value name="BOOL">
                               <block type="variables_get" id="Tx%Ei^v4#mi5Pq(CgEuk">
                                 <field name="VAR" id="%*vJ6B=tW8BlT*)34D!i" variabletype="">WashingMachineLowPower</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_compare" id="FLfcq8A{b#^Nk5Z1Iz*9">
                             <field name="OP">LTE</field>
                             <value name="A">
                               <block type="on_source" id="`]|7v(87Y:QV9AY7r7S2">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="variables_get" id="+a8(w@:e=JQ48{182[l9">
                                 <field name="VAR" id="Tky,N*M)d9hg!w3e/HbI" variabletype="">LowPowerThreashold</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="variables_set" id="L]#W2VaOJ#=UI,3-eUwe">
                     <field name="VAR" id="%*vJ6B=tW8BlT*)34D!i" variabletype="">WashingMachineLowPower</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="Oj-=`dM[d;]7VJtMm/;u">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                     <next>
                       <block type="timeouts_settimeout" id="PEDO11-If|Fl+jA5DNm6">
                         <field name="NAME">WashingMachineLowPower</field>
                         <field name="DELAY">3</field>
                         <field name="UNIT">min</field>
                         <statement name="STATEMENT">
                           <block type="update" id="=@OgGU2;1`d1u:J.73DJ">
                             <mutation delay_input="false"></mutation>
                             <field name="OID">alias.0.HWR.Waschmaschine.laeuft</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="e{-Wp*0HH+;8vAQN?A0Y">
                                 <field name="BOOL">FALSE</field>
                               </block>
                             </value>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </statement>
                 <value name="IF1">
                   <block type="logic_operation" id="Pmjd=AJ3BmZzmWOa:+Yz">
                     <field name="OP">AND</field>
                     <value name="A">
                       <block type="logic_operation" id="mT|l|ytU!B-xgK9?6DUc">
                         <field name="OP">OR</field>
                         <value name="A">
                           <block type="variables_get" id="E^kh7P6ptt4otpF9@~m{">
                             <field name="VAR" id="%*vJ6B=tW8BlT*)34D!i" variabletype="">WashingMachineLowPower</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_negate" id="gfToitZFhm(Bh^3^qcyX">
                             <value name="BOOL">
                               <block type="get_value" id=":D`qVy-/i`s{]=ZrJf*n">
                                 <field name="ATTR">val</field>
                                 <field name="OID">alias.0.HWR.Waschmaschine.laeuft</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="logic_compare" id="djyuPnwkxq^pYyU1uNbO">
                         <field name="OP">GT</field>
                         <value name="A">
                           <block type="on_source" id="ybjJ+s]UJ![v_eA$.F+p">
                             <field name="ATTR">state.val</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="variables_get" id="cupWjTgQJB.1?Ja]Ax;R">
                             <field name="VAR" id="Tky,N*M)d9hg!w3e/HbI" variabletype="">LowPowerThreashold</field>
                           </block>
                         </value>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO1">
                   <block type="update" id="7cj9V.-sqlJINo70Y*9B">
                     <mutation delay_input="false"></mutation>
                     <field name="OID">alias.0.HWR.Waschmaschine.laeuft</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="o7PF}~F!tw$$_Gb0+eio">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                     <next>
                       <block type="timeouts_cleartimeout" id="Y-Ps;O$$pBa}:ftJhDav">
                         <field name="NAME">WashingMachineLowPower</field>
                         <next>
                           <block type="variables_set" id="F2bq/:OQd(ASX4+B-8GL">
                             <field name="VAR" id="%*vJ6B=tW8BlT*)34D!i" variabletype="">WashingMachineLowPower</field>
                             <value name="VALUE">
                               <block type="logic_boolean" id="}}T5Iav%PxSTSH5;Luda">
                                 <field name="BOOL">FALSE</field>
                               </block>
                             </value>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      F 2 Replies Last reply Reply Quote 0
      • F
        funboxbolzer last edited by

        vielen Dank schon einmal. Am Wochenende werde ich mich der WAMA wieder widmen 😊 . Das wird doch bei mir auch mal klappen👍
        gebe wieder feedback.

        1 Reply Last reply Reply Quote 0
        • F
          funboxbolzer @Xyolyp last edited by

          @Xyolyp sagte in Sonoff POW ändert Watt ohne Verbraucher:

          @funboxbolzer Ich habe zwei Skripte für die Waschmaschine. Eins zum verkürzen des Telemetrieintervals und .....
          ich habe bei mir den telemetrieinterval nicht im Object vom sonoff.... muss ich da noch was zusätzlich irgendwo im sonoff aktivieren?

          FredF 1 Reply Last reply Reply Quote 0
          • FredF
            FredF Most Active Forum Testing @funboxbolzer last edited by

            @funboxbolzer sagte in Sonoff POW ändert Watt ohne Verbraucher:

            muss ich da noch was zusätzlich irgendwo im sonoff aktivieren?

            In der Sonoff Instanz den Haken bei Für stat/Result setzen und in der Tasmota Konsole deines Sonoff teleperiod eingeben, dann kommt der Datenpunkt

            F 1 Reply Last reply Reply Quote 0
            • F
              funboxbolzer @FredF last edited by

              @FredF danke

              1 Reply Last reply Reply Quote 0
              • F
                funboxbolzer @Xyolyp last edited by funboxbolzer

                ...... und einer zeigt auf einen neu angelegten Datenpunkt unter 0_userdata.0, in den dann geschrieben wird, ob die Waschmaschine gerade läuft oder nicht. .....

                den Datenpunkt habe ich nicht, wie erstelle ich den richtig? Verstehe das noch nicht so richtig... 😧
                18d7d59b-d4c4-4332-9950-3ec34d5e1756-image.png

                das ist bei dir dieser

                alias.0.HWR.Waschmaschine.laeuft
                

                danke schon mal 👍

                X 1 Reply Last reply Reply Quote 0
                • X
                  Xyolyp @funboxbolzer last edited by

                  @funboxbolzer Der Ordner 0_userdata.0 ist für Datenpunkte gedacht, die du als Anwender für Skripte oder ähnliches benötigst. Du kannst den Ordner 0_userdata.0 anklicken und oben auf das + Symbol, um einen neuen Datenpunkt zu erstellen. Dem kannst du dann einen beliebigen Namen (z.B. Waschmaschine) geben. Der Typ sollte Logikwert sein, also wahr/falsch. In diesen Datenpunkt schreibt das Skript dann rein, ob die Waschmaschine gerade läuft oder nicht.
                  Der Alias alias.0.HWR.Waschmaschine.laeuft zeigt dann auf diesen von Hand erstellten Datenpunkt. Das habe ich aber auch nur gemacht, weil ich in meinen Skripten versuche nichts ohne Alias anzubinden. Du kannst statt der ganzen Alias-Sache auch die Adressen im Blockly ändern, so dass sie direkt auf die Datenpunkte zeigen.

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    funboxbolzer @Xyolyp last edited by

                    @Xyolyp
                    danke. ich verstehe jetzt nur nicht, in welchen skript der alias.0.HWR.Waschmaschine.laeuft geändert wird. sehen nur im skript "Waschvorgang" das der Punkt abgefragt wird... oder übersehe ich irgendwo was?? Sorry, warscheinlich total easy gerade .... 🙂
                    Danke Klaus

                    X 1 Reply Last reply Reply Quote 0
                    • X
                      Xyolyp @funboxbolzer last edited by

                      @funboxbolzer sagte in Sonoff POW ändert Watt ohne Verbraucher:

                      An den vier Stellen wird der alias.0.HWR.Waschmaschine.laeuft Datenpunkt genutzt.
                      3c2a1548-3b1a-4f94-87e4-3b55497f260f-image.png

                      F 1 Reply Last reply Reply Quote 0
                      • OpenSourceNomad
                        OpenSourceNomad Most Active @funboxbolzer last edited by OpenSourceNomad

                        @funboxbolzer said in Sonoff POW ändert Watt ohne Verbraucher:

                        Mein Sonoff POW ist an der Waschmaschine angeschlossen. Wenn die Waschmaschine aus ist, hat er immer mal (nach einigen Stunden) Watt Änderung von 0 auf 2 Watt, ohne das die Maschine an ist. Ist das normal?

                        Ist das ein Sonoff Pow (ohne R2)? Der schwankt in der Tat ein bisschen. Der benutzt intern einen hlw8012, im Nachfolger Pow R2 werkelt ein cse7766 welcher besser Ergebnisse erzielt.

                        Aber auch mit einem kalibrierten cse7766 lässt sich ordentlich messen (vielleicht mit Ausnahme eines Gosund SP111 welcher leider grundsätzlich falsch desgined wurde).

                        Für meine Waschmaschine habe ich ebenfalls eine Gerätschaft mit cse7766 und mache alles direkt alles "on the edge" (edge computing ist ja hip habe ich gehört!), sprich ich muss nicht's nacharbeiten in der Zentrale und bekomme direkt den finalen Status reportiert.

                        Mittels esphome habe ich mir direkt einen (template) binary_sensor auf dem esp erstellt welcher auf an springt sobald die Waschmaschine mehr als 2W Leistung zieht (ergo läuft), kann dann z.B. so aussehen:

                        binary_sensor
                          - platform: template
                            name: "Washing Machine Running"
                            filters:
                              - delayed_off: 15s
                            lambda: |-
                              if (isnan(id(power).state)) {
                                return {};
                              } else if (id(power).state > 2) {
                                // Running
                                return true;
                              } else {
                                // Not running
                                return false;
                              }
                        

                        Kann man natürlich beliebig weiter spinnen (im wahrsten Sinne des Wortes) um z.B. das schleudern zu erkennen.

                        Für dein Problem mit den 2 Watt kannst du natürlich auch direkt auf den esp filtern und mit einem freundlichen if (x < 2) return 0 alles bis 2 Watt auf 0 Watt korrigieren 😉

                        1 Reply Last reply Reply Quote 0
                        • F
                          funboxbolzer @Xyolyp last edited by

                          @Xyolyp
                          oh man, ich bin blind 🙂

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          507
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

                          blockly javascript scenes
                          4
                          16
                          692
                          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