Hallo zusammen,
ich habe mir das Blocky-Script einmal nachgebaut und es funktioniert soweit auch recht gut würde ich sagen.
Leider habe ich jetzt das Problem, dass ich die Temperatur bei Bedarf nicht manuell höher stellen kann.
Sobald ja mein Blocky Script wieder aufgerufen wird, wir das Thermostat ja wieder angepasst und meine manuelle Eingabe überschrieben.
Wie habt Ihr das denn gelöst?
Weiterhin wundert mich, dass man laut Git die "actualtemp" anpassen kann. Das kann ich aber nicht bestätigen.
Oder mache ich etwas falsch?
Im Besitz:
Comet Dect Thermostat
Aquara Multi Sensor
Alexa
Home-App (Comet Dect über Hombridge)
Ziel:
In Abhängigkeit der Aquara Temperatur mein Thermostat steuern.
Das Thermostat aber auch noch über die Home-App und Alexa regeln können, falls man es mal wärmer möchte.
Blocky:
Code:
Spoiler
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables>
<variable type="" id="4xY^4AKB`HB5AzX4X_+M">diffTemp</variable>
<variable type="" id="WaU;-b9cL1yQ9!J=Mx.$">sollWert</variable>
</variables>
<block type="on_ext" id="iioPolPN`;jQ|t/2=^5Q" x="163" y="-241">
<mutation items="2"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="}FAi$siQ??EP+IQS}Jmq">
<field name="oid">deconz.0.Sensors.2.temperature</field>
</shadow>
</value>
<value name="OID1">
<shadow type="field_oid" id="K-Y..r8N9th@t+cUa?kT">
<field name="oid">fritzdect.0.Comet_133560181008.actualtemp</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="DI7$:fH$A$HNiVrgNmM.">
<value name="IF0">
<block type="logic_operation" id="Ks!}Z~p^OtXR84nY%b^F" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="7W)Y6lE%`IY[fd[h{g--">
<field name="OP">EQ</field>
<value name="A">
<block type="time_compare_ex" id=".V.$u{6v}t{P+@!TL:m;">
<mutation end_time="true" actual_time="true"></mutation>
<field name="USE_ACTUAL_TIME">TRUE</field>
<field name="OPTION">between</field>
<value name="START_TIME">
<shadow type="text" id="Barx)a=#vQ~njq#ESo7F">
<field name="TEXT">09:00</field>
</shadow>
</value>
<value name="END_TIME">
<shadow type="text" id=";#cuDo(sZ;9U62^#+=T{">
<field name="TEXT">22:00</field>
</shadow>
</value>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="[_l3dwc}s4wo[eWUfXg9">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id=",Wl$4-vE5n?c_o$07Sxk" inline="false">
<field name="OP">OR</field>
<value name="A">
<block type="logic_compare" id="f,FHOAw%44+Pj_$BjF4T">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="lP|vwqi.qrh*$)H4*sck">
<field name="ATTR">val</field>
<field name="OID">fb-checkpresence.0.Jonas-IPhone.presence</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="uG0R3=yF5%RWo/xRKy:M">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="ICHZ+4Qi_W%#nPb%kT5r">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id=".FPh|BVUXoHwn9aUp/7b">
<field name="ATTR">val</field>
<field name="OID">fb-checkpresence.0.Merle-IPhone.presence</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="D;8GeD)PezsHKtQOC?q:">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="YoK!g5Li1`OAz}MzuuVm">
<field name="VAR" id="4xY^4AKB`HB5AzX4X_+M" variabletype="">diffTemp</field>
<value name="VALUE">
<block type="math_arithmetic" id="@XqU_V,,|C$psKBAQ6a/" inline="false">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id=".^!-pWn%P-|=wTuFd]~M">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="3{i2Y;-p-N(z-YW[iTp=">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.actualtemp</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="Aq%$R199Qr/d~}.N_fLh">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="FTui6Te*uPS{-GErIGOU">
<field name="ATTR">val</field>
<field name="OID">deconz.0.Sensors.2.temperature</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="SBj?Krc+_9DOKkE7V{s9">
<field name="VAR" id="WaU;-b9cL1yQ9!J=Mx.$" variabletype="">sollWert</field>
<value name="VALUE">
<block type="math_arithmetic" id="(/?IQ!4Nnn`d%5PuTEk3" inline="false">
<field name="OP">ADD</field>
<value name="A">
<shadow type="math_number" id="}}xre%MZ,(l4COKy6xZ^">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="~ftK*I9,rux@3/Sk$lZz">
<field name="VAR" id="4xY^4AKB`HB5AzX4X_+M" variabletype="">diffTemp</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="XQXgrLpX.%.)qlh!0=O+">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="9b!=Cu]~_RXi]l$ks!Ah">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.comfytemp</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="$D-.u~hUv*]*0V@Urt0n">
<field name="VAR" id="WaU;-b9cL1yQ9!J=Mx.$" variabletype="">sollWert</field>
<value name="VALUE">
<block type="math_arithmetic" id="X?~:wFO5O6dw}JQhf2{!">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id=",|b87x5AQ1oj+$tnT]eP">
<field name="NUM">1</field>
</shadow>
<block type="math_round" id="8}[uw~8H,?uW89ybd|IC">
<field name="OP">ROUND</field>
<value name="NUM">
<shadow type="math_number" id="I6is,eA61/G?X9D~H[[n">
<field name="NUM">3.1</field>
</shadow>
<block type="math_arithmetic" id="KTHBJ26a3T8|~R$(?^{i">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="2?(z%pfLbztw%XaYxW,/">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="rle%p!CpO*}Xlo#+1Aay">
<field name="VAR" id="WaU;-b9cL1yQ9!J=Mx.$" variabletype="">sollWert</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="W9pV1gJG[%MnbZCy}aM!">
<field name="NUM">2</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<shadow type="math_number" id="1`0xgbSYW;8lHT8~#CAV">
<field name="NUM">2</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="controls_if" id="^cK#VzCddskFF-/wqcJW">
<value name="IF0">
<block type="logic_compare" id="*u%k/1b%0^Vz*D*sC:P}">
<field name="OP">NEQ</field>
<value name="A">
<block type="get_value" id="k,y.kyr]{89KS[J]e+48">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.actualtemp</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="/=:pg!-jH{@xNL#s~38|">
<field name="VAR" id="WaU;-b9cL1yQ9!J=Mx.$" variabletype="">sollWert</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="c`^gV-)6Okq8V-l1,{q)">
<mutation delay_input="false"></mutation>
<field name="OID">fritzdect.0.Comet_133560181008.targettemp</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="28Yahavi*(~!H4y)W`Q!">
<field name="VAR" id="WaU;-b9cL1yQ9!J=Mx.$" variabletype="">sollWert</field>
</block>
</value>
<next>
<block type="telegram" id="xWC0DFDzWJYQKvv^A^{j">
<field name="INSTANCE">.0</field>
<field name="LOG"></field>
<field name="SILENT">FALSE</field>
<field name="PARSEMODE">default</field>
<value name="MESSAGE">
<shadow type="text" id="VLb5f?6M4ia*M+Za-,nQ">
<field name="TEXT">text</field>
</shadow>
<block type="text_join" id="Qe5.LAb@APadh3sLqpLi">
<mutation items="13"></mutation>
<value name="ADD0">
<block type="text" id="4B}ec}:uq[|=M|!7aL[X">
<field name="TEXT">Temperaturen Wohnzimmer: </field>
</block>
</value>
<value name="ADD1">
<block type="text_newline" id=".W0NuvUTC1c8Lw_zOi.z">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="[Ahf3-:@Ks{f*@ur1x2a">
<field name="TEXT">Wohnbereich: </field>
</block>
</value>
<value name="ADD3">
<block type="get_value" id="Q40yf|+;h4NB|m2nV2`V">
<field name="ATTR">val</field>
<field name="OID">deconz.0.Sensors.2.temperature</field>
</block>
</value>
<value name="ADD4">
<block type="text_newline" id="$DrTT/#i6Y#i@_|(TRkV">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD5">
<block type="text" id=":oW6vAm7RCB3G(ZYZZ(c">
<field name="TEXT">Wohnzimmerthermostat: </field>
</block>
</value>
<value name="ADD6">
<block type="get_value" id="pGa%C$vzM*G@jpX6R%QD">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.actualtemp</field>
</block>
</value>
<value name="ADD7">
<block type="text_newline" id="rWh@!|z5@mYJyK*gHHfG">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD8">
<block type="text" id="36*se@+1[zO%$|?un[$D">
<field name="TEXT">Aktuell eingestellt:</field>
</block>
</value>
<value name="ADD9">
<block type="get_value" id="fm(@/u,7xSc476G@y+7#">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.targettemp</field>
</block>
</value>
<value name="ADD10">
<block type="text_newline" id="lUKn5}*)kY4,wIVPu9c7">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD11">
<block type="text" id="DD*5of@Vz[hm_6Lky`df">
<field name="TEXT">Comfort-Temp:</field>
</block>
</value>
<value name="ADD12">
<block type="get_value" id="E#p}NE!I#-|Cxqdebu`H">
<field name="ATTR">val</field>
<field name="OID">fritzdect.0.Comet_133560181008.comfytemp</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</xml>
Vielleicht habt Ihr ja noch ein paar Ideen wie ich das umsetzen kann.
Danke und Gruß