NEWS
Steckdose automatisch nach Leistung über Zeit ausschalten
-
@markus-7 sagte: in Blockly einen Baustein erstelle, der mir erst nach 10 Minuten Leistungsbezug von 500 Watt etwas schaltet?
@markus-7 sagte in Steckdose automatisch nach Leistung über Zeit ausschalten:
Zusätzlich ist noch einen Timer drin, der die Betriebszeit zwischen 8 Uhr und 21 Uhr festlegt.
Was hat das mit der Aufgabenstellung zu tun, abzuschalten, wenn die Leistung 10 Minuten lang mind. 500 W beträgt?
Soll um 8:00 Uhr ein- und um 21:00 ausgeschaltet werden? -
@paul53 Super, das funktioniert auf Anhieb, vielen Dank!
Ich war nur kurz irritiert, dass ich zuerst im Modul "stop ..." nicht "delayOff" eintragen konnte, sondern erst, nachdem ich im Modul "Ausführen" den Namen "delayOff" eingetragen hatte. Wieder ein bisschen weniger dumm
Und sorry für die Verwirrung mit dem zusätzlichen Block "Einschalten um 8 Uhr...", der soll den Kompressor generell nur tagsüber in Betrieb halten, hat natürlich nichts mit meiner direkten Frage zu tun gehabt.
-
@paul53 Vielen Dank, genau so etwas habe ich gesucht. Allerdings möchte ich hier nur eine Benachrichtigung wenn der Gefrierschrank länger als 30 Min mehr Strom benötigt (Türe offen)
Werde es also umschreiben -
Oh, das mit der "Kühlkettenüberwachung" ist auch eine gute Idee - wärst du so nett hier mal das umgebaute Script zu posten?
-
@blue231181
Wäre da ein Fenster Sensor nicht leichter
Wenn offen länger als 10 min. dann .... -
@jensven Fensterkontakte geben aber keinen Alarm, wenn das Kühlaggregat ausfällt/kaputt ist oder der Strom weg ist oder oder
-
@markus-7 leider gerade erst gelesen. Ich stell es morgen ein. Bin heut nur Mobil unterwegs
-
@blue231181 Alles gut, eilt nicht, mach dir keinen Stress
-
@markus-7 Stress macht man sich nur selbst
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="delayOff">delayOff</variable> </variables> <block type="on_ext" id="l6Y+yRT9f-[Nv_|+H2xi" x="37" y="62"> <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="|Y}vMR/xcIv*=f;G6PTu"> <field name="oid">sonoff.0.Gefrierschrank.SENSOR.ENERGY.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="t{v1_2-,6d0B_ArjF6E#"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="U?Ya7?N!:U;gnB5/yAm7"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="|[L`?RiVia.d4JqIRzCv"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="WObSQr:]5Hlzh,EQvRQt"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="2NmL7%mqVOX(;H_.~3X;"> <field name="NAME">delayOff</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="%Ewk`u*e^U]X{+ktU5]T"> <value name="BOOL"> <block type="timeouts_gettimeout" id="[ug{/6u?Xw9V#q,6o006"> <field name="NAME">delayOff</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="q#dmj=6?4s(VM@F6/kQV"> <field name="NAME">delayOff</field> <field name="DELAY">20</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="4}X~G4Wm]S0ND48R|O?I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.1.Echo-Devices.G0913L061032041X.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Zn=8G#8ojVeqBDTy-G]x"> <field name="TEXT">50; Achtung, Gefrierschrank Türe seit 20 Min offen</field> </block> </value> <next> <block type="telegram" id="^:xnwlaEAMj2w93!;#}t"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="5m?LxTjLKtRV#zozMZpc"> <field name="TEXT">Achtung, Gefrierschrank Türe seit 20 Min offen</field> </shadow> </value> <next> <block type="debug" id="(Bdc|Sp9cYkg]$gpb*95"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="efzCHt[p}@K1r*YP8Gfv"> <field name="TEXT">!!! Achtung, Gefrierschrank Türe seit 20 Min offen !!!</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
Wird nicht perfekt sein, aber ich hoffe es dient als Inspiration
VG -
@blue231181 Top, vielen Dank dafür
-
Hallo blue, noch eine Frage dazu: Es macht für mich Sinn, nicht nur die Einschaltdauer zu überwachen, sondern natürlich auch die Ausschaltdauer. Stichwort "Kompressor/Thermostat/Relais etc. kaputt".
Ich habe jetzt einfach das Script nochmal an das erste dran gehängt (mit der Kennung "delayOff2", dabei auf eine Stromleistung von > 80 Watt gesetzt und einen Zeitraum von 180 Minuten gewählt. So wie ich das verstehe, stoppt das Script dann bei einer Leistung von > 80 W den Timer von 180 Minuten. Ansonsten wird nach Ablauf der 180 Minuten die Meldung ausgegeben. Ist das so richtig verstanden?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="delayOff1">delayOff1</variable> <variable type="timeout" id="delayOff2">delayOff2</variable> </variables> <block type="comment" id="[Hv*O=!faOmBf2Ci%:kP" x="-737" y="-412"> <field name="COMMENT">Überwachung Einschaltdauer > 30 Minuten</field> <next> <block type="on_ext" id="Oc2:Q5]eLm-ybrGto-Dx"> <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="+p_^YsIxG%f)-bpU([BT"> <field name="oid">meross.0.2212090944763551080548e1e9b25fcf.0-power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="8_.:8_gzZyoGq.ghQI.s"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id=")8@fp!MNrh=@i6pC{GE7"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="(kv4W:gPqymiO8irIS3o"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="h(XOV)PP::p4D}u43AtN"> <field name="NUM">110</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="Tt:JhueVxEym}bolpVNF"> <field name="NAME">delayOff1</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="%:cPRhQ|ot#(`Mk_c,u3"> <value name="BOOL"> <block type="timeouts_gettimeout" id="lThK6cS`i_U3QNCW0AGr"> <field name="NAME">delayOff1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="=)*~`Ro.-.qye(3hZJp]"> <field name="NAME">delayOff1</field> <field name="DELAY">30</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="TKkI1wGaGb-Ps4qrFxBy"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G091EU1521830C5K.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="v0Ev1rM{g37t/6-t#*_*"> <field name="TEXT">50; Achtung, Gefrierschrank ist übermäßig lange an.</field> </block> </value> <next> <block type="debug" id="T4T6/|seJ:QMfo@/T%iu"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="_9Gip}bO{2Vfx;#.kis4"> <field name="TEXT">Achtung, Gefrierschrank ist übermäßig lange an..</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="sHT7!/}=])^Yhb0n9G^g"> <field name="COMMENT">Überwachung Ausschaltdauer > 180 Minuten</field> <next> <block type="controls_if" id=";u7V|7HLjM6%Q|e,_RR)"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="XAyG}*fPR/Ub8AU.Zri["> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="*5TiL,3rZ,0wK0XB#C%z"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="c4?u(*0/?3SQV}SJ_;b3"> <field name="NUM">80</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="#3CF`gG{mM_z8jj-e/N)"> <field name="NAME">delayOff2</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="yzFCO}ux(kW*7)(^7H0R"> <value name="BOOL"> <block type="timeouts_gettimeout" id="JZuP_!JV@v1Kq4K0gv]j"> <field name="NAME">delayOff2</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="bI95O,DuBUpMW4gma)nx"> <field name="NAME">delayOff2</field> <field name="DELAY">180</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="#wIy6pH7rCv{.PFs00XT"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G091EU1521830C5K.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="D)c3;]R5|f,i/!Q(H_u-"> <field name="TEXT">50; Achtung, Gefrierschrank ist übermäßig lange ausgeschaltet.</field> </block> </value> <next> <block type="debug" id="@6HEB}Pv]K|,$-s_kjN6"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="C:DGaA~2.?*T3`ru!dbH"> <field name="TEXT">Achtung, Gefrierschrank ist übermäßig lange ausgeschaltet.</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@markus-7 leider bin ich auch nicht so erfolgreich im Skripten. Eventuell kann uns jemand von den Profis hier weiter helfen...?
-
@markus-7 sagte: stoppt das Script dann bei einer Leistung von > 80 W den Timer von 180 Minuten. Ansonsten wird nach Ablauf der 180 Minuten die Meldung ausgegeben. Ist das so richtig verstanden?
Richtig.