NEWS
*gelöst*Heizung bei Kamin aus-Zeit/Temp wieder einschalten
-
Okay, jetzt habe ich "virtueller Schalter" verstanden... Es ist kein Elektrokamin, sondern ein echter Kamin, Und mit dem virtuellen Schalter willst du nur mitteilen, das da Holz drin brennt.., und deshalb die Heizungen nicht parallel laufen müssen, oder?
Was soll "Clear Zone Overlay" bewirken?
Ich mache morgen mal einen Vorschlag... ist jetzt für mich schon zu spät...
-
stimmt = Echter Kamin und genau das mache ich mit dem Schalter
Clear zone overlay verwendet Tado um zum Zeitplan zurück zu kehren. Ich kann zwar on/off an den DP Power übergeben, das wertet Tado (und der Adapter) aber immer als overlay weil damit ein immer benötigter Zeitplan ausgeschaltet wird, der eigentlich permanent den Raum steuern soll.
Mit Clear Zone overlay wird der Raum (und alle Thermostate darin) wieder auf den Zeitplan für den Raum zurück gesetzt in dem dann Zeitpläne, Nachtabsenkung, Away-Mode etc. berücksichtigt werden.
-
-
@cinimod Vielen Dank!
die Verschachtelung hätte ich nicht hinbekommen. Hab es grad nachgebaut und werde morgen berichten.Den oberen Block der durch meinen DP/Schalter getriggert wird lasse ich aber so, oder? Dort habe ich dann nur ebenfalls die Funktion verwendet.
Macht es Sinn den Kaminschalter ebenfalls im ersten UND block auf true zu setzen?
Ich frage weil ich noch nicht ganz verstehe wie ich meinen manuellen Schalter in das Konstrukt bekomme, so dass dieser an ist wenn der Kamin den Raum über 22C erwärmt hat und ausgeht wenn die Temperatur unter 22C gefallen ist. Ich aber dennoch über den Schalter die Aktion Switch aus = Heizung Ein oder Switch ein= Heizung Aus unabhängig und vorrangig zur Temperatur schalten kann
-
Das du den Manuellen Schalter auch brauchst war mir nicht klar.
Du willst mit dem Schalter den manuell regeln ob die Heizung trotzdem laufen soll? Oder soll der Schalter das Skript ausser kraft setzen?
Denn wenn du das erstere regeln willst, wird ja sobald die Temperatur sich ändert wieder getriggert, dann ist dein Effekt nur so lang bis der Temperatursensor nen neuen Wert raus haut.
Oder man macht eine zeitlich begrenzte sperre wenn du die Heizung manuell einschaltest bevor das Skript wieder über die Temperatur regeln darf.Hast du einen Physischen Schalter mit dem du manuell schalten willst, und nur am Rechner den Datenpunkt umstellen ?
-
Tut mir leid, hatte ich weiter oben schon mal erwähnt und nicht gesehen das es ein wenig versteckt ist.
Es ist nur ein Datenpunkt ohne physischen Schalter den ich mit dem Handy via vis/yahka schalte.
Der Hintergrund ist, das es grade im Übergang Situationen gibt bzw. gab wo ich die Heizung länger auslassen mag (weil wir abends den Kamin wieder anmachen wollen und der Morgens brannte) oder umgekehrt anschalten mag weil der Ofen fast aus ist aber es bis 2 uhr noch ewig hin ist wir aber weg fahren usw.
-
Ok, dann steuere über die Temp. doch lieber den Datenpunkt an, und lass den dann die Funktion anstoßen. Sonst ändert der sich ja im im VIS/Yahka nicht.
Du kannst die Nachtruhe natürlich auch zu einer bestimmten zeit wieder aufheben, nach dem selben Prinzip wie ich es auch aktiviere.
Optional natürlich auch über die Zeit und zusätzlich bei Überschreitung einer bestimmten Temp.
-
@cinimod ich danke dir!
nachgebaut habe ich es, probiere es nachher aus, hab nur grad keine Zeit.
Kannst du mir nur noch kurz die Logik im letzten Abschnitt erklären? Das über und unterschreiten mit dem vorherigen Wert wenn die variable wahr ist die vorher auf falsch gesetzt ist, ist klar, aber wofür die 25°C wenn die variable falsch ist? Ich komm grad ned drauf -
Der Gedanke dahinter war das wenn du den Kamin an machst, und die Temp. über 25° geht das die Sperrzeit dann aufgehoben wird, und die Automatische Temp. Regelung wieder aktiv ist.
Wenn ich es mir recht überlege, ist die ganze sperrvariable eigentlich überflüssig durch die abfrage nach dem vorherigem Wert.
Das sollte eigentlich schon ausreichen, dann sind wir schon fast bei deinem Startskript:
Als Zeitplan nimm besser Cron, der Wizard macht schon mal Probleme.
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="M13p/jfT[Mc~IfPOKb/U" x="-1738" y="313"> <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="y7fo(*rdOA=npmp(p=R,"> <field name="oid">0_userdata.0.Wärmepumpe_Heizung.Kamin</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="SMJzV*}B|p-PLKjZA!Kh"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="Ap_D@4O5@A/%ki2?BRSh"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="control" id="0=|#5@i:;w3Pxj(B4UtR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.214860.Rooms.1.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Zn*f!!)y,lxg%xjZ/inv"> <field name="TEXT">OFF</field> </block> </value> <next> <block type="control" id="/MFir$Z5Xo]{T7ZBW;%z"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.214860.Rooms.7.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="iuR:-.-_7U*m^:/zTmi9"> <field name="TEXT">OFF</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id="c]NH;kYv%.jvA[@s/mYU"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.214860.Rooms.1.overlayClearZone</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="b+?b8pNLhzoUmQc:gQ-N"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="A^B@0p=`!J[va|fGMXuZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.214860.Rooms.7.overlayClearZone</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="zz*QjE_;xLG+=pS|wRv;"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> <block type="on_ext" id="q7v6*wT+{j}g%w0Y};{k" x="-1737" y="662"> <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="1y/I8qum})g/u^-sV14G"> <field name="oid">tado.0.214860.Rooms.1.sensorDataPoints.insideTemperature.celsius</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="U3R/m.QMU$QAm5q)Xx{:"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="8s5O/+lC%GgS`qW1y2n*" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="r4[2)()/?B@pfe={/ufp"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="z$ZVY_NB8XdiW:es]O0|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=")mcbpr!sVO7h,~~bdVS["> <field name="NUM">22</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="LJg1rW-bpeOJ@A:UmhL4"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="_`D=^5Xw7?oHHOis8!1Q"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="math_number" id="P7kw],Gyk5}9it/9Hz!4"> <field name="NUM">22</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="~CgG=;(^q#EeLVyH$G9x"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wärmepumpe_Heizung.Kamin</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ABThO^lV{qzF`t81QIVe"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="wcSqZ)y6*w#~Jw)xKVO~" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="vWpHYM0yV20wI@GdAc01"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id=":Jy7Ira=tHYHiyOLP%G;"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="Aj%}K`VGY{/KXETq8l%u"> <field name="NUM">22</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="`rdl2RA-$IhqN(1(w74h"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="cu!y(!}l]r~7ciFiWM0G"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="math_number" id="=rRy/5D2,ajqP}+P3+8O"> <field name="NUM">22</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id=".2.]cTl{=}i+KmtiC.Q?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wärmepumpe_Heizung.Kamin</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w9c@mxFDan:XKYs@e,XT"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="schedule" id="VH3nw5)J#_bIhzJv+xnG"> <field name="SCHEDULE">0 2 * * *</field> <statement name="STATEMENT"> <block type="control" id="rz68/)Zyl/fA}S_%.Qis"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wärmepumpe_Heizung.Kamin</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]?mIF9*9IlI*JIhVdkn5"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </xml>
-
@cinimod
Du hast recht, ohne geht es prima. hab grade die Temperaturen im Datenpunkt rauf und runter gestellt und jetzt läuft es wie gewollt. Vielen Dank! -
-
@armilar Trotzdem vielen Dank