NEWS
Heizungsteuerung Pumpe
-
@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
-
@kusi
Ok erledigt, wir warten mal -
@kusi sagte: Dies musste noch eingefügt werden, ganz zu Beginn.
Besser, man setzt die Variable auf den Wert der Pumpe.
-
@paul53 sagte in Heizungsteuerung Pumpe:
Besser, man setzt die Variable auf den Wert der Pumpe.
Stimmt, daran habe ich nicht gedacht.
Hatte sowieso langsam vor nach dir zu rufen. Schön dass du da bist, vielen Dank. -
<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="debug" id="9c#~K3H94g[uxG5{J6wO" x="213" y="-437"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="),RS)}tV;dQrYxCt]+g?"> <field name="TEXT">Brennertemperatur über 30°C, Pumpe eingeschaltet </field> </shadow> <block type="get_value" id="Sj:xH9Zb#%7%Rw_BmF|M"> <field name="ATTR">val</field> <field name="OID">mqtt.0.TEMPHEIZ.Brenner.Brenner</field> </block> </value> </block> <block type="variables_set" id="kTAgE)kg)Z(`|_`xoQa6" x="-262" y="-387"> <field name="VAR" id=",%qw_kzk75Ldl}%UHJ9V">Pumpe eingeschaltet</field> <value name="VALUE"> <block type="logic_boolean" id=":-]Ie*jT4O}1-[BM0-lS"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on" id="-_}V6XBjmyVJIcy*Lu3;"> <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="#Ds?4McICW;:G~M|=Fc["> <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="/;;Ify12tzpgjz/{o4j}"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="U)/v.]L38mg90_#3K.|-"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="U!Am,v`c+oTR,Z?$;T$b"> <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="Prq4xfKP@+a;J$zZSG6w"> <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="C,5k7R#Mqbi|pzf*KEb5"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="@lu{#3qRX5bj89]VG^9e"> <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> <next> <block type="debug" id="(mhOwxH:/bno4?-ue@7w"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="M7)y1DDqBCuT?BM0}[W;"> <field name="TEXT">Brennertemperatur über 30°C, Pumpe eingeschaltet </field> </shadow> </value> </block> </next> </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="debug" id="/g8{I`N{w.]e8s3sU`(X"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="]ISsuCeKYW||b.3PeGT~"> <field name="TEXT">Brennertemperatur unter 30°C, Start Nachlaufpumpe </field> </shadow> </value> <next> <block type="timeouts_settimeout" id="+77-=4}w;2*QM9Zsa=xl"> <field name="NAME">Ausschaltverzögerung</field> <field name="DELAY">6</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="[7ImuyN;#cl~.b7cfAy="> <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=":pWUo6$ntfgf!f6^b$|{"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="FS-hqnB`LEM-`fp7jK@)"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="8O#7XA~eR/whkWH4XakH"> <field name="TEXT">Stop Nachlauf Pumpe</field> </shadow> </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> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
@nicoloma
Besser auf "wurde geändert" triggern. -
@paul53 ok das habe ich geändert. Aber wie mach ich das mit dem "Wert der Pumpe als variable setzten"
Danke vorab schon mal auch an dich
-
@nicoloma sagte in Heizungsteuerung Pumpe:
"Wert der Pumpe als variable setzten"
Damit nimmt die Variable bei einem Skript-Neustart den Zustand der Pumpe an. So läuft das Skript richtig, falls die Pumpe beim Skript-Neustart bereits laufen sollte.