NEWS
Heizungsteuerung Pumpe
-
Hallo ziemlich neu hier. Und versuche das hier den ganzen Tag. Ich verzweifle.
Situation.
Ich will das wenn die Brennertemp über 30 ist ->die Pumpe an geht und so lange anbleibt wie der Brenner über 30 ist , danach noch 6 Minuten nachläuft.Wenn Brenner nicht an ist ... soll die 8 Minuten aus bleiben ...dann 2 min an.....
Ich war heute schon viel weiter aber es funtionierte nicht. Dan habe ich einiges wieder gelöscht....
BlocklyJavascriptTypeScriptRules Protokoll Ausgewählte Blöcke exportieren <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on" id="8loB(EE%UC8L([#t,z?Q" x="-539" y="49"> <field name="OID">mqtt.0.TEMPHEIZ.Brenner.Brenner</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="OOAt)R?W#$K,$F25N@UV"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="2J=DaBMy@]MxL.i(iPwd"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="x^8sS=gJ:}Z4*N,0kYY5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="V%63G75LVCdM#z7d90E*"> <field name="NUM">30</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Jzi-xVRE^4X.5zPty^-l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fV2v*Z2u=HrLC0SEhV!L"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="DJ|.WgP~)|z7@Uj]xi[Q"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="]`g,p4LDl+*,m/U3%XX;"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="j;w.T%bbZKPg*9/@tY;d"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="control" id=";j5|`l8b]po_482{j!Vp" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="OTdm.q+P)s7B#LG#sx6q"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="timeouts_cleartimeout" id="Tbabrq[$_+e`X^ZXf/t0"> <field name="NAME">timeout</field> </block> </next> </block> </xml> <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on" id="8loB(EE%UC8L([#t,z?Q" x="-539" y="49"> <field name="OID">mqtt.0.TEMPHEIZ.Brenner.Brenner</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="OOAt)R?W#$K,$F25N@UV"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="2J=DaBMy@]MxL.i(iPwd"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="x^8sS=gJ:}Z4*N,0kYY5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="V%63G75LVCdM#z7d90E*"> <field name="NUM">30</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Jzi-xVRE^4X.5zPty^-l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fV2v*Z2u=HrLC0SEhV!L"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="DJ|.WgP~)|z7@Uj]xi[Q"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="]`g,p4LDl+*,m/U3%XX;"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="j;w.T%bbZKPg*9/@tY;d"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="control" id=";j5|`l8b]po_482{j!Vp" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="OTdm.q+P)s7B#LG#sx6q"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="timeouts_cleartimeout" id="Tbabrq[$_+e`X^ZXf/t0"> <field name="NAME">timeout</field> </block> </next> </block> </xml>
-
@nicoloma sagte in Heizungsteuerung Pumpe:
Ich will das wenn die Brennertemp über 30 ist ->die Pumpe an geht und so lange anbleibt wie der Brenner über 30 ist , danach noch 6 Minuten nachläuft.
Würde ich wie folgt lösen:
Wenn Brenner nicht an ist ... soll die 8 Minuten aus bleiben ...dann 2 min an.....
Dies verstehe ich jedoch nicht was du damit meinst.
-
@kusi
Vielen Dank für die schnelle Antwort.Wenn der Brenner sich ausschaltet soll die Pumpe sich 8 Minuten lang ausschalten, danach wieder kurz 2 Minuten lang laufen
-
@nicoloma
Wenn die Brennertemperatur unter 30 Grad sinkt, dann soll SOFORT die Pumpe ausschalten.
Danach ist die Pumpe 8 Minuten ausgeschaltet.
Danach beginnt die Pumpe nochmals für 2 Minuten zu laufen.Richtig so??
-
@kusi said in Heizungsteuerung Pumpe:
innt die Pumpe nochmals für 2 Minuten zu laufen.
Ja genau.
Sinn dabei ist die soll nich nochmal neues Wasserziehen um die Heizungssteuerung nicht zu ignorieren
-
@kusi sagte in Heizungsteuerung Pumpe:
SOFORT die Pumpe ausschalten.
@Nicoloma
SOFORT oder erst nach 6 Minuten die Pumpe ausschalten, wenn die Brennertemperatur unter 30 Grad sinkt?? -
@kusi
Verdammt, Ja erst nach 6 Minuten..nach dem die Brennertemp 30°C unterschritten hat. -
@Kusi
Wie bereits gestern erwähnt. Ich hatte es schon, aber dann schaltete die Pumpe an aus.... an aus...Danach hatte ich es nochmal geändert und nie wieder so hinbekommen...
Wahrscheinlich weil ich noch nicht weis was ich tue...Aller anfang ist schwer. Danke schonmal vorab!!!!! -
BTW:
Ich habe als gedankenstütze noch ein INFO DEBUG eingebaut,
aber dieser schiest ja mehrmals in der Sek ein Signal
Warum, wird er jedesmal angestoßen?
Ich dachte er ist doch immer mitten im Script, oder führt er die Obige prüfung (Falls TempBrenner sich ändert) trotzdem aus? -
@nicoloma Du hast dir einen Fehler eingebaut!
Beim "sonst falls" muss der Wert der Temperatur kleiner 30°C liegen, nicht grösser-gleich!! -
@nicoloma
So wären deine Anforderungen alle gedeckt.
Blockly-Export:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</variable> <variable type="timeout" id="Ausschaltverzögerung">Ausschaltverzögerung</variable> <variable type="timeout" id="Nachtlauf starten">Nachtlauf starten</variable> <variable type="timeout" id="Nachlauf stoppen">Nachlauf stoppen</variable> </variables> <block type="variables_set" id="-..d`%O-62p7|)TZ[!QH" x="-587" y="63"> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> <value name="VALUE"> <block type="logic_boolean" id="Hy)IukX`wg_p?A/uyX:0"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on" id="8loB(EE%UC8L([#t,z?Q"> <field name="OID">mqtt.0.TEMPHEIZ.Brenner.Brenner</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="OOAt)R?W#$K,$F25N@UV"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="mqYMYETRe9)=oSDC=CsQ" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2J=DaBMy@]MxL.i(iPwd"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="x^8sS=gJ:}Z4*N,0kYY5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="V%63G75LVCdM#z7d90E*"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="1afxEBdABF8;I_vE_3O`"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="l7Q2bbS]4OOgBLDEW?]J"> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/PdV4*:tJiQZ$pTSc^8N"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=")XN3EO2@i;_uKhWMxPm="> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> <value name="VALUE"> <block type="logic_boolean" id="KC_npjr@%^O!Oh%]P(rA"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="Jzi-xVRE^4X.5zPty^-l"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fV2v*Z2u=HrLC0SEhV!L"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="Tbabrq[$_+e`X^ZXf/t0"> <field name="NAME">Ausschaltverzögerung</field> <next> <block type="timeouts_cleartimeout" id="%n,0EEnF~N}d%SRN67$%"> <field name="NAME">Nachtlauf starten</field> <next> <block type="timeouts_cleartimeout" id="bb~jPAnHz@PZkx%=|U:@"> <field name="NAME">Nachlauf stoppen</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="y/LE1nM68{Xyf8|qBY1X" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="pjfhafjMHqBd640opgQT"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="j?9U#TPM]gplB1:pgb^i"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="0MZBs]qjABr%qN}KYv+A"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="{VAsdwu[Em)YPQr*!mVP"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="YN,vJ.A!}WrHV{.kT-LI"> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3=$~b4YG-E;3H,6Pu)Zw"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="-/)iMmSKc?]#P@*k$7:d"> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> <value name="VALUE"> <block type="logic_boolean" id="Nosrz5E%6d|~K6,|{L]S"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="DJ|.WgP~)|z7@Uj]xi[Q"> <field name="NAME">Ausschaltverzögerung</field> <field name="DELAY">6</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="]`g,p4LDl+*,m/U3%XX;"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="j;w.T%bbZKPg*9/@tY;d"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="c((9vDlt:5%K)QpE(;~q"> <field name="NAME">Nachtlauf starten</field> <field name="DELAY">8</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="je,+9aj0Xe=C~9iGnYb3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="iLkKg_|Z$081[FpcQ.cf"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="UKLe_Xyph4zqSIP!vU$P"> <field name="NAME">Nachlauf stoppen</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="~:`BRUf24K]Od[V.zVwV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.03000500c4dd571fcd07.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="VV~o*,=e`l.apItWtF}|"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
@kusi Jau....
-
Vielen Dank, ich probiere es sofort aus!
Ich sag dir sofort bescheid...
Ich bin dir so dankbar... -
@nicoloma Habe obiges Blockly noch kurz angepasst, da ich etwas kleines vergessen habe!
Dies musste noch eingefügt werden, ganz zu Beginn.
Dies bewirkt, wenn das Blockly (oder ioBroker, Javascript-Adapter) neu gestartet wird, die Variable automatisch den Wert "false" bekommt. Sollte dabei die Brennertemperatur noch über 30°C sein, dann wird obiger Wert sofort mit "true" ersetzt.
-
@kusi Tut mir leid, scheint nicht zu funktionieren.
Die gelbe Linie ist die Pumpe
-
@nicoloma
Füge mal ein Debug ein und zeige mir den Wert:
Dies kannst du so leer auf den Block ziehen und speichern, dann solltest du sofort die Debug-Ausgabe sehen.
-
@nicoloma sagte in Heizungsteuerung Pumpe:
scheint nicht zu funktionieren
Folgende 3 Debugs einfügen...
Debug 1 sollte sofort reagieren, sobald die Temperatur 30°C oder mehr ist.
Debug 2 sollte reagieren, sobald die Temperatur unter 30°C fällt.
Debug 3 sollte reagieren, sobald die Pumpe zum ersten Mal gestoppt wird. -
-
@kusi ok
-
@nicoloma sagte in Heizungsteuerung Pumpe:
Block einfach neben drann
genau, das erste Bild. Debug ist 22, dies wäre also schon mal gegeben.
Es würde aber keine Rolle spielen ob irgendwo nebenan oder zuoberst am bestehenden Block, wichtig ist dass er NICHT im Trigger-Block ist, damit die Meldung sofort kommt wenn das Skript gestartet wird, damit wir den Wert gesehen haben