NEWS
Steuerung Heizunterlage für kleines Gewächshäuschen
-
@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. -
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> -
@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 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.

-
@erich-1
Um gegenseitige Störungen zu vermeiden, sollte nur dann gesendet werden, wenn auch geschaltet werden soll. Das macht man z.B. so:
-
@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.
-
@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.
-
@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 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.
-
@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> -
@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>
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden