NEWS
PV Überschuss -> Klimaanlage
-
Hallo zusammen,
ich habe mir folgendes Blockly gebaut. Die Idee ist meinen PV Überschuss primär in Wärme über die Übergangs bzw. Winterzeit meiner Daikin Klimaanlage umzuwandeln. Das funktioniert auch super bisher.
Jetzt komme ich leider nicht weiter, ich würde gerne einfach einen Schalter in meiner Vis erstellen um das Blocky generell auf true/aktiv und false/inaktiv zu setzen.
Wenn man zb. kocht oder den Geschirrspüler laufen lässt, könnte man vorher die "Automation" stoppen.
Ich weis wie ich den Schalter in IoBroker anlege und in meiner Vis darstelle leider nicht wie ich das in das Blockly einbauen soll.Kurze Erläuterung vom Script:
Prüfe Netzbezug / Netzeinspeisung, wenn Netzeinspeisung von 1200 Watt Schalte Klima 1 an, bei weiteren 700 Watt Netzeinspeisung schalte Klima 2 an. Wolkentimer von 3min damit die Geräte nicht immer an/aus geschaltet werden(klappt bisher ganz gut).
Sowie eine Temperaturüberwachung, wenn Temperatur über 28 Grad schalte Klima nicht ein. Die Klimaanlagen werden auch bei zu wenig PV Leistung auch umgekehrt wieder ausgeschaltet.Desweiteren kommt bald ein 5kWh Speicher den ich auch gerne mit einbauen möchte vielleicht hat jemand ein paar Ideen oder Anregungen wie man das umsetzen könnte.
Danke vorab und ein schönes Wochenende!
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="#3v}HDbdMRBS$0v{!o)h">TempOK</variable> <variable id="u$n!XZBM)j[J?f~JT%z5">WolkenVerzoegerung</variable> <variable id="N2Dk85CQN2uL0w3qt8A_">Verbraucher_1</variable> <variable id="f6*O*xo-Qtq,VGU7f|-6">Verbraucher_2</variable> <variable id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</variable> <variable id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</variable> <variable type="timeout" id="WolkenTimeout">WolkenTimeout</variable> </variables> <block type="variables_set" id="Hz@XF.}:2NgO*2SD%57^" x="-513" y="-1263"> <field name="VAR" id="#3v}HDbdMRBS$0v{!o)h">TempOK</field> <value name="VALUE"> <block type="logic_boolean" id="=oF$|VBZhwvbE$.Q/B:!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="Jv~]JN{Wz4|M@iwOuN^v"> <field name="VAR" id="u$n!XZBM)j[J?f~JT%z5">WolkenVerzoegerung</field> <value name="VALUE"> <block type="logic_boolean" id="*(b(K4%^0I8ec!O/.5yL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="/~]JAFM2.C#D1UQK^uLh"> <field name="COMMENT">Temperaturueberwachung_AllesAus</field> <next> <block type="on_ext" id="0hd:RwW%?]GOfK[.ej.,"> <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="_rauvj`=RS7Q3TH[KoIW"> <field name="oid">default</field> </shadow> <block type="field_oid" id="KU;Lrer6#%c3q;s{nRt."> <field name="oid">daikin-cloud.0.5a41064e-4699-4d66-bf94-69e27a0ae7af.climateControl.temperatureControl.operationModes.heating.setpoints.roomTemperature</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="2zJQO1vNS-#ra6jw[Sn/"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="3W~_)EX/A=D^iaW$FztK"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="aoUvyj{C5/*^ME?@rcuK"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="(^JL4tkbJ4~V_hDmrN$8"> <field name="NUM">28</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="CQQ1MS/*)yoCs`nsRrBS"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> <value name="VALUE"> <block type="logic_boolean" id="L!g`I:u%GK5E?Vt/%S{Q"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="w|QRnRf0{Abbpeyg~53K"> <mutation name="Verbraucher_2_F"></mutation> <next> <block type="variables_set" id="oc1]Z,MFB@_);9w7Bqlc"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> <value name="VALUE"> <block type="logic_boolean" id="yXrVxx_ErG-Z{Si*(*5z"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="@FAiEs@(61oLU,.4AK{^"> <field name="VAR" id="#3v}HDbdMRBS$0v{!o)h">TempOK</field> <value name="VALUE"> <block type="logic_boolean" id="PTcMpEIcv|rP[t*g*coD"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="L1nQX2#@l)F*e}rW/B!n"> <field name="VAR" id="#3v}HDbdMRBS$0v{!o)h">TempOK</field> <value name="VALUE"> <block type="logic_boolean" id="5hW`%0k%}ezLa[5ki%8["> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="comment" id="!$7v[$OV+$1bj2,8AG^I" x="88" y="-1262"> <field name="COMMENT">Verbraucher nach Priorität definieren</field> <next> <block type="variables_set" id="X,Kte;fb[i[!TOm:{KMP"> <field name="VAR" id="N2Dk85CQN2uL0w3qt8A_">Verbraucher_1</field> <value name="VALUE"> <block type="math_number" id="4]$iqGm92WQ(}+WKtd@b"> <field name="NUM">1000</field> </block> </value> <next> <block type="variables_set" id="D}?AQ/fSwSt3Yn@5aWda"> <field name="VAR" id="f6*O*xo-Qtq,VGU7f|-6">Verbraucher_2</field> <value name="VALUE"> <block type="math_number" id=";x*A;(3wi@hJO^nx#Rdx"> <field name="NUM">500</field> </block> </value> <next> <block type="variables_set" id="q9RCpGf%NCHwe3CT?.Bg"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> <value name="VALUE"> <block type="logic_boolean" id="S%3.V:zT{[3GZ]B9GhTu"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="+e=+FZA$6D/hg3sg}-6~"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> <value name="VALUE"> <block type="logic_boolean" id="IwMX1dzDOB#m*QTi$gMq"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="N$t)M,:~htBoAo.G_^)p"> <mutation name="Verbraucher_1_F"></mutation> <next> <block type="procedures_callnoreturn" id="U,y:5!^da~,*5BF~il0v"> <mutation name="Verbraucher_2_F"></mutation> <next> <block type="on_ext" id="W*oi[r42Fur~gO:zbm4g"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="85SpWm|JTqSGg:^e/*rU"> <field name="oid">default</field> </shadow> <block type="field_oid" id="QJ=%Ay8%ZQ4%B9.thx%A"> <field name="oid">0_userdata.0.Stromverbrauch.Einspeisung_W</field> </block> </value> <value name="OID1"> <shadow type="field_oid" id="p,ke`l}Dw-?*+.^!V%/G"> <field name="oid">default</field> </shadow> <block type="field_oid" id="#a`3[p,W%r/bDBKGnYO)"> <field name="oid">0_userdata.0.Stromverbrauch.Netzbezug_W</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="^7l^4UD1B#B1Ze$~9,5R"> <value name="IF0"> <block type="logic_compare" id="R[55*32U9|fV73jr|d5w"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="wD#_u4grFGiK*IuaQTh|"> <field name="VAR" id="u$n!XZBM)j[J?f~JT%z5">WolkenVerzoegerung</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Rmo~p[C`sY{T:v`@.hR_"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="pe}-WiBkwCh)557LFEEA"> <field name="VAR" id="u$n!XZBM)j[J?f~JT%z5">WolkenVerzoegerung</field> <value name="VALUE"> <block type="logic_boolean" id="|.0)VM`BPJ#(SM$L%Q|P"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="15Tt]:5FLZ+hls0uWS7C"> <field name="NAME">WolkenTimeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="%IH/_dNX*NNu4-D5DKEq"> <field name="VAR" id="u$n!XZBM)j[J?f~JT%z5">WolkenVerzoegerung</field> <value name="VALUE"> <block type="logic_boolean" id="jzJKMdVAcr-KH,=lqAVW"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="OEQ[V;`THSEyZA1ok[{I"> <value name="IF0"> <block type="logic_compare" id="%R*rwCt*,+;f5pX}09vO"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="vUtwM@oGXuw{0%6vVVC:"> <field name="ATTR">common.name</field> </block> </value> <value name="B"> <block type="text" id="YS+CfAp3mdUW!IlcPx=;"> <field name="TEXT">Einspeisung_W</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="t.XI=#VXj0H!fM{0bY_:"> <value name="IF0"> <block type="logic_operation" id="{-Ok}Tq^6famB8*r?8!c" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="V,+DBlwc3RcC_Z0;%Zmq" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="iD|?etR?+R+iMsPXh~ur"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="rmU-UOP9y{h.AL3mPV=A"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="@WO#FL{bE^{nzla/+4RI"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="0Nc1JZhc%qRQfKgv~i9{"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="n^_FO~a2pbFz+8ylUj~{"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="q2v6oqX:!e!vD#nmgLAk"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="+{V3I=d_,Ut#m`ib2Z2;"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="mK-g1|fy$C=9wO?aCFea"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="variables_get" id="*[Hy@(,~J)Q^XXb=XY?v"> <field name="VAR" id="N2Dk85CQN2uL0w3qt8A_">Verbraucher_1</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="hxdyiLx-+hrD|H**mt]o"> <value name="IF0"> <block type="logic_compare" id="tJCq`Gtw=ZQ/2SVe#u]%"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="RZxH4^UiBn74k~MIRO~$"> <field name="VAR" id="#3v}HDbdMRBS$0v{!o)h">TempOK</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".t}GBQqyovh@m5ZGAI`V"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="4ITjd}1LnqzvO|cncQ~,"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> <value name="VALUE"> <block type="logic_boolean" id="xW@]Ee`^fp{~wAk/$10("> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="%MkO~6AOV`U39?6NL)0E"> <mutation name="Verbraucher_1_F"></mutation> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_if" id="OR;gh_3qNzTWff^,Odz?"> <value name="IF0"> <block type="logic_operation" id="-sA^!k(a^)![bgg8QO,0" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="[:_X{(FJiRjRP5Dq[b~7"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="5l|ih7Z{?RspVMO/,T+*"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Ysq0?hi]75cZ;bA?Idq8"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=",g[iGCo{TR}`a3/UY_EV"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="9F5lP(6(HiG8a*)D/2Ly"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="variables_get" id="fTjOF-28N.5xkh.w3{}*"> <field name="VAR" id="f6*O*xo-Qtq,VGU7f|-6">Verbraucher_2</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="VS:=Vu}2;M9#/-!Bs$j+"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> <value name="VALUE"> <block type="logic_boolean" id="bv=z4F*]g3`I_!*W03Q^"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="[My_UEfTr:;qA,G[?0q*"> <mutation name="Verbraucher_2_F"></mutation> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="controls_if" id="uC1XTN|}ER:(B(XDJQ-k"> <value name="IF0"> <block type="logic_compare" id="V@I;MW5*~=~~z-MtboMD"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="9nQ]K;pDOtTY$~4LU%*O"> <field name="ATTR">common.name</field> </block> </value> <value name="B"> <block type="text" id="3GE06,@El}_1{n,dJ-qd"> <field name="TEXT">Netzbezug_W</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="6=1*.Afj/9S!Iab2LFQR"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="vnLhnn:#XfvGmd@]}e,E" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="DhztCHC}xjSoVz%kp4dG"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="scM/kU*7TP*]C[i_npzN"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="]gmRpKHu4,Hxs{Zdu`r?"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="2LKHdpjKy1EyHR?.FVt$"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="-^oF!vgjO6mRpWqK:C^U"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="variables_get" id="ZLF^jCN,qjggU-iWK.U-"> <field name="VAR" id="f6*O*xo-Qtq,VGU7f|-6">Verbraucher_2</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="^ODI8wS9$6CvIasDCP?l"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> <value name="VALUE"> <block type="logic_boolean" id="^R.MVS:SK_{)j=.-8^|7"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="jv_b)(Jd`bm`*#%YQ/[u"> <mutation name="Verbraucher_2_F"></mutation> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="OoH]dSnZuO^}B?a}EP8z" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="$68a%w#)rPE:4TDpRWis"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="/;g5aqBuPe84GnfC2UbU"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")hP]*877jPwu9N8.[(79"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=".V;dQCQ)J3E+aXm0(^vh"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="[g1HWrXjMhE+XBZ[C?{u"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="variables_get" id="##_kE;LZ.iFP~mVkc`DL"> <field name="VAR" id="N2Dk85CQN2uL0w3qt8A_">Verbraucher_1</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="UBdvQr/~=|oAO4JZI2YP"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> <value name="VALUE"> <block type="logic_boolean" id="q894myS0At?(+8Iub+)O"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="t*`6kK;Hg:%(cS!PAAy#"> <mutation name="Verbraucher_1_F"></mutation> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="@ekGxf-0b4ul@_*yU!q!" x="663" y="-1263"> <field name="NAME">Verbraucher_1_F</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="XsQy?M`M`FP^QIJ)GB|7"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Id[jm[wLw-/,vB51Uf]H"> <field name="TEXT">Verbraucher 1</field> </shadow> <block type="text_join" id="]4D|#f/?y/zeHDhp$LWS"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="jQw-UwTC]DksT)NNdDF."> <field name="TEXT">Verbraucher 1</field> </block> </value> <value name="ADD1"> <block type="logic_ternary" id="3$oAdrX`bqXSv1TghR.a" collapsed="true"> <value name="IF"> <block type="logic_compare" id="_^RA22h*u.[ABpnqOU-6"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="DjJzTDY_{F!8$yQ,;f~w"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ynJ[Spx.q3u?mqcU0Qxy"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="[7]As70kU{wfCZ8:,62F"> <field name="TEXT"> zugeschaltet</field> </block> </value> <value name="ELSE"> <block type="text" id="f%SouFvX9rOT[udv-)ON"> <field name="TEXT"> abgeschaltet</field> </block> </value> </block> </value> </block> </value> <next> <block type="control" id="i5St;qI=KfF6(?@W4e|G"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">daikin-cloud.0.5a41064e-4699-4d66-bf94-69e27a0ae7af.climateControl.onOffMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="W@27ApZuY8.*wCEN]X~1"> <field name="VAR" id="iwu_1;PHCBW[(6sePQ9Q">Verbraucher_1_TF</field> </block> </value> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="F^J*l7#(vxkqOv6n)nLf" x="662" y="-1087"> <field name="NAME">Verbraucher_2_F</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="If`Pz%NHny~M=l4AMJx1"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Wy,%|N)mGgJ=*J_euyE`"> <field name="TEXT">Verbraucher 1</field> </shadow> <block type="text_join" id="~^.dt!hM~I?DoQg7dyf9"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="WK4M9[-w%~LwJYG;P4y@"> <field name="TEXT">Verbraucher 2</field> </block> </value> <value name="ADD1"> <block type="logic_ternary" id="T8._+^dNayVtrY,5wyUO" collapsed="true"> <value name="IF"> <block type="logic_compare" id="z``pY2*;X=~7=DU7`0(b"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="2DY;v,+~;E`GhWN(UehP"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> </block> </value> <value name="B"> <block type="logic_boolean" id="]:B-TeVoq?l?+RB9}+!^"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="CGE4y~V]Ky}?W:_K9u+A"> <field name="TEXT"> zugeschaltet</field> </block> </value> <value name="ELSE"> <block type="text" id="RiVXqI.mm[=Y]rgpn-6T"> <field name="TEXT"> abgeschaltet</field> </block> </value> </block> </value> </block> </value> <next> <block type="control" id="Ab]ShI{UYRiAaaT!$NwT"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">daikin-cloud.0.8f429e4e-f7cd-44ea-b59d-7a42f741bad0.climateControl.onOffMode</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=":vYLNLT)_fh2R+)0#1d]"> <field name="VAR" id="Zs+nKXWb1F_(8ioCBAN2">Verbraucher_2_TF</field> </block> </value> </block> </next> </block> </statement> </block> </xml>
-
-
@marcelinho sagte: Sowie eine Temperaturüberwachung
Immer eine Hysterese vorsehen!
@marcelinho sagte in PV Überschuss -> Klimaanlage:
einen Schalter in meiner Vis erstellen um das Blocky generell auf true/aktiv und false/inaktiv zu setzen.
Vorschlag:
Switch1 = Klima 1, Switch2 = Klima 2
@marcelinho sagte in PV Überschuss -> Klimaanlage:
Wolkentimer von 3min damit die Geräte nicht immer an/aus geschaltet werden
Das ist bei dir nur eine Schaltsperre - nicht eine Mindestdauer der Grenzwertüber-/-unterschreitung.
-
Anmerkung: Ich schalte meine Klimaanlagen nach Zeitplan, zur Zeit alle 10 Minuten. Damit diese nicht ständig Ein- oder Ausgeschaltet werden sondern maximal im 10 Minuten Takt.
Alle 10 Minuten prüft er also ob die Bedingungen für ein Ein- oder Ausschalten gegeben sind, die da wären
- Ein eigener Datenpunkt Wahr/Falsch unter
0_userdata.0
der über ein Widget in der VIS gesteuert wird und für "manuelle Steuerung" steht. Ist dieser Wahr macht mein Skript gar nichts:
Diesen Datenpunkt lasse ich täglich um Mitternacht per Zeitplan wieder auf Falsch setzen, am nächsten Tag wäre also immer die automatische Steuerung wieder aktiv
- Ein zweiter Datenpunkt Wahr/Falsch der den erlaubten Zeitpunkt definiert. Diesen lasse ich um 10:55 Uhr auf Wahr schalten und um 19:00 Uhr auf Falsch
Da könnte ich auch Sonnenaufgang oder Untergang oder anderes nehmen. 10:55Uhr ist der Wert aus dem Sommer, da war der Akku meist schon voll. - Ob genügend Überschuss vorhanden ist für das Einschalten, bei mir 1500W. Also wenn mindestens 1500W von der Solaranlage in das Netz gespeist werden (auch trotz Batterieladens) darf eingeschaltet werden.
Für das Ausschalten gilt wenn der Bezug bei über 200W liegt. In der Praxis läuft die Anlage zumeist zwischen 400 bis 800W, ggf. passe ich hier noch was an. - Falls die Bedingungen ergeben das die Anlage an- oder ausgeschaltet werden soll, prüfe ich vorher noch einmal ob diese nicht schon an oder aus ist, also ob ein Schalten überhaupt nötig ist.
Alle diese Punkte berücksichtige ich und schalte dann. Gesteuert wird eine Split-Klimaanlage mit einer Außen- und 2 Inneneinheiten. Die beiden Inneneinheiten stehen immer auf den gleichen Modus (Automatik oder Heizen).
Eine sitzt im Erdgeschoss was bei uns bis auf Flur und Gäste-WC ein Raum ist und reicht für das ganze EG.
Die zweite sitzt im Schlafzimmer im OG. Im Sommer haben wir auf der Etage alle Türen offen gelassen und dann war es auch überall kalt. Jetzt im Winter haben wir die Türen zu.
Gekauft habe ich die Klimaanlage primär zum heizen, im Sommer war das "in eine Kühle Wohnung kommen" aber auch sehr schön, im Gegensatz zu anderen Jahren hat sich die Wohnung innen nie aufgeheizt.Ich habe noch eine zusätzlich Bedingung zum Schalten die da lautet "Nur wenn der Akku voll ist", die ist aber noch auskommentiert. Es ist das erste Jahr mit Solarzellen, Akku und Klimaanlage und ich sammle noch Erfahrungswerte.
Edit: Nachtrag: Natürlich berücksichtig das Skript auch ob eine Fenster oder Terrassen-/Balkontür geöffnet ist
- Ein eigener Datenpunkt Wahr/Falsch unter
-
@bananajoe Top! Wenn du nichts dagegen hast, würde ich wenn der Speicher da ist auf Dich zurück kommen für ein paar weiteren Fragen. Schönen Sonntag noch!
-
@marcelinho gerne. Ich hatte zwar überlegt das Skript hier zu posten ... ist aber etwas größer (Unter anderem wegen der Art der Ansteuerung meiner Klimaanlage), ein Copy & Paste würde mehr Fragen aufwerfen als das selbst zu entwickeln.