- Home
- Deutsch
- Skripten / Logik
- Blockly
- Geschirspüler Meldung
Geschirspüler Meldung
-
Moin zusammen,
ich fummel schon eine ganze Weile an dem Blockly für die Benachrichtigung meines Geschirrspülers rum.
Mein Problem ist folgendes. Das gerät verbraucht nicht konstant Strom während des spülens. Oft bricht der Verbrauch auf 2-3 Watt für mehrere Minuten ein. Das habe ich versucht mit Timern abzufangen. Allerdings bekomme ich momentan die Ansage mehrmals.Für Waschmaschine und Trocknet habe ich das fast genauso gemacht. Allerdings verwende ich dort noch einen Magnetsensor an der Tür.
Habt Ihr Ideen? Wie habt ihr das in Blockly gelöst?
-
Das wird wohl auf das Gerät ankommen. Unser Siemens geht während der Trockenphase für eine längere Zeit auf so einen niedrigen Verbrauch zurück, wie auch nachdem er fertig ist. Also prüfe ich im Skript diese Trockenphase mit niedrigem Verbrauch ab und unternehme da nichts. Erst nachdem der Verbrauch beim Abpumpen wieder steigt, wird auf den danach niedrigen Verbrauch getriggert. Das funktioniert zu >95% - manchmal kommt die Meldung doch noch zu früh.
-
@Dr-Bakterius Gute Idee! Kannst du mir das Blockly vielleicht zur Verfügung stellen?
-
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</variable> <variable id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable type="interval" id="Intervall2">Intervall2</variable> </variables> <block type="variables_set" id="8ti~.]!A:meS-ymkH|,(" x="-437" y="-162"> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> <value name="VALUE"> <block type="logic_boolean" id="pcyVN?a+E@|FFkjAlCI}"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="bEKQ2rdBN?~Yx3KAMrV3"> <field name="VAR" id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</field> <value name="VALUE"> <block type="logic_boolean" id="(gJqW?YvK(KWgQMmd^rL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="p-K}:YdWKNF,qs9LAL}/"> <field name="COMMENT">Wenn der Geschirrspüler fertig ist</field> <next> <block type="on_ext" id="GmB5zk,+Hko!fPc71{|d"> <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="~{ro!GIa^tGjwK/+FvTg"> <field name="oid">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="7zYlQ?WQ=MI?@lhSd24r"> <value name="IF0"> <block type="logic_compare" id=".ty;QEl[pU_kZm6el#jN"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="Oevdh=:I}@:D+wy~H8{]"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="ev?qXRsJwIJ(4E*xh#0a"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="0@i:wS{+-_f7{4gG(|X="> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="A*l.|N*8x_fv~wO~pI)J"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="l4lB6!{SL}T4m@KiXJ=R"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="3#yons?0FNyEj=Ui#pmS"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="aEH{%NdV^T@;fB0~S*2r"> <field name="COMMENT">Wenn Programm läuft</field> <next> <block type="timeouts_cleartimeout" id="KEft|aO??PQpBCCMOnSa"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="c8P?``XO.UeRmE3ALlL`"> <field name="NAME">timeout3</field> <next> <block type="variables_set" id="3`pZ4*kPrBk*1z5Qm0d2"> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> <value name="VALUE"> <block type="logic_boolean" id="g~*r1H1pP@h+VuhyELCR"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="c)5JM0,cw/bE*YybrJIi"> <value name="IF0"> <block type="logic_operation" id="c6GGpp}XG.oyY3s-pJB*" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="X]K:HdDI`1gOlPc{]IID"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="Gok?2-~E9NeXWsL~q/U}"> <field name="VAR" id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</field> </block> </value> <value name="B"> <block type="logic_boolean" id="m}s?/g[4t4P7:GvT_KA:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="@@yEys4RFAbQ^1zk4ij6"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="LL?@icHn0uk`mgW8`Ens"> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")TgDdD,!z7.^}!S*X]Tf"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="V}f[kFz{Dg=M*Qtk{oR|"> <field name="COMMENT">Wenn mind. 9 Minuten kaum Strom verbraucht wurde,</field> <next> <block type="comment" id="Z1IAB{nG:?dh)#N]L6@("> <field name="COMMENT">findet das Trocknen statt. Ab jetzt kann auf</field> <next> <block type="comment" id="k}:jrU33*)M-zjGXxJ7b"> <field name="COMMENT">das Programmende geachtet werden.</field> <next> <block type="timeouts_cleartimeout" id="BGLAOT%5asGyV}`;,6BQ"> <field name="NAME">timeout3</field> <next> <block type="timeouts_settimeout" id="Xkpds?dcD-?cNIHLe-y]"> <field name="NAME">timeout3</field> <field name="DELAY">9</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="debug" id="[jwuvco_=Z.(u1^KX;t?"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" id="~/)}6l?Uq*un}%tA|:~!" type="text"> <field name="TEXT">Geschirrspüler scheint gerade zu trocknen, Programmende wird überwacht.</field> </shadow> <block type="text_join" id="JS,@m8;(Q:irc[:8+?(5"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="`L%XL56]6nr1P|wRBb+K"> <field name="TEXT">Geschirrspüler scheint gerade zu trocknen (</field> </block> </value> <value name="ADD1"> <block type="get_value" id="GVNJA5|Q-Kam?f@!+0H5"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="ADD2"> <block type="text" id=")a^1nHZJ{iJ190vJ@PJ}"> <field name="TEXT"> W), Programmende wird überwacht.</field> </block> </value> </block> </value> <next> <block type="variables_set" id=")OH!E:?GKA8mtw1my(8]"> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> <value name="VALUE"> <block type="logic_boolean" id="vkT~]}.mW1b~P^x%YFvU"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="d/K[a0,i}XwjFDW8#(J*"> <field name="VAR" id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</field> <value name="VALUE"> <block type="logic_boolean" id="`vaW:r,TYQ7(0T?mhka5"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="#x]6On8+D5g229-W89d9"> <value name="IF0"> <block type="logic_operation" id="R[gRBC2*/(RUd,P]:8J-" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="|8mZ*^Mi@wx*@XlR;}6K"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="|%Vg!J}]oIz.CxK|%D:W"> <field name="VAR" id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</field> </block> </value> <value name="B"> <block type="logic_boolean" id="~U@/Asr#N]pJp;1=_O:d"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="srmH0RId`(R#U(zIV!/N"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="NqKnwni!1/!.~M1m6QS!"> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> </block> </value> <value name="B"> <block type="logic_boolean" id="|v_b^gC9a?pL`PWYdY-I"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="F:@5:BMv;.{0@M|[U8sY"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" id="~/)}6l?Uq*un}%tA|:~!" type="text"> <field name="TEXT">Geschirrspüler scheint gerade zu trocknen, Programmende wird überwacht.</field> </shadow> <block type="text_join" id="_Y)HBQ@Mhg?@J1q]abw."> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="7uc4Mi:3|prF=]f)Y6P_"> <field name="TEXT">Programmende erreicht (</field> </block> </value> <value name="ADD1"> <block type="get_value" id="FK!,tCe6:PYKS.x}1coV"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="ADD2"> <block type="text" id="JL*fbh#vwL`WNwSxEL}."> <field name="TEXT"> W)? Warte noch eine Minute.</field> </block> </value> </block> </value> <next> <block type="comment" id="l%DFL[S!FoZzB#=SNvIf"> <field name="COMMENT">Bei geringem Stromverbrauch</field> <next> <block type="timeouts_cleartimeout" id="c4EpM)13T~/`u5rc]Jav"> <field name="NAME">timeout3</field> <next> <block type="variables_set" id="wIelFM=z;:|_WzDh^Bj."> <field name="VAR" id="=Vt-fqxlxlq5D^Npy[]8">Geschirrspüler ein</field> <value name="VALUE"> <block type="logic_boolean" id="4J.:)5b=CfQ9Lx|vr3:%"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="hL).U:2,n:}yylXQ`.?W"> <field name="NAME">timeout2</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="debug" id="8G_yVi|+OTHn[4]6-SUI"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=".kzXq)4]mHP%kn+c(iS]"> <field name="TEXT">Programmende erreicht! Hinweis ausgeben.</field> </shadow> </value> <next> <block type="variables_set" id="*i(ENnflJ1!K|,lSfN/N"> <field name="VAR" id="lT0j/8P+=U6Qk3X@ZTy7">Geschirrspüler trocknen</field> <value name="VALUE"> <block type="logic_boolean" id="_aGI|z:2~@[{xQy2^Wa-"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="controls_if" id="c)4cGe1H^%:9+nmXz3T("> <value name="IF0"> <block type="logic_compare" id="7:IW0/Ku~bJymUo+nEzx"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="a9}-c.AyN[d{DSVyUK@I"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="|3M]=0=AaY}G#:w3-wKT"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="P,;@u8uH%o@Xz.W_9vUk"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id=")RdIPaRAzv#.Of56P([6"> <field name="TEXT">Info: Der Geschirrspüler ist fertig!</field> </shadow> </value> <next> <block type="control" id="|OJB,|m@9Zzq1{n@Nj_["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.131b1df09917456fb768d6b16f21c1a8.Commands.announcement</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="j`Lx@!u9f~|{|1mE{T#Y"> <field name="TEXT">Der Geschirrspüler ist fertig.</field> </block> </value> <next> <block type="timeouts_setinterval" id="-)X9QY)UW3ho|7WY/f^r"> <field name="NAME">Intervall2</field> <field name="INTERVAL">15</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="92663V3ncX^{{/eJXy54"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="QUEW0Pj;J*-x.]U#2T2:"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="7OF/~,lV15w~4ZVZck+~"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Steckdose_Geschirrspueler.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="}}f8#M|9])P_1!xdE[2U"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="xSM4Z/Xj=+RPfhs:]qRP"> <field name="COMMENT">Sprachausgabe solange Gerät nicht ausgeschaltet wurde</field> <next> <block type="control" id="m7dH]u86W,{!=SVQ)`5x"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.131b1df09917456fb768d6b16f21c1a8.Commands.announcement</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="%W[*p,h5O%Y4}l~jOlZ5"> <field name="TEXT">Der Geschirrspüler ist fertig.</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="comment" id="TJ3o5_ar#zek,bdHzY?4"> <field name="COMMENT">Wenn Gerät ausgeschaltet wurde</field> <next> <block type="timeouts_clearinterval" id="fqnTWvqMOaudeu?U%WFN"> <field name="NAME">Intervall2</field> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
Musst du halt noch für dich anpassen...
-
Eventuell ein Ansatz?
Debug Ausgabe machen lassen, pro Waschprogramm, die Pausen protokollieren.
Dann so einrichten das die Pausen ebenfalls in die Auswertung reinfließen.
Anzahl der pausen und Verbrauch zusammen könnten zuverlässiger sein.