NEWS
Simple Heizungssteuerung : Bereits Beispiele vorhanden ?
-
Hallo alle zusammen,
vielleicht könnt ihr mir hier weiterhelfen, ich suche folgendes und vielleicht gibt es bereits sowas.
Ich möchte gerne eine FBH Einzelregelung selbst bauen ohne dabei groß etwas zu Bohren etc.
Ich nutze hierfür natürlich IObroker in Verbindung mit ZigBee Temperatursensoren.
An meinem Raspberry habe ich eine 8 Kanal Relaiskarte verbaut um die Ventile anzusteuern.Letztendlich benötige ich jetzt nur noch ein Skript, bei dem ich die Temperatur einlese und dann einen Soll.- Istwertvergleich durchführe. sobald unter Sollwert ist, wird der Ausgang geschaltet und das soll solange bleiben bis ich z.B. 1,5 Grad über Sollwert bin.
Gibt es bereits schon so etwas?
Bin noch neu im Blockly-Bereich....daher weiß ich nicht so recht wo ich suchen kann.Grüße
Z -
@zimbl sagte: Gibt es bereits schon so etwas?
Suche nach 2-Punkt-Regler.
-
super vielen Dank.
-
@zimbl schau mal hier:
-
ist das noch für Einsteiger ?!??!!
-
@zimbl Ja, du musst ja nur 4 Wörter einschreiben, der Rest legt sich an. Dann mit Blockly die Geräte auf die Werte binden. Fertig. Die Geräte-Verbindungen sind meist mit dem Block "Binde Objekt" für Fenster und Thermostate zu machen. Du musst nur mit den Richtungen der Bindungen aufpassen... also Isttemperatur -> an gemessene Raumtemperatur, Sollwert -> einzustellende Thermostateinstellung, Fenstersensor -> an Fenster usw. Alles andere macht das Script selbstständig. Probier es einfach mal aus, dann steigst auch mit eigenen Ideen dahinter.
Hier das Script für die Relaiskarte: Einschalten bei Soll-Temperatur -1°
Ausschalten bei Solltemperatur +1°.FBH sind aber in der Regel sehr träge, das kann schon sein das du die Spanne von 2° als zu kalt oder zu warm empfindest. Eine Spanne sollte aber sein, sonst schalten die Relais schneller als die Ventile auf oder zu gehen, die brauchen etwa 5 Minuten bis eine Veränderung eintritt. Versuch dich mal.
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="direct" id="122Luh|cac@GOd#aNfK3" x="138" y="38"> <field name="ONLY_CHANGES">TRUE</field> <value name="OID_SRC"> <shadow type="field_oid" id="t84gg.ksdb(zm;esd6dq"> <field name="oid">Object ID 1</field> </shadow> <block type="text" id="t#CwO6d[~+.YJuEI0gp+"> <field name="TEXT">Soll-Temp (aus dem Script)</field> </block> </value> <value name="OID_DST"> <shadow type="field_oid" id="W(;zcydv6u@CbDKe7QP:"> <field name="oid">Object ID 2</field> </shadow> <block type="text" id="wWg{#pE]505vGx,N-C#6"> <field name="TEXT">Sollwert des Thermostat</field> </block> </value> </block> <block type="on_ext" id="Tab1X!)Sz(n5A{wud?+J" x="13" y="113"> <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="IbPII#T-7+QgNz9=;bQT"> <field name="oid">default</field> </shadow> <block type="text" id="hS;8]+OD)K*1784S2d!4"> <field name="TEXT">gemessene Raumtemperatur</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="?O110@seG6%YHx,0@_`-"> <value name="IF0"> <block type="logic_compare" id="y0e5E4Gg#+s:bEL/eVKD" inline="false"> <field name="OP">GTE</field> <value name="A"> <block type="get_value_var" id="ennRG{l!qPm:jt#es.aw"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="B}TK;?,M6Cmi48C3qv!g"> <field name="TEXT"></field> </shadow> <block type="text" id="y3p7Mx5r$HP!R)m`D;[J"> <field name="TEXT">gemessene Raumtemperatur</field> </block> </value> </block> </value> <value name="B"> <block type="math_arithmetic" id="{VEdDB7t$(F.^r[7HSJf"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="A}ny(21Mao@JhlvC6pn@"> <field name="NUM">1</field> </shadow> <block type="get_value_var" id="ga~USMwuPP;K^KwGi4lR"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="text" id="!mm6Q1GR_qBBu)iCtPs;"> <field name="TEXT">Soll-Wert aus dem Script</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Tn:WS.Gq#!1=N~6AW54Q"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="_i4mYmx~hn_QGvL}J~0E" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="3kbq:Jn$?UibK0VYnsYQ"> <field name="oid">Object ID</field> </shadow> <block type="text" id="a}_^QJODZ0qS1egw#0~H"> <field name="TEXT">Ausgang1 von Relaiskarte</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="0ds!#Fd?$[uI{6j3sYFe"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="3PEM6%M!8hB[wo?^u._%"> <field name="NUM">1000</field> </shadow> </value> </block> </statement> <next> <block type="controls_if" id="Js4C:T,=*mB|.6g@UKpg"> <value name="IF0"> <block type="logic_compare" id="=Yb8B)JZAN+|;Tk7(KD[" inline="false"> <field name="OP">LTE</field> <value name="A"> <block type="get_value_var" id="t/3*jqK~1]evE^6bhWDJ"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="text" id="i?5}jEoee!^wO}7U`lzj"> <field name="TEXT">gemessene Raumtemperatur</field> </block> </value> </block> </value> <value name="B"> <block type="math_arithmetic" id="oLn~KfD=S_juOD?,z:,7"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="WrpTbRf!GGhK!wEmVO5h"> <field name="NUM">1</field> </shadow> <block type="get_value_var" id="8qTw,2H_!vAN,T3FGmDZ"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="text" id="]FJIkYj;D4oLQ;?yH/sV"> <field name="TEXT">Soll-Wert aus dem Script</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="vl0rG-Xl^kXv@5YO^d,M"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="A9w]dc).}np7!kHk_!il" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="text" id="3Y81X;b|fJ(_+eSW_p}!"> <field name="TEXT">Ausgang1 von Relaiskarte</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="/k!p~uX+zCkDOm.`6t^1"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id=".BJD:luAR6Tju2GJMdZk"> <field name="NUM">1000</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>
Teste es mal und baue die Geräte dazu an die richtigen Stellen.