NEWS
Waschmaschine
-
Hi Leute
Nach weiteren Stunden des Testens, Probierens und Fehler beheben kann ich nun sagen "es funktioniert.
Ein Danke nochmal an @Asgothian für deine Gedult.Ich habe mir alle deine Tips zu Herzen genommen und auch umgesetzt.
Ich habe das Script so gut es geht mit Kommentaren versehen.
Hier nochmal meine Anforderungen zusammengefasst
-
Benachrichtigung über Telegramm (da wir immer wieder Timer an der Waschmaschine laufen haben wollen wir auch wissen ob sie Startet)
Da die Waschmaschine beim Wählen des Programmes und nach dem Einstellen des Timers kurz einen Ausschlag im Stromverbrauch hat, wird das Script erst bei einem Momentanverbrauch von über 200 gestartet. -
Protokollieren des Stromverbrauches ( Da wir einen Wasch/Trockner haben kann man sehr gut erkennen was es eigentlich an Strom braucht wenn man Trocknet)
-
Protokollieren der Zeit - Da heute viele Waschmaschinen schoin erkennen wieviel Wäsche in der Maschine ist sollten sie eigentlich bei wneig Wäsche auch schneller fertig sein (zumindest Werben manche dafür) mal sehen ob das so ist
-
Kosten pro Wasch/Troeckengang nice to have
-
Benachrichtigung über Alexa
Einige Beträge oberhalb kann man sich auch nochmal genau die Statistiken anschauen um Nachvollziehen zu können wie ich auf die Watt Werte gekommen bin.
-
-
Hi Leute,
ich muss leider noch mal den Thread aufmachen. Irgendwie ist das mit dem WaMa Script immer noch ein Problem:
-
Ich erwische seltsamerweise nicht den Punkt wo sie wirklich fertig ist, obwohl die niedrigsten Werte unter 3 Watt liegen:
Im Telegramm schaut es dann so aus
Der Verbrauch ist so:
-
Problem: die Berechnung des Verbrauchs haut irgendwie auch nicht hin. Meine Datenpunkte schauen so aus:
Das Script habe ich auch etwas korrigiert und es schaut jetzt so aus:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</variable> <variable type="" id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</variable> <variable type="undefined" id="timeout3">timeout3</variable> <variable type="undefined" id="Dauerzaehler">Dauerzaehler</variable> <variable type="undefined" id="timeout2">timeout2</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="variables_set" id="#tQ1FLFGKUhY/n@+2v+L" x="-1213" y="-1087"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx" variabletype="">Waschmaschine_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="n7J3jl%iQv$o0|:ziws|"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="U@kYzXZme7c_*Uk)IuPm"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</field> <value name="VALUE"> <block type="logic_boolean" id="#xjPS!k_7bYBUV}GE@Ji"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="%l??Ns0%ZOhlZQJn)RIY"> <mutation 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">hm-rpc.0.KEQ0970473.2.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">7</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=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</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="comment" id="b~S%7`wtbC_/n|zadQ1A"> <field name="COMMENT">Erster Durchlauf beim Einschalten</field> <next> <block type="variables_set" id="HHIFm}6:*U#VVrIRv7e|"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</field> <value name="VALUE"> <block type="logic_boolean" id="%.`!o$LmcZOm0##5WWoJ"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id="5=|wMO.9[SHb3Zk2@BSt"> <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="Kg;[X9f6%4!)kf:3}RwL"> <field name="TEXT">Die Waschmaschine wäscht jetzt deine Wäsche.</field> </shadow> </value> <next> <block type="comment" id="2aAKL6#G}W{)p.QREyRi"> <field name="COMMENT">schreibt den initialen kW -Wert in den Waschstart Datenpunkt</field> <next> <block type="control" id="zDJ/w+}RAYiwfloyzrDG"> <mutation delay_input="false"></mutation> <field name="OID">StatusIoT.0.WaMaWaschstart</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="(VDfb:vZwiH8m(L+xldo"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="Iuptz4hwAs7`k(c7eqK{"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="D!_j/Bp]_6`T08*}nE]L"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="+,CYLxK)a=j1?hp_m|l1"> <field name="NUM">1</field> </shadow> <block type="convert_tonumber" id="aDTKaLbbT+8u*1(vCSxo"> <value name="VALUE"> <block type="get_value" id="={Ei+8*qBg-+KD,[;Jps"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0970473.2.ENERGY_COUNTER</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="~}GYVr#KtuxpN}_IAYX}"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="comment" id="M]gS,rQA9xp#dw%NXjv]"> <field name="COMMENT">Misst die Gesamtdauer in einer Variablen</field> <next> <block type="timeouts_setinterval" id="80-Y$b]E}H$59*M]Ez/,"> <field name="NAME">Dauerzaehler</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="dEv]%1h|Rwk;-L7)Wf_~"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx" variabletype="">Waschmaschine_Dauerzaehler</field> <value name="DELTA"> <shadow type="math_number" id="a33@3paIo~y.$^q.*~*["> <field name="NUM">1</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </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="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">5</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=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</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="comment" id="t*n-NSEL5i.q/)njMqf+"> <field name="COMMENT">WaMa Pause</field> <next> <block type="timeouts_settimeout" id="n6OU?~VJ9O@1;?;?v[}w"> <field name="NAME">timeout3</field> <field name="DELAY">6</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="Ru#jm0kAdQ5s!lWw8-ZF"> <value name="IF0"> <block type="logic_operation" id="JotSxV7L@8aDs,_6JaUV" 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="b/FaS!8mVUO{hnTc4B[6"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="dVvU8WoX0X;M=N=WK;(h"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=",F%?(OrtuVj_V~!;.6/+"> <field name="NUM">4</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="X8IF*lSL$KZGbw+(B`Vk"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="y~Gc(BiT2KWngQJRPcmM"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</field> </block> </value> <value name="B"> <block type="logic_boolean" id=",mTckZE~,,T--ya6Jl^i"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="IEyNcr/?#y#8K(IAWHT`"> <field name="COMMENT">WaMa ist fertig</field> <next> <block type="timeouts_clearinterval" id="U,jzx?Ey?4jm/#tjYSPO"> <field name="NAME">Dauerzaehler</field> <next> <block type="variables_set" id="vj!Vu=sDr5yt.:ZU#OfU"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*" variabletype="">WaschmaschineEinAus</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="control" id="_CL%|e+${4WhZ.X1cJ^k"> <mutation delay_input="false"></mutation> <field name="OID">StatusIoT.0.WaMaWaschende</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="UmwO@D2M8Rja_v2hJCqF"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="oM(c}!pCO~G)AV9v8H:g"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="sv]o:8yG*vRh1RT~nlA$"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="Nv,k/}AoJ4tZ^^$la{Q}"> <field name="NUM">1</field> </shadow> <block type="convert_tonumber" id="^HUFg_F7MM6/BQel::w,"> <value name="VALUE"> <block type="get_value" id="[|7NgG^]pM%@#-9^bo[V"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0970473.2.ENERGY_COUNTER</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="cnE#{nyce1VJUBHIh~IK"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <next> <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> <block type="text_join" id="3,~.TJZeugM.!B%S1^X}"> <mutation items="13"></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 format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="bo,?noy~Q_fU|mOY{L#L"> <field name="TEXT">Dauer: </field> </block> </value> <value name="ADD3"> <block type="variables_get" id="UWw#{Zvec^I@@szY?`2w"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx" variabletype="">Waschmaschine_Dauerzaehler</field> </block> </value> <value name="ADD4"> <block type="text" id="M^]iVwQ,prG!`L|C~)~g"> <field name="TEXT"> Minuten.</field> </block> </value> <value name="ADD5"> <block type="time_get" id="8u(%B16pz]eRN}PV5dst"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">\n</field> </block> </value> <value name="ADD6"> <block type="text" id="5C!gUPV|`b@=iFX@aJeI"> <field name="TEXT">Verbrauch: </field> </block> </value> <value name="ADD7"> <block type="math_rndfixed" id="VKS0i5D@QcR(K8~HBVt*"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="/mj1cO@W#rIj@,l-hhT("> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="a9lUI_@{%c|:}2r]9,3="> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="Vt0U^|-5/xSi)-0R$lvC"> <field name="NUM">1</field> </shadow> <block type="get_value" id="n.xJH}U%IgpOj2qa_[d7"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschende</field> </block> </value> <value name="B"> <shadow type="math_number" id="kjky7:Z,vFRr8V{DWBlc"> <field name="NUM">1</field> </shadow> <block type="get_value" id="g%bFIVmFv8)gI{%-jcRB"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschstart</field> </block> </value> </block> </value> </block> </value> <value name="ADD8"> <block type="text" id="?3@1QC?jSS#7UdzSm),X"> <field name="TEXT"> kWh.</field> </block> </value> <value name="ADD9"> <block type="time_get" id="BE%B6PWxaT1!ksrO8=F}"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">\n</field> </block> </value> <value name="ADD10"> <block type="text" id="OZG2U8*$5^Y~7us`n98M"> <field name="TEXT">Kosten: </field> </block> </value> <value name="ADD11"> <block type="math_arithmetic" id="8aLE^y;!;aWJq$771_e2"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="aa{@~RP3y$9M7v332=?B"> <field name="NUM">1</field> </shadow> <block type="math_rndfixed" id="vMz`ArhYYU5KvzU!CJM-"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id=",fEIqVcGmmf4,!4)?0b^"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="EBsPk7Wu}B*pVRwu`11t"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="Vt0U^|-5/xSi)-0R$lvC"> <field name="NUM">1</field> </shadow> <block type="get_value" id="X+Oe]i0kB*xR=4rB/=p3"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschende</field> </block> </value> <value name="B"> <shadow type="math_number" id="kjky7:Z,vFRr8V{DWBlc"> <field name="NUM">1</field> </shadow> <block type="get_value" id="WS0!QAt)dlmkHoRl`b^7"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschstart</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="viK@?=8BKmMU^eC!xT?s"> <field name="NUM">1</field> </shadow> <block type="get_value" id="0#$phz$rjNdH,Sw+70H/"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.Strompreis</field> </block> </value> </block> </value> <value name="ADD12"> <block type="text" id="`g7T6{aw*)Xb;2tcAr,;"> <field name="TEXT"> €.</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="^Q4mos%.lH(nScu^]C,+"> <field name="NAME">timeout</field> <field name="DELAY">60</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="c+9yEbR]14.2z]jg^oG?"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx" variabletype="">Waschmaschine_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="^uz`+l@#(*|kCFi{#TXz"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
wäre super, wenn mal noch jemand helfen könnte. Stehe echt gerade auf dem Schlauch.
-
-
Kannst du mal einen Screenshot von deinem Script Posten
-
@Dirni
klar. -
verbraucht deine Waschmaschine mehr wie 2 watt wenn sie fertig ist ?
-
sollte eigentlich nicht sein. Aber auch die Verbrauchsrechnungen gehen irgendwie nicht.
Mir ist auch nicht ganz klar wozu das Timeout2 benötigt wird. -
Hat noch jemand eine Idee?
ich hätte nicht gedacht, dass das mit der WaMa so kompliziert werden kann. -
@Dirni
Ja Du musst ja mittlerweile ziemlich saubere Wäsche habenSorry, Spaß muss auch mal sein
Was mir spontan noch auffällt. Du hast zwei manuelle Datenpunkte im ioBroker angelegt, WaMaWaschstart und WaMaWaschende, richtig? Die beiden schreibst Du mit dem "Steuere" Befehl. Das haut nach meiner Erfahrung bei manuell in ioBroker angelegten Datenpunkten nicht hin, sondern nur, wenn Du ein Gerät an einem anderen Adapter (z.b. ein in der CCU angelerntes Geräte) steuern möchtest. Probier hier also mal mit "Aktualisiere".
Dann habe ich spaßeshalber mein Super-Simpel-Skript nochmal ergänzt um Dauer und Verbrauch. Ist aber nicht getestet. Falls Du noch Wäsche zum Waschen hast, kannst es ja mal ausprobieren
Schwellwerte etc. musst Du natürlich nach Deinen Gegebenheiten anpassen. Vielleicht sind die 6 Minuten WaMaPause auch zu kurz. Bei mir geht es mit 10 Minuten prima.
Freue mich auf Dein Feedback -
@buggybeast sagte in Waschmaschine:
@Dirni
Ja Du musst ja mittlerweile ziemlich saubere Wäsche habenSorry, Spaß muss auch mal sein
Was mir spontan noch auffällt. Du hast zwei manuelle Datenpunkte im ioBroker angelegt, WaMaWaschstart und WaMaWaschende, richtig? Die beiden schreibst Du mit dem "Steuere" Befehl. Das haut nach meiner Erfahrung bei manuell in ioBroker angelegten Datenpunkten nicht hin, sondern nur, wenn Du ein Gerät an einem anderen Adapter (z.b. ein in der CCU angelerntes Geräte) steuern möchtest. Probier hier also mal mit "Aktualisiere".
Dann habe ich spaßeshalber mein Super-Simpel-Skript nochmal ergänzt um Dauer und Verbrauch. Ist aber nicht getestet. Falls Du noch Wäsche zum Waschen hast, kannst es ja mal ausprobieren
Schwellwerte etc. musst Du natürlich nach Deinen Gegebenheiten anpassen. Vielleicht sind die 6 Minuten WaMaPause auch zu kurz. Bei mir geht es mit 10 Minuten prima.
Freue mich auf Dein FeedbackJo kein Thema, aber hast recht meine bessere hälfte habe ich immer genervt wann sie wieder die nächste Maschine anmacht
-
@Dirni vielen Dank.
ich habe die Anpassungen gemacht. Ich berichte, sobald meine Frau wieder wäscht -
-
Hallo,
ich hätte da auch eine Frage, befasse mich schon seit langem mit dem Thema und kriege es nicht hin. Mein Problem ist, das die Miele Waschmaschine der Maßen oft 2 Watt liefert, dass ich vermutlich ein ganz spezielles Skript brauche - der Gedankengang ist folgende (und mir geht es nur um die Fertigmeldung, nicht um Dauer- oder Verbrauchszähler):
1.Es kommt ein Wert vom 3 Watt rein -> Skript wartet 2 Minuten und vergleich es mit aktuellem Wert, nach 2 min Wartezeit.
2.Ist der neuer Wert größer als 3 Watt, so weiß das Skript, dass die Waschmaschine immer noch läuft und ignoriert den. Ist der Wert kleiner als 3 Watt, wartet das Skript noch mal 2 min und vergleicht es zu Sicherheit noch zum 2ten mal.
3.Die Geschichte wiederholt sich wie im Punkt 2. Die Meldung per Telegram geht nur dann raus, wenn alle 3 nach einander verglichene Werte kleiner als 3 Watt sind.Kann mir jemand bei dem Skript behilflich sein? Ich Danke in voraus.
-
@buggybeast sagte in Waschmaschine:
Schwellwerte etc. musst Du natürlich nach Deinen Gegebenheiten anpassen. Vielleicht sind die 6 Minuten WaMaPause auch zu kurz. Bei mir geht es mit 10 Minuten prima.
Freue mich auf Dein Feedback@busichek
Ich denke das sollte trotzdem funktionieren. Du musst halt alles rausnehmen, was mit Dauer und Verbrauch zu tun hat. Also oben im falls-Zweig steht dann nur noch der stop timeout unter mache.
Und unten in mache steht nur noch deine Nachricht. Und dann natürlich mit deinen schwellwerten. Bei mir ist das halt 5 Watt. -
der Update statt Steuere Befehl scheint was gebracht zu haben. Leider sind die berechneten Werte aber negativ. Warum auch immer.
-
@Accu
Dann poste doch nochmal Dein aktuelles Blockly. Hier sind mittlerweile so viele drin -
@busichek sagte in Waschmaschine:
Hallo,
ich hätte da auch eine Frage, befasse mich schon seit langem mit dem Thema und kriege es nicht hin. Mein Problem ist, das die Miele Waschmaschine der Maßen oft 2 Watt liefert, dass ich vermutlich ein ganz spezielles Skript brauche - der Gedankengang ist folgende (und mir geht es nur um die Fertigmeldung, nicht um Dauer- oder Verbrauchszähler):
1.Es kommt ein Wert vom 3 Watt rein -> Skript wartet 2 Minuten und vergleich es mit aktuellem Wert, nach 2 min Wartezeit.
2.Ist der neuer Wert größer als 3 Watt, so weiß das Skript, dass die Waschmaschine immer noch läuft und ignoriert den. Ist der Wert kleiner als 3 Watt, wartet das Skript noch mal 2 min und vergleicht es zu Sicherheit noch zum 2ten mal.
3.Die Geschichte wiederholt sich wie im Punkt 2. Die Meldung per Telegram geht nur dann raus, wenn alle 3 nach einander verglichene Werte kleiner als 3 Watt sind.Kann mir jemand bei dem Skript behilflich sein? Ich Danke in voraus.
Hallo @busichek , ich nutze seit einigen Monaten das Script von "Eddy". Hat einen Zähler den du wenn die Waschmaschine eine gewisse Wattzahl unterschreitest selbst nach eigenen Versuchen erhöhen kannst. Klappt in 99 aller Fälle bei mir einwandfrei. Hier der Link zu Youtube: Eddys Smarthome
Baerny -
Hi BuggyBeast,
mein aktueller Stand ist der hier:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</variable> <variable id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="interval" id="Dauerzaehler">Dauerzaehler</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="variables_set" id="#tQ1FLFGKUhY/n@+2v+L" x="-1213" y="-1087"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="n7J3jl%iQv$o0|:ziws|"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="U@kYzXZme7c_*Uk)IuPm"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</field> <value name="VALUE"> <block type="logic_boolean" id="#xjPS!k_7bYBUV}GE@Ji"> <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">hm-rpc.0.KEQ0970473.2.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">8</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=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</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="comment" id="b~S%7`wtbC_/n|zadQ1A"> <field name="COMMENT">Erster Durchlauf beim Einschalten</field> <next> <block type="variables_set" id="HHIFm}6:*U#VVrIRv7e|"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</field> <value name="VALUE"> <block type="logic_boolean" id="%.`!o$LmcZOm0##5WWoJ"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id="5=|wMO.9[SHb3Zk2@BSt"> <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="Kg;[X9f6%4!)kf:3}RwL"> <field name="TEXT">Die Waschmaschine wäscht jetzt deine Wäsche.</field> </shadow> </value> <next> <block type="comment" id="2aAKL6#G}W{)p.QREyRi"> <field name="COMMENT">schreibt den initialen kW -Wert in den Waschstart Datenpunkt</field> <next> <block type="update" id="}m9pd`Cn~a?PA@sa:al?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">StatusIoT.0.WaMaWaschstart</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="(VDfb:vZwiH8m(L+xldo"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Iuptz4hwAs7`k(c7eqK{"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="D!_j/Bp]_6`T08*}nE]L"> <field name="OP">DIVIDE</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="+,CYLxK)a=j1?hp_m|l1"> <field name="NUM">1</field> </shadow> <block type="convert_tonumber" id="aDTKaLbbT+8u*1(vCSxo"> <value name="VALUE"> <block type="get_value" id="={Ei+8*qBg-+KD,[;Jps"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0970473.2.ENERGY_COUNTER</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="~}GYVr#KtuxpN}_IAYX}"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="comment" id="M]gS,rQA9xp#dw%NXjv]"> <field name="COMMENT">Misst die Gesamtdauer in einer Variablen</field> <next> <block type="timeouts_setinterval" id="80-Y$b]E}H$59*M]Ez/,"> <field name="NAME">Dauerzaehler</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="dEv]%1h|Rwk;-L7)Wf_~"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</field> <value name="DELTA"> <shadow type="math_number" id="a33@3paIo~y.$^q.*~*["> <field name="NUM">1</field> </shadow> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </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="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">3</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=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</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="comment" id="t*n-NSEL5i.q/)njMqf+"> <field name="COMMENT">WaMa Pause</field> <next> <block type="timeouts_settimeout" id="n6OU?~VJ9O@1;?;?v[}w"> <field name="NAME">timeout3</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="Ru#jm0kAdQ5s!lWw8-ZF"> <value name="IF0"> <block type="logic_operation" id="JotSxV7L@8aDs,_6JaUV" 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_operation" id="js}(H[9js=@U8oRZi;[l" 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="%)]ZulWOHU$~O[OX5(u!"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="xG%Cqh.$1kGP$jyflNu8"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="1e#{L*Jat2-[pag|953f"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="b/FaS!8mVUO{hnTc4B[6"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="dVvU8WoX0X;M=N=WK;(h"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="math_number" id=",F%?(OrtuVj_V~!;.6/+"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="X8IF*lSL$KZGbw+(B`Vk"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="y~Gc(BiT2KWngQJRPcmM"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</field> </block> </value> <value name="B"> <block type="logic_boolean" id=",mTckZE~,,T--ya6Jl^i"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="IEyNcr/?#y#8K(IAWHT`"> <field name="COMMENT">WaMa ist fertig</field> <next> <block type="timeouts_clearinterval" id="U,jzx?Ey?4jm/#tjYSPO"> <field name="NAME">Dauerzaehler</field> <next> <block type="variables_set" id="vj!Vu=sDr5yt.:ZU#OfU"> <field name="VAR" id=";y1}Hi=}pdvws@je`5g*">WaschmaschineEinAus</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="update" id="[5GqueLVbE!;+d[D[}Vt"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">StatusIoT.0.WaMaWaschende</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="UmwO@D2M8Rja_v2hJCqF"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="oM(c}!pCO~G)AV9v8H:g"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="sv]o:8yG*vRh1RT~nlA$"> <field name="OP">DIVIDE</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Nv,k/}AoJ4tZ^^$la{Q}"> <field name="NUM">1</field> </shadow> <block type="convert_tonumber" id="^HUFg_F7MM6/BQel::w,"> <value name="VALUE"> <block type="get_value" id="[|7NgG^]pM%@#-9^bo[V"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0970473.2.ENERGY_COUNTER</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="cnE#{nyce1VJUBHIh~IK"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <next> <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="13"></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="bo,?noy~Q_fU|mOY{L#L"> <field name="TEXT">Dauer: </field> </block> </value> <value name="ADD3"> <block type="variables_get" id="UWw#{Zvec^I@@szY?`2w"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</field> </block> </value> <value name="ADD4"> <block type="text" id="M^]iVwQ,prG!`L|C~)~g"> <field name="TEXT"> Minuten.</field> </block> </value> <value name="ADD5"> <block type="time_get" id="8u(%B16pz]eRN}PV5dst"> <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="5C!gUPV|`b@=iFX@aJeI"> <field name="TEXT">Verbrauch: </field> </block> </value> <value name="ADD7"> <block type="math_rndfixed" id="VKS0i5D@QcR(K8~HBVt*"> <field name="n">2</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="/mj1cO@W#rIj@,l-hhT("> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="a9lUI_@{%c|:}2r]9,3="> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Vt0U^|-5/xSi)-0R$lvC"> <field name="NUM">1</field> </shadow> <block type="get_value" id="n.xJH}U%IgpOj2qa_[d7"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschende</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="kjky7:Z,vFRr8V{DWBlc"> <field name="NUM">1</field> </shadow> <block type="get_value" id="g%bFIVmFv8)gI{%-jcRB"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschstart</field> </block> </value> </block> </value> </block> </value> <value name="ADD8"> <block type="text" id="?3@1QC?jSS#7UdzSm),X"> <field name="TEXT"> kWh.</field> </block> </value> <value name="ADD9"> <block type="time_get" id="BE%B6PWxaT1!ksrO8=F}"> <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="ADD10"> <block type="text" id="OZG2U8*$5^Y~7us`n98M"> <field name="TEXT">Kosten: </field> </block> </value> <value name="ADD11"> <block type="math_arithmetic" id="8aLE^y;!;aWJq$771_e2"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="aa{@~RP3y$9M7v332=?B"> <field name="NUM">1</field> </shadow> <block type="math_rndfixed" id="vMz`ArhYYU5KvzU!CJM-"> <field name="n">1</field> <value name="x"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id=",fEIqVcGmmf4,!4)?0b^"> <field name="NUM">3.1234</field> </shadow> <block type="math_arithmetic" id="EBsPk7Wu}B*pVRwu`11t"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="Vt0U^|-5/xSi)-0R$lvC"> <field name="NUM">1</field> </shadow> <block type="get_value" id="X+Oe]i0kB*xR=4rB/=p3"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschende</field> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="kjky7:Z,vFRr8V{DWBlc"> <field name="NUM">1</field> </shadow> <block type="get_value" id="WS0!QAt)dlmkHoRl`b^7"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.WaMaWaschstart</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="viK@?=8BKmMU^eC!xT?s"> <field name="NUM">1</field> </shadow> <block type="get_value" id="0#$phz$rjNdH,Sw+70H/"> <field name="ATTR">val</field> <field name="OID">StatusIoT.0.Strompreis</field> </block> </value> </block> </value> <value name="ADD12"> <block type="text" id="`g7T6{aw*)Xb;2tcAr,;"> <field name="TEXT"> €.</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="^Q4mos%.lH(nScu^]C,+"> <field name="NAME">timeout</field> <field name="DELAY">60</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="c+9yEbR]14.2z]jg^oG?"> <field name="VAR" id="Hhe!Hg(xh7gHuy(6hLlx">Waschmaschine_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="^uz`+l@#(*|kCFi{#TXz"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@Accu
Also ich kann ehrlich gesagt keinen echten Fehler oder so erkennen, finde aber ein paar Punkte "seltsam".
Mal angenommen die WaMa läuft und geht zweimal unter 3 Watt. Dann wird beide Male Dein timeout3 gestartet. ich weiß nicht genau welche Auswirkungen das hat, aber meines Erachtens ist es immer sinnvoll, wenn nicht notwendig, einen timeout auch wieder zu stoppen. Das müsstest Du dann vor dem Ausführen des timeou3 noch voranstellen. Wozu Du timeout2 und timeout brauchst, verstehe ich gar nicht. Ist meiner Meinung überflüssig.
Dann aktualisierst Du WaMaWaschende mit einer Verzögerung von 1 Sekunde. In der Zeit läuft Dein Skript aber weiter, und er berechnet wahrscheinlich bereits den Verbrauch, bevor Du in WaMaWaschende überhaupt was reingeschrieben hast. Das würde natürlich auch einen negativen Wert erklären.
Warum probierst Du nicht mal testweise mein Skript. Das ist wesentlich kürzer und abgesehen von Verbrauch und Dauer (das nutze ich nicht) funktioniert das super bei mir.@buggybeast sagte in Waschmaschine:
@buggybeast sagte in Waschmaschine:
-
Danke BuggyBeast. Ich werde mal deins Testen. Hatte mich nur bisher an das Skript von oben gehalten.
Die Timeouts kann ich auch nicht wirklich verstehen. -
Hi Leute,
Ich hab so gefühlt schon alles im Netz gelesen, um mein Waschmaschine blockly hinzubekommen. Mein Problem ist, meine Waschmaschine braucht wenn sie fertig ist, 2-3w. Allerdings macht sie während des waschens auch mal eine Pause und braucht genauso viel. Wenn sie fertig ist, hat sie einen Knitterschutz, da dreht die ca alle 28s nochmal die Trommel. Habt ihr eine Lösung für mein Problem? Hatte schon an nen timer von ca 1h gedacht, was allerdings nicht die beste Lösung wäre. Oder z. B. Einen counter von z. B. 10, der hochählt und bei 11 mal unter 3w erst meldet, dass die Waschmaschine fertig ist. Ist sowas möglich, bzw wie bekomme ich das hin?
Gruß
Phantomkommander