NEWS
Heizungsteuerung Pumpe
-
@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.
-
@nicoloma sagte: wie mach ich das mit dem "Wert der Pumpe als variable setzten"
setze Pumpe_eingeschaltet auf Wert vom Objekt ID heiz-an-aus
-
@nicoloma sagte: Wenn der Brenner sich ausschaltet soll die Pumpe sich 8 Minuten lang ausschalten, danach wieder kurz 2 Minuten lang laufen
Wozu soll das gut sein? 6 Minuten Nachlauf sollten genügen, um einen Wärmestau zu verhindern.
Oder ist die "Brenner-Temperatur" tatsächlich eine Vorlauf-Temperatur? Dann müsste die Pumpe ständig laufen. -