NEWS
Blockly Daikin Klimaanlage Fenstersteuerung
-
Hallo,
habe ein Skript, welches ich einst aus einem Post von hier kopiert habe für die Fenstersteuerung von Tado,
abgewandelt für die Steuerung für die Klimaanlage zum Heizen.Nun habe ich das Problem, das ich den Wert "Klimaanlage on/off" (also den Status, ob die Klima an oder aus war) bevor das Fenster geöffnet wurde nicht wirklich gespeichert bekomme.
Den gleichen Zustand der Klima hätte ich gerne auch nach dem Anschalten der Klimaanlage wieder hergestellt.
Hätte dort jemand ein eine Idee?
Besten Dank!
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> <variable id="AP~O:dccT#RPz4Zz[P9R">Powerstatus</variable> <variable id="Efy@y-rOPU4?3%#Wlr(}">Fensterstatus</variable> </variables> <block type="comment" id="=3!jd`1|Hy3cqO)+jsgy" x="-688" y="-787"> <field name="COMMENT">Datenpunkt Fensterstatus_WZ nach offenen Fenstern steuern</field> <next> <block type="on_ext" id="VM]_r0ef5,ydpGQwlkoT"> <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=":L*3]%4|/wjM*$gZ;z^."> <field name="oid">deconz.0.Sensors.14.open</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_settimeout" id="]$Z@`a%[TKE$_4,vW*JW"> <field name="NAME">timeout</field> <field name="DELAY">15</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="LWXu:v;%-cpe)b`XrWtK"> <field name="VAR" id="AP~O:dccT#RPz4Zz[P9R">Powerstatus</field> <value name="VALUE"> <block type="math_number" id="l5engatp*`l+sAcHOjRT"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="sclx6mMG#:/$v*j%I-Lv"> <field name="VAR" id="Efy@y-rOPU4?3%#Wlr(}">Fensterstatus</field> <value name="VALUE"> <block type="math_number" id="]X[7i17)S%AWe8C}#qUQ"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="es,KM^zGCPk4|ft{%]WW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O)Q$rUdb@^6$Bj6L0LSR"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=".Z@2hl~hvCkTB.%@$F~t"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.14.open</field> </block> </value> <value name="B"> <block type="logic_boolean" id=":FJ]i[?T.]F*UDn+Va8w"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="8Vr*!@!Z4{;hMzsi9JV~"> <field name="VAR" id="Efy@y-rOPU4?3%#Wlr(}">Fensterstatus</field> <value name="DELTA"> <shadow type="math_number" id="I*~Q{(QK8Z]S~.Hh3];)"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="VbTB9o+#Q[JsIeGVcwH3"> <field name="VAR" id="AP~O:dccT#RPz4Zz[P9R">Powerstatus</field> <value name="DELTA"> <shadow type="math_number" id=")P[;h`Z-0aV=1w,6]uAw"> <field name="NUM">1</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_cleartimeout" id="30bup2s2sDkOY%$~hPrN"> <field name="NAME">timeout</field> </block> </statement> <next> <block type="update" id="bQx5X}CtO6=UZU:IS{Ny"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_DP.Heizung.FensterstatusWZ</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="3T7#K+hW]_2giP8oo81r"> <field name="VAR" id="Efy@y-rOPU4?3%#Wlr(}">Fensterstatus</field> </block> </value> <next> <block type="update" id="LdtP).C00=Ts1)4zC-nY"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_DP.Klimaanlagen.Fenstersteuerung-OnOff.WZ</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="(gP!2LrC9%I;76Or-~)0"> <field name="VAR" id="AP~O:dccT#RPz4Zz[P9R">Powerstatus</field> </block> </value> <next> <block type="update" id="WAO-M!m^Xu+|2z|l,6*9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_DP.Klimaanlagen.Fenstersteuerung-Temp.WZ</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id=".!1UcmmucCfm/d?5l62$"> <field name="ATTR">val</field> <field name="OID">daikin-cloud.0.114063a9-0e2b-4a5b-b56d-8598ebabb7d7.climateControl.temperatureControl.operationModes.heating.setpoints.roomTemperature</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="s9:JqZL~z]@.QK}P%N5|"> <field name="COMMENT">Klima ein oder ausschalten, wenn Fenster offen oder zu</field> <next> <block type="on_ext" id="_|5{4AEHysftVafeW~ol"> <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="hYI,BpxN,~A019[:cO;T"> <field name="oid">javascript.0.Eigene_DP.Heizung.FensterstatusWZ</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="P9]U*,pX[SeAMt}c3)Z%"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="N^/iO*[FVDA]QDqr%iJW"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="~iLcTPAqZp[O]ES:`Hor"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_DP.Heizung.FensterstatusWZ</field> </block> </value> <value name="B"> <block type="math_number" id=".~jb;8n(+EYN8eWl[TSI"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id=":64*IGHc7*W8x,!drhFk"> <value name="IF0"> <block type="logic_compare" id="pc4ORi9g!!8=~X+.URYY"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="t3rO{.v/WsbG/[3c2A=R"> <field name="ATTR">val</field> <field name="OID">daikin-cloud.0.114063a9-0e2b-4a5b-b56d-8598ebabb7d7.climateControl.onOffMode</field> </block> </value> <value name="B"> <block type="logic_boolean" id="B{/75HA7M{#dmg(SPca("> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=")WZKLy*|PRF`Gj!$AW)M"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">daikin-cloud.0.114063a9-0e2b-4a5b-b56d-8598ebabb7d7.climateControl.onOffMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="p|;F.hcgWrZv#KIHh[|_"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="Q8U#;/{7iUx2Y[|a^54*"> <value name="IF0"> <block type="logic_compare" id=",yO/y@sI[W`-]0_9:@]a"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ti=H+`3~2tLY_EdcjN,*"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_DP.Klimaanlagen.Fenstersteuerung-OnOff.WZ</field> </block> </value> <value name="B"> <block type="math_number" id="XZQJ#ntDxK.!|PXv+k,R"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="~5P3*G}eON=X}kAN7gqI"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">daikin-cloud.0.114063a9-0e2b-4a5b-b56d-8598ebabb7d7.climateControl.onOffMode</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">180</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="X;V!@!,3EG.!JG-*wFh8"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="TSWB7!0[jl$8I3g{px?M"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">daikin-cloud.0.114063a9-0e2b-4a5b-b56d-8598ebabb7d7.climateControl.temperatureControl.operationModes.heating.setpoints.roomTemperature</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">195</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="get_value" id="X2bca}oKlqnjlr?3bU.6"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_DP.Klimaanlagen.Fenstersteuerung-Temp.WZ</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
-
Schreib einfach den aktuellen status in eine variable direkt nach dem triggern, dann kannst du den Status anschließen wieder mit dem Inhalt der variable setzen.
-
@gismoh sagte: eine Idee?
Versuche es mal so:
Ein Problem entsteht, wenn das Fenster innerhalb der 180 s Einschaltverzögerung erneut geöffnet wird. -
@paul53
Besten Dank, hast es ja auch super verschlankt
Logisch kann ich das Skript gerade zwar nicht mehr nachvollziehen,
aber du hast es ja wirklich "drauf"Werde es nun mal testen, auch was passiert, wenn man das Fenster innerhalb den 180 Sek erneut öffnet.
Vielen Dank!
-
@gismoh sagte: wenn man das Fenster innerhalb den 180 Sek erneut öffnet.
Ist die Verzögerung nötig? Alle mir bekannten Klimageräte haben eine interne Wiedereinschalt-Sperre für den Kompressor.
Außerdem: Wenn das Fenster lange genug offen stand, ist keine Verzögerung nötig. -
@paul53
Hast eigentlich Recht,
hatte es von der Tado Heizkörpersteuerung übernommen.
Dort wollte ich es so, damit sich die Raumtemperatur erst mal "setzen" kann.
Bei der Klima werde ich es wohl nicht benötigen. -
@paul53
Das sich das Skript den Zustand der Klimaanlage merkt, scheint leider nicht zu klappen.
Auch wenn die Klima aus war, schaltet diese nach dem Schließen des Fensters wieder ein.
Aber, denke habe es .... teste es gerade -