NEWS
Ausschalttimer
-
Morgen zusammen ich Versuche seit gestern einen Ausschalttimer zu erstellen.
Bisher treten aber immer wieder Fehlschaltungen auf.
Aufgabe relativ simpel.
Wenn der Stromverbrauch eine bestimmte Zeit unter einem bestimmten Schwellenwert ist soll der Aktor in dem Fall ein Shelly ausgeschaltet werden.
Jedes übertreten des Schwellenwertes soll den Timer wieder zurücksetzten.
Bisher habe ich es immer über meine s7 realisiert.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout TV SZ">timeout TV SZ</variable> <variable type="timeout" id="timeout TV SZ2">timeout TV SZ2</variable> </variables> <block type="on" id="tivd533;Y)K!Rb#;cx`~" x="-112" y="112"> <field name="OID">shelly.0.SHSW-PM#34945470D9B1#1.Relay0.Power</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="n[TaedR}_kI[!0TrmN6w"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="xIq:(*,bipXao%/-6x#z"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="]`Btnw=d`3d7AF%XP1!v"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="GcfU@@jsUu)]31.]i`$9"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#34945470D9B1#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="^D_-}IA_|P7)|I]61m[U"> <field name="NUM">82.5</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/iG-1WB8c1E=sY6tDuuN"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="CQZzABbGV.g9B5;S]tf5"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#34945470D9B1#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="=4NSbjv9R5*I!SMa~Ng3"> <field name="NUM">0.2</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="ijo4t=~l_@t-6.}eQ@C,"> <field name="INSTANCE">.1</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="RsVosz^TwUd(+=~3%,C|"> <field name="TEXT">text</field> </shadow> <block type="text" id="9MQoJ,.%D.Wk(t{e-o3L"> <field name="TEXT">Timer läuft</field> </block> </value> <next> <block type="timeouts_settimeout" id="[+m}97_XKe1GmwkX%@e$"> <field name="NAME">timeout TV SZ</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="=$Z?!=[k+$}]KJ*,R5lD"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-PM#34945470D9B1#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="tj):W)Tt]5P/U$cJ*E%u"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="h[7M@nBp72|,YoZs{^EL"> <field name="INSTANCE">.1</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"> <field name="TEXT">text</field> </shadow> <block type="text" id="tF1Kr^tckEe`huA?wWs?"> <field name="TEXT">TV Schlafzimmer ausgeschaltet</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <statement name="ELSE"> <block type="telegram" id="P4qts:kt[P9CH0HgZZZ?" disabled="true"> <field name="INSTANCE">.1</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"> <field name="TEXT">text</field> </shadow> <block type="text" id=":Mu*p{LEHguR`e*+2nPu"> <field name="TEXT">zurückgesetzt PC</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="1DJ]mzMdrb+#@rDtKjs="> <field name="NAME">timeout TV SZ</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="v|wef5OKU%~Yv!pzHzjX"> <field name="OID">shelly.0.SHSW-21#55A4E2#1.Relay0.Power</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="_j+ORFJfbymXu?*VR-qn"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="!d+a1TI3dhs5?=0V[WZ*"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="B?`Xz!`V]]c-,gf@t~6n"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="]DgOr/C^uC{HI{;Qnl0!"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-21#55A4E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="FoM!l~!irWMCZ?F9)NzZ"> <field name="NUM">15</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="myIpsf8s%0AAvq#D![=s"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="}3m`M{Vd{~OQ46/8t_`2"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-21#55A4E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="uiHVi*~zZA+c0+GQ~d7T"> <field name="NUM">0.2</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="3v^X9mWE?qFNY~s+tvD;" disabled="true"> <field name="INSTANCE">.1</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"> <field name="TEXT">text</field> </shadow> <block type="text" id="A)Cc,?FEZ7{42gTY2G5}"> <field name="TEXT">Timer läuft PC</field> </block> </value> <next> <block type="timeouts_settimeout" id="][q%;j_7ca?3s(}TX*^W"> <field name="NAME">timeout TV SZ2</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="JDN_Ex,b6dg814/)pI/d"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHSW-21#55A4E2#1.Relay1.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2o=NQ`x98%b[G)/dOY(S"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="h?bn7eyD3OViC}[Xr?Wr"> <field name="INSTANCE">.1</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"> <field name="TEXT">text</field> </shadow> <block type="text" id=".Fi.FIV)fTlWePr+*ncC"> <field name="TEXT">TV Schlafzimmer ausgeschaltet PC</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <statement name="ELSE"> <block type="telegram" id="xt?ya7Lty6KPE-IYFj[_" disabled="true"> <field name="INSTANCE">.1</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"> <field name="TEXT">text</field> </shadow> <block type="text" id="?}=p[^3@Knm#@-QpGPOJ"> <field name="TEXT">zurückgesetzt PC</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="(Qe}h!IN|i|*IwmFgXz%"> <field name="NAME">timeout TV SZ2</field> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
Das Zurücksetzen klappt anscheinend nicht immer
Gruß Nils
-
@jacke bei jeder Wert Änderung innerhalb deiner "Begrenzung" wird ein neuer Timer gestartet
-
@crunchip Überprüft er nicht bei jeder Wert Änderung Power ob der Wert in dem Fenster ist. und startet dann entweder den Timer neu oder setzt ihn zurück? Es ist doch immer der gleiche Timer
-
@jacke sagte in: Wert in dem Fenster ist. und startet dann entweder den Timer neu oder setzt ihn zurück?
Bei jedem weiteren Wert innerhalb des Fensters wird ein neuer Timer gestartet, der nicht mehr gestoppt werden kann.
Das mehrfache Starten des Timers kann man so verhindern:Wert und vorheriger Wert (unter "Trigger"):
-
Danke für die Mühe ich habe das jetzt genauso übernommen. Leider startet er einem Timer wenn der Wert einmal unter die Grenze geht und setzt ihn anscheinend auch nicht mehr zurück.
-
@jacke sagte in Ausschalttimer:
das jetzt genauso übernommen. L
bitte einen deutlicheren Screenshot.
der ist unscharf.sieht aber aus als hättest du nicht die gleichen Vergleichsoperatoren drin
-
@jacke sagte: ich habe das jetzt genauso übernommen.
Hast Du nicht! Richtig:
sonst falls vorheriger Wert >= 82.5
-
@paul53 Tatsächlich, Entschuldigt.
Kann mich mal einer aufklären wie der Timer dann gestartet wird.
weil bei sagen wir mal 20W ist sonst falls ja auch false -
@jacke sagte in Ausschalttimer:
20W ist sonst falls ja auch false
aber sonst falls prüft was anderes