NEWS
Neue Miele Waschmaschine OHNE cloud service
-
@marko1974 ich bin leider gerade nicht Zuhause. Es müsste nicht eine Zeitverzögerung sein, sondern "alle 25 Sekunden", darüber aber das Timeout stoppen, damit es nicht mehrmals gestartet wird.
-
@marko1974 der Überwacht deine Waschmaschine (auch andere Geräte) und schickt dir eine Nachricht wenn sie fertig ist.
Sehr einfach in der Handhabung. -
@kusi ich warte mal bis du zuhause bist
-
@marko1974 Ich habe aber noch eine Verständnisfrage. Du sprichst von Waschmaschine und Knitterschutz. Knitterschutz kenne ich nur beim Wäschetrockner.
Meinst du wohl das Auswringen und Abpumpen? Und danach soll die Meldung kommen?
-
@kusi ich meine das Programm-Ende, bei dem die Waschmaschine die Wäsche dann in Abständen auflockert, bis man sie letztendlich ausschaltet und öffnet
-
@marko1974 Aber du möchtest wohl sicher dass die Meldung bei "Programm-Ende" und nicht erst nach dem Auflockern kommt?
-
@kusi nee das auflockern dauert ja 20 minuten. da ist das teil ja schon lange fertig
-
@marko1974 Ich hatte ein gleiches Problem, bei Einzug "unserer Miele"
Bei unserer "alten" hat das einwandfrei mit einer einzigen Unterschreitung des Verbrauchs geklappt. Die neue macht sogar im Waschprogramm Pausen oder verhält sich je nach Beladung anders.
Ich mache das leider nicht via blockly, sondern in node-red - daher kann ich Dir nicht sagen wie es in blockly genau funktioniert.
Letztlich wird bei mir eine "Fertigmeldung" nun erst getriggert wenn es mindestens 20 Messwerte (Messintervall 30Sek.) gibt, die über der Einschaltgrenze liegen.
- der Durchschnitt, der letzten 4 Messwerte müssen unter 5 Watt liegen
- der Durchschnitt, der letzten 10 Messwerte unter 6 Watt
- und der Durchschnitt, der letzten 20 unter 70 Watt
Das sind alles Werte, die ich mir wirklich mal ermittelt habe, aber in der letzten Zeit auch Feinabstimmung bedurft haben.
Es gibt, je nach Programm und Beladung, immer noch vereinzelt Fehlmeldungen - aber die erkennen wir: da ich die Laufzeit per WhatsApp mitgebe.
Durch die o.g. Logik habe ich eine Fertigmeldung i.d.R. nach 5 Minuten des wirklichen Endes - das ist für mich aber völlig i.O....vielleicht hilft meine Anregung: good luck!
-
@marko1974 sagte in Neue Miele Waschmaschine OHNE cloud service:
nee das auflockern dauert ja 20 minuten
Programm-Ende ist für mich VOR dem Knitterschutz. Probier es nochmals mit deinem Blockly aus dem ersten Beitrag, aber erhöhe die Zeit des Timeouts. Ich würde es mit 25 Sekunden ausprobieren.
-
@kusi hab ich gemacht. Dann kommt leider gar keine Meldung
-
@Marko1974 Dies ist ein sehr schmaler Grad. Du könntest es noch mit 20 Sekunden ausprobieren. Ggfs verhält es sich dann je nach gewähltem Waschprogramm wieder anders.
Den Knitterschutz deaktivieren wäre eine Option? -
@luetty hört sich gut an. Stell das doch einfach mal Text von node-red
-
@kusi sagte in Neue Miele Waschmaschine OHNE cloud service:
Den Knitterschutz deaktivieren wäre eine Option?
Hab ich schon ganz oben als Lösung vorgeschlagen, will er scheinbar nicht...
-
@marko1974 Ich habe mal ein Blockly zusammengestellt, mit der Idee von @luetty, jedoch vereinfacht.
Ob dies allerdings hilft, kann ich dir noch nicht sagen. Der Hintergedanke ist, alle 30 Sekunden wird der Wert (Power) in eine Variable geschrieben.
Frühstens nach 120 Sekunden werden diese 4 Werte addiert und der Durchschnitt errechnet. Ist der Durchschnitt kleiner-gleich 5 Watt, dann wäre die Waschmaschine fertig.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="6kXPSX*umA)$c+:kHazV">Waschmaschine läuft</variable> <variable id="WqUk,m*t3g]dzEp@{xH.">4 Messpunkte befüllt</variable> <variable type="interval" id="Messwerte schreiben">Messwerte schreiben</variable> <variable id="7sB/][^*aI=cN^`Oecjb">Messwert 1</variable> <variable type="timeout" id="alle Messpunkte befüllt">alle Messpunkte befüllt</variable> <variable id="eDM~o;@GlT7VuB|hD4Yu">Messwert 2</variable> <variable id="s0d2Z7DSkcc*QAB$d_9W">Messwert 3</variable> <variable id="]G1h08p3gH7[$2zQKqx2">Messwert 4</variable> </variables> <block type="variables_set" id="|i=CS~+0J~k![%XZj!`Y" x="-2287" y="-813"> <field name="VAR" id="6kXPSX*umA)$c+:kHazV">Waschmaschine läuft</field> <value name="VALUE"> <block type="logic_boolean" id="+cc(RaU9`7xs,5*qbxkT"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="Pua^vA83sIO})EV-Bpp)"> <field name="VAR" id="WqUk,m*t3g]dzEp@{xH.">4 Messpunkte befüllt</field> <value name="VALUE"> <block type="logic_boolean" id="l5YdvyZkKWanV$}2,3|I"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="~7G+~MDR)K9WRCe.5SYS"> <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="^?IV0cZ)dU|Ah!X,a/ii"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="kj%2b{6wOOusqK-_OI(i"> <value name="IF0"> <block type="logic_operation" id="P*IkX:iQ)+%/pH`GG%!8" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="paq5eTTdIanA}Mm*m{m#"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="RO)q-=+TAF4:9O-D,+^1"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="2WV%{AIueKaR1=q@-.$P"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=")2i?lD46/a/B^1uOa*@A"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="XR%]g.nj*+5),R`v+W2,"> <field name="VAR" id="6kXPSX*umA)$c+:kHazV">Waschmaschine läuft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="equ#}97dV#05[4@tRb@A"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="ojcrhT}r]jTSR6crh8[y"> <field name="VAR" id="6kXPSX*umA)$c+:kHazV">Waschmaschine läuft</field> <value name="VALUE"> <block type="logic_boolean" id="ukc+zS6_fT$(2jtD^1#P"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_setinterval" id="UJcce~JpH5PrN0e$!%#?"> <field name="NAME">Messwerte schreiben</field> <field name="INTERVAL">120</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="A[@GBzdQ(-u|aR$IEk|1"> <field name="VAR" id="7sB/][^*aI=cN^`Oecjb">Messwert 1</field> <value name="VALUE"> <block type="get_value" id="`Ec]at@xnq;#n?FCBIia"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="jGV#R1suAb?;Unw}N]gx"> <mutation name="Waschmaschine fertig?"></mutation> <next> <block type="timeouts_wait" id="4EvfFa_Pe[(a08[?=0c3"> <field name="DELAY">30</field> <field name="UNIT">sec</field> <next> <block type="variables_set" id="}BSaq_%|zZ=ywT?`f_%1"> <field name="VAR" id="eDM~o;@GlT7VuB|hD4Yu">Messwert 2</field> <value name="VALUE"> <block type="get_value" id="$nZdcE:`8`y[e}7PY}Z-"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="h!g{KCC#JvZyZPWw%nwJ"> <mutation name="Waschmaschine fertig?"></mutation> <next> <block type="timeouts_wait" id="p,]zE}3K^XjmpK;n@goF"> <field name="DELAY">30</field> <field name="UNIT">sec</field> <next> <block type="variables_set" id="()iNx@7O6%OU-|!|FR|L"> <field name="VAR" id="s0d2Z7DSkcc*QAB$d_9W">Messwert 3</field> <value name="VALUE"> <block type="get_value" id="F%Fl/dLkN?+(,$xHaMl~"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="(Spg$rUuG9cvm{)jyB4K"> <mutation name="Waschmaschine fertig?"></mutation> <next> <block type="timeouts_wait" id="hz%s;zTtkA];y_3jW?NM"> <field name="DELAY">30</field> <field name="UNIT">sec</field> <next> <block type="variables_set" id="8c#R3N#GDR_Rr1Pbh9J4"> <field name="VAR" id="]G1h08p3gH7[$2zQKqx2">Messwert 4</field> <value name="VALUE"> <block type="get_value" id="|UK:~oI?(W~44JQ9gLys"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <next> <block type="procedures_callnoreturn" id="XQGdAU*l7UT5CW}*dPHE"> <mutation name="Waschmaschine fertig?"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="4?TYrhcbx$y:;PqZ_Ww{"> <field name="NAME">alle Messpunkte befüllt</field> <field name="DELAY">240</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="5OXb(BTaN;Y[swRaO;V@"> <field name="VAR" id="WqUk,m*t3g]dzEp@{xH.">4 Messpunkte befüllt</field> <value name="VALUE"> <block type="logic_boolean" id="XdA3|j^pfG@,wHuzJRXW"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="2b+u+vtmR%N*+3zPwnCP" x="-1562" y="-812"> <field name="NAME">Waschmaschine fertig?</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="r|wPT]@(5?h5;~*d-9/4"> <value name="IF0"> <block type="logic_compare" id="BWb!qHFIx4Tl7`ta0(]@"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="d@=4v,R,nEMcB?NNJV`:"> <field name="VAR" id="WqUk,m*t3g]dzEp@{xH.">4 Messpunkte befüllt</field> </block> </value> <value name="B"> <block type="logic_boolean" id="^$`D1L@*LEFT(`}UmO[z"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="|K`k4:%tXdsMNN!e%1Xt"> <value name="IF0"> <block type="logic_compare" id="zgp,4@b6p,J5$I9[gdnb"> <field name="OP">LTE</field> <value name="A"> <block type="math_arithmetic" id="0m]Z$O?m|%$$}lZ_$IaC"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="tZ66Ew.#(9[z;Z1^g1QB"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="xPG-D^n{%a]:%|Ie?c(q"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="igRK`Z2GY8=g$j)LX4+O"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="1)OI,b4}Z^up),[A2#*I"> <field name="VAR" id="7sB/][^*aI=cN^`Oecjb">Messwert 1</field> </block> </value> <value name="B"> <shadow type="math_number" id="*S,q9oQb1uJbL:{,32-V"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Y.dClXFy@|bqsa{|69Gn"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="):P8Su}FbUE{q[Zg.JoY"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="V-*UtI5}VyK|~ge[CuF1"> <field name="VAR" id="eDM~o;@GlT7VuB|hD4Yu">Messwert 2</field> </block> </value> <value name="B"> <shadow type="math_number" id="ELVo+$:%lt(K[kB0:/ZA"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Fys*fw*5OczQpt*R[6b1"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="kq;zrcn5-ocZ742}H/:|"> <field name="NUM">1</field> </shadow> <block type="variables_get" id=":|-KPcy{$7/m7t6f:W!C"> <field name="VAR" id="s0d2Z7DSkcc*QAB$d_9W">Messwert 3</field> </block> </value> <value name="B"> <shadow type="math_number" id="6akD8+(g/P?AOP!3VuP?"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="RPNCj)[S?i!0^ezP=fTR"> <field name="VAR" id="]G1h08p3gH7[$2zQKqx2">Messwert 4</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="-uxo0hRz1f{NZ3]qqUU_"> <field name="NUM">4</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id="^|K0Qh6dee.Nw;hr-$u~"> <field name="NUM">5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="HP@oMO2.S`4]5#[xA[CR"> <field name="VAR" id="6kXPSX*umA)$c+:kHazV">Waschmaschine läuft</field> <value name="VALUE"> <block type="logic_boolean" id="`C~]e[V6}|kg=f)Ldz^u"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="~([MF4Z)?j*{0`BaIRt5"> <field name="VAR" id="WqUk,m*t3g]dzEp@{xH.">4 Messpunkte befüllt</field> <value name="VALUE"> <block type="logic_boolean" id="auR%S?ke8xzGI,$?t$+d"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="HvnRNAaH}Q;6d.)LTf@8"> <field name="NAME">Messwerte schreiben</field> <next> <block type="debug" id="z|lJPLdXJ_?]g;uIuC(("> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="VrDRpK#ccL7StQb3?4cV"> <field name="TEXT">Waschmaschine fertig</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> <block type="comment" id="~PaXCqJ2ho4Os9j~A%j+" x="-1987" y="-763"> <field name="COMMENT">Power Waschmaschine</field> </block> <block type="comment" id="|#wDwo]nApz0/vIX~pZ]" x="-1812" y="-562"> <field name="COMMENT">Power Waschmaschine</field> </block> <block type="comment" id="A6hz[iFqt41h8Ot;m8!k" x="-1812" y="-487"> <field name="COMMENT">Power Waschmaschine</field> </block> <block type="comment" id="IXKAA/Cf_AaK,.fk,PS3" x="-1812" y="-412"> <field name="COMMENT">Power Waschmaschine</field> </block> <block type="comment" id="Nfw[-%k+$Grbzj~tsg,L" x="-1812" y="-337"> <field name="COMMENT">Power Waschmaschine</field> </block> </xml>
Zur Funktion:
Sobald die Maschine mehr als 100 Watt braucht, wird die Variable "Waschmaschine läuft" auf true gesetzt und frühstens nach 120 Sekunden werden alle 30 Sekunden abwechselnd alle 4 Variablen "Messwert" beschrieben. Wichtig, nicht den Block "Wert" nehmen!!!
240 Minuten nach dem Start wird zudem der Datenpunkt "4 Messpunkte befüllt" auf true gesetzt, damit dann die Funktion "Waschmaschine fertig?" gestartet werden kann, wo dann die eigentliche Überprüfung stattfindet. Hier kannst du dann anstelle dem Debug "Waschmaschine fertig" deine eigentliche Meldung einfügen. -
@kusi wow super Dankeschön dafür. Muss ich mal bei mir einfügen. Melde mich ob’s geklappt hat. Waschmaschine steht bei Eltern. Daher kann ich das nicht mal eben so testen.
-
@marko1974
Ich habe dir das Blockly nochmals ein wenig angepasst (vorheriger Post).Probiere es aus, bin auf deine Rückmeldung gespannt und dankbar.
-
@kusi hab es jetzt mal genau so eingefügt. Jetzt meldet sie nach 30 min ca 5 Mal, dass die Waschmaschine fertig ist.
Da kann ich doch jetzt bestimmt was anpassen....
Wahrscheinlich stimmt aber dein Blockly, nur meine Steckdose von Fritz ist Müll, weil die auch noch ein Ableseintervall hat.Vielleicht einen Tipp für eine Steckdose, Wlan oder DECT, die direkt immer den Wert sendet?
-
@marko1974 ich nutze myStrom WiFi Switch, wohne allerdings in der Schweiz und dieser hat den CH-Stecker.
Shelly Plug S könnte für dich gut sein.
Ich selber nutze andere Produkte von Shelly und bin sehr zufrieden. -
@kusi ja ich hab mal den großen Shelly Plug bestellt. Der S hat nur bis 2500W…Trau ich mich nicht. Ich werde berichten
-
@marko1974 Bin gespannt...