NEWS
Steuerung Heizunterlage für kleines Gewächshäuschen
-
Ich habe ein Problem mit der Steuerung einer Heizunterlage für ein kleines Gewächshäuschen auf einem Fensterbrett.
Ich möchte abhängig von der Temperatur einen Shelly Plug schalten. Wenn die Temperatur über der vorgegebenen Temperatur liegt, soll der Shelly die Heizmatte ausschalten, wenn sie drunter ist, dann eben wieder einschalten.
Ichhabe mir dazu ein kleines Blockly gebastelt, aber das funktioniert so leider nicht und ich finde den Fehler einfach nicht.
Könnte mir da evtl. jemand einen Hinweis geben, an was es liegen könnte?
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="3HEWboU8m3$UP;]X_zGn" x="288" y="-137"> <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="K6H9?*`@i3ql$=V)!G%H"> <field name="oid">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="4ZyQCW+pi!,]/+,9MvtX"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="*9mX9-t:#wn%lTrI8et5"> <field name="OP">GT</field> <value name="A"> <block type="get_object" id="cVBT#n-7JC[KFnaYR/w1"> <field name="OID">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="Q8,nI_P)cqZ4N7{}(3X7"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="nSk4T}C5o)/=AWeiB8W%"> <field name="NUM">1</field> </shadow> <block type="get_value" id="mH~HTbQw+q=Wu8j/mlc9"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Dateneingabe.Temperatur_Gewächshaus</field> </block> </value> <value name="B"> <shadow type="math_number" id="x/`(3y}S__PN:su1Fv{K"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="XzQF1Q|7zT:ToT001Gx@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG2-1#483FDA283761#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="otT)oOEr[D,ek,+*jQ5Q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="#9qE|7c9T`Af,5xYD4=!"> <field name="OP">LT</field> <value name="A"> <block type="get_object" id="oZ%+v/80/g{f8:mD;!xQ"> <field name="OID">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="lFdh$hSn6RW1?nZ_*7oF"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="i..X9|]Ii,%+(Eel(NI|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="x[al78sRb_c^2bZ,i]9a"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Dateneingabe.Temperatur_Gewächshaus</field> </block> </value> <value name="B"> <shadow type="math_number" id="r|E8K}NTb7fZwOj!G:sK"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="gTvsF6j(ZkC|(#y(V(d7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG2-1#483FDA283761#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="zXD/N]%Ac6.PzNIr,}Sf"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
-
@erich-1 sagte in Steuerung Heizunterlage für kleines Gewächshäuschen:
Könnte mir da evtl. jemand einen Hinweis geben, an was es liegen könnte?
so klappt das bei mir, vielleicht hilft es Dir ja weiter.
-
[Vorlage] Ventilsteuerung PWM-Ansatz für FBH/IR-Panele o.ä.
https://forum.iobroker.net/topic/9555/vorlage-ventilsteuerung-pwm-ansatz-für-fbh-ir-panele-oä -
@hagst Funktioniert super. Danke!
-
@adnim Das werde ich auch mal ausprobieren, um noch mehr zu lernen ... Danke!
-
@erich-1 das kannst ja direkt in der shelly app machen.
Meine ganze Heizung läuft über shelly ht und shelly 1pm. (Infrarotheizung)
Funktioniert aber auch mit in Verbindung mit einem d1mini und shelly mit Smart Control Adapter.
So wird bei mir die Badezimmer Lüftung gesteuert. -
@da_woody Ich nutze zur Temperaturmessung auch einen D1 mini und das Heizkissen steckt in einem Shelly Plug. Die Steuerung mache ich aber trotzdem über den ioBroker und über das Tablet mit der VIS habe ich die entsprechenden Anzeigen ...
-
@erich-1
Um gegenseitige Störungen zu vermeiden, sollte nur dann gesendet werden, wenn auch geschaltet werden soll. Das macht man z.B. so: -
@erich-1 sagte in Steuerung Heizunterlage für kleines Gewächshäuschen:
Die Steuerung mache ich aber trotzdem über den ioBroker und über das Tablet mit der VIS habe ich die entsprechenden Anzeigen ...
meinte ich ja bei der badezimmer lüftung. da gehts halt nicht über die temp, sondern die feuchtigkeit. (dht22)
ich sehs ja auch in iQontrol.
-
@paul53 Ich habe keine Ahnung, was du hier meinst. Kannst du mir das als absoluter Anfänger mal etwa erklären?
-
@erich-1 sagte: was du hier meinst. Kannst du mir das als absoluter Anfänger mal etwa erklären?
Bei jeder Ausführung von "steuere" wird gesendet. Wenn also "ein" gesendet wird obwohl der Aktor schon eingeschaltet ist, ist das unnötig und kann zur Störung der Kommunikation anderer Teilnehmer führen.
-
@paul53 Ah ok, Danke für die Nachhilfe.
-
@paul53 Ich hab mir mein Blockly nochmal angschaut. Der Befehl zum Einschalten wird ja erst gesendet, wenn die Temperatur unterhalb dem Sollwert ist und da ist der Shelly ja sicher vorher ausgeschaltet worden. Beim Ausschalten ist es identisch, denn da ist der Shelly vorher eingeschaltet.
Jetztr verstehe ich deinen Hinweis doch nicht.
-
@erich-1 sagte: Jetztr verstehe ich deinen Hinweis doch nicht.
In deinem Skript wird bei allen Temperaturwerten außerhalb der Hysterese gesendet - nicht nur dann, wenn der jeweilige Grenzwert erstmalig unter- bzw. überschritten wird.
-
@paul53 Das ist im Moment mein Script ...
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="3HEWboU8m3$UP;]X_zGn" x="163" y="-287"> <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="K6H9?*`@i3ql$=V)!G%H"> <field name="oid">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="4ZyQCW+pi!,]/+,9MvtX"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="#9qE|7c9T`Af,5xYD4=!"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="x[al78sRb_c^2bZ,i]9a"> <field name="ATTR">val</field> <field name="OID">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="Si?#8v9wLqjLIGDeU!Uz"> <field name="NUM">24</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="u}/{v~cIR#H4(sjO3]AD"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="yM_aljg)3q7?h$K~#^ar"> <field name="oid">shelly.0.SHPLG2-1#483FDA283761#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="l)[4v8bhSTv*o2pEG4r-"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="v8O;R7EMs[pO@:k#6fQd"> <field name="NUM">0</field> </shadow> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="j7r-qQnpKk_${_{r?Ezv"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="F#)(RfA3hE{Uf/7aHso3"> <field name="ATTR">val</field> <field name="OID">mqtt.0.ESP_Easy-01.Temperatur1.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="P]+YwSO:bfBkQ0[*.It%"> <field name="NUM">24</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control_ex" id="L=}btf{QszvS?z)-4Jtt"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="v2=K`/Z_8~);V|gZtANI"> <field name="oid">shelly.0.SHPLG2-1#483FDA283761#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="v9JT+.q],ZBOD40HWykp"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="c,E|3:)l%aJ1!(vFHpEd"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </statement> </block> </xml>
-
@erich-1 sagte: Das ist im Moment mein Script
-
@paul53 said in Steuerung Heizunterlage für kleines Gewächshäuschen:
<variables>
Super, das baue ich mir gleich mal ein ... (hoffentlich verstehe ich das alles)
-
@paul53 Klappt alles wunderbar. Und ich verstehe das sogar einigermaßen