NEWS
Waschmaschine fertig
-
Hallo zusammen,
Ich habe nun schon Stunden in verschiedensten Threads zum Thema "Waschmaschine fertig, Alexa sagt an" verbracht und verschiedenste Dinge getestet.
Vielleicht habe ich gerade auch einfach ein Brett vor dem Kopf aber es klappt einfach nichtIch möchte erreichen, dass Alexa sagt, dass meine Waschmaschine fertig ist.
Dazu habe ich dann ein Blockly zusammen gebaut.Ich möchte erreichen, dass er prüft, sobald 5W unterschritten werden ob die Maschine fertig ist, da sie im Standby nachher 1-3 W braucht. Die Anzeige springt dann immer schonmal 1,3,1,2,3 usw.
Mein Ansatz war jetzt erstmal ein Objekt auf true zu setzen sobald die Maschine über 5W erreicht.
Somit realisiere ich im VIS eine Anzeige "Maschine läuft".Dann wollte ich prüfen falls der Wert größer als 5 war und nun abgefallen ist, ob die Maschine schon fertig ist.
Dazu prüfe ich im nächsten Schritt, ob die Wattzahl nach 110 Sekunden immernoch unter 5 ist.
Die Steckdose schickt alle 10 Sekunden die Werte.
Im Log sehe ich, dass die Maschine am Anfang kurz unter 5 braucht, dann in der Aufwärmphase durchgehend über 1000 und dann beim Waschen 500,4,500,6,500,7,500,4,500 usw. jedesmal quasi wenn sie kurz stoppt.Mein Ziel war es mit der Zeit zu prüfen, ob die Maschine nach der Zeit immernoch läuft.
Momentan bekomme ich aber immer wieder eine Ansage von Alexa weil der Wert unter 5 kommt und nach 110 Sekunden wieder unter 5 ist.Hat jemand ein ähnliches Phänomen?
Mein Blockly:
-
@mizin schau dir mal den Adapter "device reminder " an der kann das
Baerny -
du benötigst eine Berechnung des Mittelwertes über die Zeit, der dir diese Schwankungen
mittelt. erst wenn dann nach einer gewissen Zeit dieser Mittelwert auch unter 5 Watt (du meinst oben doch sicherlich "unterschritten", "kleiner als" und "unter") fällt, dann ist sie wirklich aus.Suche hier im Forum nach Hysterese. Da müsste es bereits fertiges Javascript und Blockly geben.
-
-
-
Danke für eure Rückmeldungen.
@burg_io Bei dem Script meldet er mir aber immer wieder, dass die Maschine fertig ist sobald die Wattzahl im Standby über 3 hüpft und wieder abfällt.
@Baerny Der Adapter berücksichtigt ebenfalls nicht die Sprünge über die Schwelle so wie ich das gesehen habe.
@OliverIO Das klingt gut. Da werde ich mal weiter forschen.
@falke69 Genau das hatte ich auch getestet. Nur habe ich das Problem, dass die Maschine beim Waschgang (drehen, stop, drehen, stop, drehen, stop) beim stoppen genau so viel Strom verbraucht wie im Standby (2-5 Watt).
Dadurch passiert es mir, wenn er jetzt prüft (Trommel steht) und in 40 Sekunden erneut prüft (Trommel steht genau dann erneut) sagt er mir auch schon, dass die Maschine fertig ist. -
@mizin
du musst den wert für den ruhestrom deiner maschine ein wenig dem gerät anpassen oder einen timeout einbauen, so was eventuelle "pausen" im waschgang nicht gleich zur meldung führen. -
Test mal das
Werte anpassen und Datenpunkte erstellen
Funz bei mir toll
hab das mal wo geklaut<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="=?OmOeJXP(6k$Q8a4v1*">WaMa_Dauerzaehler</variable> <variable id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</variable> <variable type="interval" id="Dauerzaehler">Dauerzaehler</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable type="timeout" id="timeout3">timeout3</variable> </variables> <block type="variables_set" id="VhvVE3UkVJB2fvjGzu*!" x="13" y="13"> <field name="VAR" id="=?OmOeJXP(6k$Q8a4v1*">WaMa_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="g,Bx,*s}7,][vN=Z-Mt4"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="i@;~wXOo)(5+=$*9v:QF"> <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.SP1_WaMa_4966_109.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 >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">10</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> <next> <block type="control" id="z]7Pj2YXS1-d)pnchN,!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.EigeneDP.Sonstige.Energieüberwachung.Waschmaschine.Waschstart</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="b$lgvB*z^u:a@_hX4hL]"> <field name="ATTR">val</field> <field name="OID">sonoff.0.SP1_WaMa_4966_109.ENERGY_Total</field> </block> </value> <next> <block type="timeouts_setinterval" id="(?2yHN!soJ=}mLZ7l]lF"> <field name="NAME">Dauerzaehler</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="w,FoLyTV8R1TP-!PMN(k"> <field name="VAR" id="=?OmOeJXP(6k$Q8a4v1*">WaMa_Dauerzaehler</field> <value name="DELTA"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="H!-!N4kZhgP#5;zrxCTY"> <field name="NUM">1</field> </shadow> <block type="math_number" id="AF2;r}gdm2RpvV`mn)fr"> <field name="NUM">1</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="[:7QWv4Op8S6o@lG45(y" inline="false"> <field name="OP">AND</field> <comment pinned="false" h="80" w="160">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">EQ</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">0</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="timeouts_clearinterval" id="4Usl2WULucSJQ,Ptrt9^"> <field name="NAME">Dauerzaehler</field> <next> <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="control" id="{MMg6Za}8I|gw.4cE6oG"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.EigeneDP.Sonstige.Energieüberwachung.Waschmaschine.Waschende</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="}_}=j6pEBm+0afN/394("> <field name="ATTR">val</field> <field name="OID">sonoff.0.SP1_WaMa_4966_109.ENERGY_Total</field> </block> </value> <next> <block type="debug" id="~(eEE8/,iS{wG@j0X)TU"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="3K0c5WSS9VmMq/XFB(e9"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="2xby$^zDuX^$?-Yp2~k,"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="L6trfC]%tV;Q1#[_3UQJ"> <field name="TEXT">Status Waschmaschine Ein/Aus ist: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="mN7^USWq(%,us)OL?!1#"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">WaMa_EinAus</field> </block> </value> </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 xmlns="http://www.w3.org/1999/xhtml" type="text" id="zaE.r=+WylppU_4Nmdx~"> <field name="TEXT">Waschmaschine ist fertig</field> </shadow> <block type="text_join" id="3,~.TJZeugM.!B%S1^X}"> <mutation items="9"></mutation> <value name="ADD0"> <block type="text" id="|9?4%ic*sy2}Q088ry:q"> <field name="TEXT">Die Waschmaschine ist Fertig.</field> </block> </value> <value name="ADD1"> <block type="time_get" id="a?D^RPe+s+Si=*kkfgj["> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="grfj-@D75~7#;4n|*Zja"> <field name="TEXT">Dauer: </field> </block> </value> <value name="ADD3"> <block type="variables_get" id="n.X3BE*TU_{qnfXV+E~:"> <field name="VAR" id="=?OmOeJXP(6k$Q8a4v1*">WaMa_Dauerzaehler</field> </block> </value> <value name="ADD4"> <block type="text" id="hB0LeD{cRvcWSjG+y.+="> <field name="TEXT"> Minuten.</field> </block> </value> <value name="ADD5"> <block type="time_get" id="cA93H,ih=ovnjMRR4?Q6"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">\n</field> </block> </value> <value name="ADD6"> <block type="text" id="iq5Tj*K!:5+gf]#fZ42]"> <field name="TEXT">Verbrauch: </field> </block> </value> <value name="ADD7"> <block type="math_rndfixed" id=")6B|F41_epI9gP[THRW["> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="}[m8CJ[~.H(X2Ez)$MNC"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="vkHPDt[yds%_+|}F~JlI" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=";x*EJIT-UHcl7Q0j{G#U"> <field name="NUM">1</field> </shadow> <block type="get_value" id="v-h3Ax9U5D^A[-sA.*VR"> <field name="ATTR">val</field> <field name="OID">javascript.0.EigeneDP.Sonstige.Energieüberwachung.Waschmaschine.Waschende</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=")KC,Lt~MMGdb=v/v*dsR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Y8iAp,Pk9o!]nby,SpJ^"> <field name="ATTR">val</field> <field name="OID">javascript.0.EigeneDP.Sonstige.Energieüberwachung.Waschmaschine.Waschstart</field> </block> </value> </block> </value> </block> </value> <value name="ADD8"> <block type="text" id="Gq}sI5F*R]paEBl+;3+e"> <field name="TEXT"> kWh.</field> </block> </value> </block> </value> </block> </statement> <next> <block type="timeouts_settimeout" id=":DTtJMZX*6T[m5$MS#FV"> <field name="NAME">timeout3</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id=",${esm~ZSiljnImc}dcx"> <field name="VAR" id="=?OmOeJXP(6k$Q8a4v1*">WaMa_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id=";!%m^7forEuu5xZJ{}fV"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@xapollo
Beim Blockly import sagt er mir:Unknown Block Type: telegram
Fehlt mir da ein Modul?
Ich habe bei mir pushover drin. -
@mizin sagte in Waschmaschine fertig:
@xapollo
Beim Blockly import sagt er mir:Unknown Block Type: telegram
Fehlt mir da ein Modul?
Ich habe bei mir pushover drin.Telegram Adapter installieren und dann einfach deaktivieren
-
adapter device-reminder .....
-
Ich habe auch ein Blockly für die Waschmaschine was super funktioniert und Alexa Bescheid gibt, wenn sie fertig ist, wie hoch der Stromverbrauch und welche Kosten angefallen sind.
Das ganze nutze ich mit einem Adapter von AVM der gibt beim Stromverbrauch den Wert 6 Stellig ohne Punkt aus.
Jetzt habe ich das gleiche Blockly für einen Trockner angelegt aber mit einer Tasmota Steckdose.
Dort wird der Verbrauch aber z.B. 23.546 angezeigt. und deswegen stimmt das irgendwie nicht.
Ich bekomme hier die Meldung das der Trocknervorgang 0.001 KWh verbraucht hat.
Ich glaube da stimmt etwas in der Formel nicht oder muss ich den Datenpunkt irgendwie ändern.
Mit dem funktioniert es bei der Waschmaschine perfekt. -
- Wenn die Werte für Start und Ende kWh enthalten, darf nicht durch 1000 dividiert werden.
- Asynchron-Falle bei "Trocknerende": Verwende Variablen
-
@paul53 Ja stimmt bei Waschmaschine ist Wh und beim Trockner kWh
Trockner
Waschmaschine
Wie meinst du das mit Variablen?
-
@biker1602 sagte: Wie meinst du das mit Variablen?
Die Werte für Trocknerstart und Trocknerende in Variablen speichern und die Variablen auswerten.
Das Schreiben des Datenpunktes "Trocknerende" ist noch nicht fertig, wenn er wieder eingelesen wird. Dadurch wird der Vorgängerwert eingelesen und man erhält ein falsches Ergebnis.