NEWS
Blocky script
-
@ingenii sagte in Blocky script:
@cinimod
Du bitte kein Stress.hab noch eine bitte wen du dann zeit hast.
Hab wand Termostat Homematic, un ich will die ACTUAL_TEMPERATURE mit SET_POINT_TEMPERATURE abfragen und ein sonoff schalten.
Meine Idee ist hier aber es funktioniert nicht:zu diesem brauch ich noch ein paar infos .... was soll passieren ? die Objekte oben sind alles tür/fenster kontakte ? die sollen bei jeder aktualisierung "Temperatur_Wohnzimmer" ausschalten ?
-
wenn ich es mir recht überlege hätte mein script doch funktionieren müssen, du hast es nur nicht richtig nachgebaut ..
das ist jetzt fix und fertig mit deinen Objekten bestückt ...teste gern mal dies :
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="P*;A,KQ(tX3;?;KS_6UG" x="-137" y="-562"> <field name="COMMENT">Schalter_Wohnzimmer</field> <next> <block type="on_ext" id="Sz;+_7H0(F[ov}Ci4Cb"> <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="M+,9mrkPy(Z-}QTxV#3"> <field name="oid">sonoff.0.T3_Wohn_Ess_Licht.POWER1</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="~$tqKw0v!N/dA)!Ho[?w"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="dqm-1)9tfpy,n1k4R6Fh" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="on_source" id="[dk0f8)1NzVSrDL2E:t"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_compare" id="v^)!{Wp4W+}hJOYw_T0U"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="WXRZH1l$+6gr^0mZ8Y93"> <field name="ATTR">val</field> <field name="OID">sonoff.0.T2_Licht_Esszimmer.POWER2</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/7@jg.F8b~Z/:y?8M[9"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="toggle" id="N/=),G}Hun?n#|gnY3nk"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.T2_Licht_Esszimmer.POWER2</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <value name="IF1"> <block type="logic_operation" id="iUk{10.nE;.2D5:I.ytr" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="21KS;K_v%@}C5@ayps|Q"> <value name="BOOL"> <block type="on_source" id="3:.Duo69DRgp:fYw}5)G"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="6dO!TAA^qdbrgzJXhXg4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="aM;tl~-XR|n*x({oo#*j"> <field name="ATTR">val</field> <field name="OID">sonoff.0.T2_Licht_Esszimmer.POWER2</field> </block> </value> <value name="B"> <block type="logic_boolean" id="-K)tTaiBRH%0{6lKIiPx"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="toggle" id="kkW2~OE5Xf~2]+nM8miV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.T2_Licht_Esszimmer.POWER2</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> </block> </statement> <next> <block type="comment" id=")W(XRelQPFAKVgN}~.Wk"> <field name="COMMENT">Schalter_Esszimmer</field> <next> <block type="on_ext" id="(,jQ%[M{b3hvfYjfS``"> <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="?QKwMzNq}Hxx-]]qF0Du"> <field name="oid">sonoff.0.T2_Licht_Esszimmer.POWER2</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="[[:VFdkVsFd_Oe1YVNM$"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="xiw9/tUrHsjD^,9#k/c)" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="on_source" id="bFycJMH@bpq5[c;S|kE,"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_compare" id="unXz-MOp%8L?:F#WM.iq"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="dL@U7KuLNxkLxO]RWOyy"> <field name="ATTR">val</field> <field name="OID">sonoff.0.T3_Wohn_Ess_Licht.POWER1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="P^F~J205VrKo$N=Y9~"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="toggle" id="lE2).nG};iUc[Qphg25f"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.T3_Wohn_Ess_Licht.POWER1</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <value name="IF1"> <block type="logic_operation" id="u0r_cDJj];wyzz./j1!x" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="B]z!|)u#9me:N`|@XSLm"> <value name="BOOL"> <block type="on_source" id="QjL93SgJilwgs]-}X4"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="^*0[l^Oe3[L;MIP|MU=3"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Vn,(UJBMsIil/w)6~rMk"> <field name="ATTR">val</field> <field name="OID">sonoff.0.T3_Wohn_Ess_Licht.POWER1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="k([n(K:Pep;{t1]B|1-9"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="toggle" id="Gzm]x99(-Zw@foDqM^[?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.T3_Wohn_Ess_Licht.POWER1</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@cinimod
das obere teil sind Fenster Kontakten, das funktioniert bei anderem Script richtig.
Ich will abfragen :
mit:
wen das unten aktual temp ist sollte dieser sonoff schalten mit wahr und bei höhere false
-
@cinimod said in Blocky script:
<xml xmlns="https://developers.google.com/blockly/xml">
Super es funktioniert
Vielen dank
-
im Moment ist es aber so das sich bei jeder Änderung, bzw. sogar bei jeder Aktualisierung einer der Fensterkontakte das Gerät abschaltet. Das ist doch bestimmt nicht so gewollt. Ich vermute du willst wenn eines der Fenster offen ist soll das Gerät abschalten ja ? und wieder einschalten beim schließen ?
willst mir den Code auch mal geben ? dieses mal in nem Code tag !?
Müsste dann noch wissen ob der Wert true oder false ist wenn Fenster offen ?
-
@cinimod
ja mit Fenster Kontakten hab ich ein Fehler gehabt.
fenster contakt ist 0 oder 1 deswegen ist das so in trigger<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="K,WN,pgM_?_@X4vx9kNn" x="-153" y="-781"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="5"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="g^#UD(O)#46O[YL/yhiu"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x1123_Contact</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="GR{OtJXvaxmJ/8frKVV5"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x5982_Contact</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="AaDu2IdLTc;_8Y^(=#1u"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x600E_Contact</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="gz?y}5:(-k]7M;_c)L@c"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x20A3_Contact</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="f,#bPavRADQa!^9vgT;r"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0xD449_Contact</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="hS]=O?t$f/y`yv?xV.9v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@WvR96o@/GT_W,v[-k@;"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="on" id=".}/Q;u9LGC~UU*IR%fTl"> <field name="OID">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="^IQpxvAC2OFS~7?Wb54p"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="4p}TwGI0SFOr*TCj$w{^"> <field name="OP">LTE</field> <value name="A"> <block type="field_oid" id="(5(fmcDYXK=ZD(JjqoVC"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="}pxcBnko$#pIW37~ZyI+"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="toggle" id="{/tEBaR7oRvyEvkE[^*1"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="r*KEn=z,[kyIxuL5}P;p"> <field name="OP">LTE</field> <value name="A"> <block type="field_oid" id="SJp4x+Q.G?cX]Oc6Ik,5"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="1^:mkFciSEdEvK(u_vhn"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="toggle" id="LGOcO[jG=eA:0/(dG^^t"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> </block> </statement> </block> </statement> </block> </next> </block> </xml>```
-
ist 0 dann zu oder auf ?
Hab schon gesehen, hast den trigger geändert.
Soll aber das geschlossene Fenster das Gerät wieder einschalten ? Falls "actual" kleiner als "set point".Die beiden trigger hebeln sich aktuell etwas aus.
wenn du ein Fenster öffnest geht das gerät aus, aber sobald sich "ist Temperatur" wieder ändert macht er Gerät wieder an, das ist nicht sinnvoll.
-
jetzt aber :
Hier der Code:
-
Hallo,
Script macht nichts. -
Hast du es direkt von mir kopiert, oder hast du es nachgebaut? Die Fenster Objekte hast du eingetragen? Sind die Fenster geschlossen 0 oder 1 ?
Habe es jetzt so gebaut das das Gerät nur eingeschaltet wird wenn alle Fenster zu sind. Du hast nicht wirklich darauf geantwortet ob das so in deinem Sinn war !?
-
Hallo,
ich hab das am nachmmitag kopiert sensoren reinkopiert gestartet a er hat nichst gemacht .Fenster hab ich probiert aufmachen und zumachem, kein unterschied(Sensoren sind jetzt ale auf 0) Ich komme dan jetzt zu PC und script hat in zwischen zeit mein test sonoff auf wahr geschaltet. aber wen ich jetzt umstelle gewunschte temperatur pasiert nicht mehrt.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</variable> </variables> <block type="on_ext" id="K,WN,pgM_?_@X4vx9kNn" x="-87" y="-1038"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="5"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="g^#UD(O)#46O[YL/yhiu"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x1123_Contact</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="GR{OtJXvaxmJ/8frKVV5"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x5982_Contact</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="AaDu2IdLTc;_8Y^(=#1u"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x600E_Contact</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="gz?y}5:(-k]7M;_c)L@c"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x20A3_Contact</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="f,#bPavRADQa!^9vgT;r"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0xD449_Contact</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="zr))xYp5q6uk7gWR:FLp"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="(%ip:yl;!KUbNeYJO=Q."> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="IQvqF`Ea*52V%WOo$(BG"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="YaM59`_}h-7w]wlp%rz]"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="hS]=O?t$f/y`yv?xV.9v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@WvR96o@/GT_W,v[-k@;"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="]qW3c_5Vo7}]mwMJaX]u"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> <value name="VALUE"> <block type="logic_boolean" id="%|=KaL92,D:1}t?+_kh@"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="NI74tl{Cv%y2nnZ2mq(_" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="nBhW:|6IjFd#]:==r9MT" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="TzDrBAgL)l{6h%e)Nbix" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="H-by~#=i7qLd];I!ss,u"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="G{e*#Ck_W4)[t!9NfppK"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x1123_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="tV{:u[3b2[XI5;6o#uwv"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="(Bj)7ZJ(0pgXXEA`sjl4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="CN}w9(9wU2-hnR|}zN~M"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x5982_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="qxF?+P?(5WT4+Zh~VDzH"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="iAW5jBZ|80_MVv0zs#04" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="=FJ$#)NF)p%K+ci}.G+{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="b0E:[G*)^Jkwfko9)-UG"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x600E_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="y@6zGn;xb0N/DCub4E+j"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="7uPMqgWG]Q790FDLTidp"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5o;cwewhu(gE!B3`kDDT"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x20A3_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="]T=$eX#l;JqAc9b,Y}+*"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="(OQ76rw~]R]9Q_P/kA`V"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="R-*;=g!1Qh_#Zl_G0VM4"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0xD449_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="aeH:*7-Gn3!c~HF5au^!"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="ceR.;izW_r3Ty20RG_EX"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> <value name="VALUE"> <block type="logic_boolean" id="D=!E,]q}FEHKUapa+q=2"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on" id=".}/Q;u9LGC~UU*IR%fTl"> <field name="OID">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="^IQpxvAC2OFS~7?Wb54p"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="=,{!f,Bw@+IW)fgy6X!," inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="wv?fv3Sv#4)xrUA!h,;d"> <field name="OP">LT</field> <value name="A"> <block type="field_oid" id="Lq8qjAp2+9`o!gUlT+bp"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="tF5CWW~t~IicQF.9T@Yb"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="g0]-Go:bzYX?[3gMBj,7"> <value name="BOOL"> <block type="variables_get" id=":vB%}8-l)m2uIW$kGmf^"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="BCFn=IlgKqu+C@xy)z`p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="CjsW,Fb567aTJf@*m@?U"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="r*KEn=z,[kyIxuL5}P;p"> <field name="OP">GTE</field> <value name="A"> <block type="field_oid" id="1^:mkFciSEdEvK(u_vhn"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="SJp4x+Q.G?cX]Oc6Ik,5"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="@*N1BGqFp,k14kZ$emx]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="knxl8#k^UDaS0z/qJVoA"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
Wen ich setzte temp auf 5 grad ich sehe ein befehl in sonoff :
ich glaub es ist sicher nur was umgekehrt
-
wen ich von wurde geändert auf wurde aktualisiert stelle um das es ist egal was ich bei Termostat umstelle Script sende nur ON
-
Mir ist gerade aufgefallen, du hast immer ObjektID unten benutzt ... da muss überall "wert von objektID" rein.
es ist ja aktuell so das das der trigger immer nur auslöst wenn der ISTWERT sich ändert, dann pack den sollwert auch in den trigger, und stell diesen wieder auf geändert !! dann sollte er auch prüfen wenn der sollwert sich ändert
-
Hallo,
dein hinwies ist richtig, Danke
aber dieser trigger wen ich was am termostat endere mach nur bis Steuere TH10 auf Wahr, er kommt nicht weiter.Eine frage: gibt das ein sin wen für jeder wahr oder falsh ist extra trigger?<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</variable> </variables> <block type="on_ext" id="K,WN,pgM_?_@X4vx9kNn" x="-87" y="-1038"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="5"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="g^#UD(O)#46O[YL/yhiu"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x1123_Contact</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="GR{OtJXvaxmJ/8frKVV5"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x5982_Contact</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="AaDu2IdLTc;_8Y^(=#1u"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x600E_Contact</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="gz?y}5:(-k]7M;_c)L@c"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0x20A3_Contact</field> </shadow> </value> <value name="OID4"> <shadow type="field_oid" id="f,#bPavRADQa!^9vgT;r"> <field name="oid">sonoff.0.ZigBee_Bridge1.ZbReceived_0xD449_Contact</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="zr))xYp5q6uk7gWR:FLp"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="(%ip:yl;!KUbNeYJO=Q."> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="IQvqF`Ea*52V%WOo$(BG"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="YaM59`_}h-7w]wlp%rz]"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="hS]=O?t$f/y`yv?xV.9v"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@WvR96o@/GT_W,v[-k@;"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="]qW3c_5Vo7}]mwMJaX]u"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> <value name="VALUE"> <block type="logic_boolean" id="%|=KaL92,D:1}t?+_kh@"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="NI74tl{Cv%y2nnZ2mq(_" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="nBhW:|6IjFd#]:==r9MT" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="TzDrBAgL)l{6h%e)Nbix" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="H-by~#=i7qLd];I!ss,u"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="G{e*#Ck_W4)[t!9NfppK"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x1123_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="tV{:u[3b2[XI5;6o#uwv"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="(Bj)7ZJ(0pgXXEA`sjl4"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="CN}w9(9wU2-hnR|}zN~M"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x5982_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="qxF?+P?(5WT4+Zh~VDzH"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="iAW5jBZ|80_MVv0zs#04" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="=FJ$#)NF)p%K+ci}.G+{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="b0E:[G*)^Jkwfko9)-UG"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x600E_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="y@6zGn;xb0N/DCub4E+j"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="7uPMqgWG]Q790FDLTidp"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5o;cwewhu(gE!B3`kDDT"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0x20A3_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="]T=$eX#l;JqAc9b,Y}+*"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="(OQ76rw~]R]9Q_P/kA`V"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="R-*;=g!1Qh_#Zl_G0VM4"> <field name="ATTR">val</field> <field name="OID">sonoff.0.ZigBee_Bridge1.ZbReceived_0xD449_Contact</field> </block> </value> <value name="B"> <block type="math_number" id="aeH:*7-Gn3!c~HF5au^!"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="ceR.;izW_r3Ty20RG_EX"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> <value name="VALUE"> <block type="logic_boolean" id="D=!E,]q}FEHKUapa+q=2"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="xDq%i~$rGx~A.83cmM%;"> <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="S5Ja?RFgi-amy%b3nasc"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id=",x^o!!V53@cT%;x8@hr]"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^IQpxvAC2OFS~7?Wb54p"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="=,{!f,Bw@+IW)fgy6X!," inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="wv?fv3Sv#4)xrUA!h,;d"> <field name="OP">LT</field> <value name="A"> <block type="field_oid" id="Lq8qjAp2+9`o!gUlT+bp"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="tF5CWW~t~IicQF.9T@Yb"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="g0]-Go:bzYX?[3gMBj,7"> <value name="BOOL"> <block type="variables_get" id=":vB%}8-l)m2uIW$kGmf^"> <field name="VAR" id="SIGD6q1KUTGFjp#3gO^{">offene Fenster</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="BCFn=IlgKqu+C@xy)z`p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="CjsW,Fb567aTJf@*m@?U"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="r*KEn=z,[kyIxuL5}P;p"> <field name="OP">GT</field> <value name="A"> <block type="field_oid" id="1^:mkFciSEdEvK(u_vhn"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="B"> <block type="field_oid" id="SJp4x+Q.G?cX]Oc6Ik,5"> <field name="oid">hm-rpc.1.000E9D8993AF70.1.SET_POINT_TEMPERATURE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="@*N1BGqFp,k14kZ$emx]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Temparature_wohnzimmer(TH10).POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="knxl8#k^UDaS0z/qJVoA"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
-
wenn er TH10 wahr steuert ist er doch durch gelaufen.
Du hast den Sollwert verändert und er prüft dann ob der Istwert kleiner als der sollwert ist ... wenn das so ist macht er TH10 wahr. Ist doch genau was er tun soll ! oder hattest du was anderes im sinn ?
dann musst du etwas genauer erklären was du willst, und vielleicht auch fürs bessere Verständnis was er da einschaltet, dann kann man sich ggf. besser ein Bild machen. -
@ingenii sagte in Blocky script:
Eine frage: gibt das ein sin wen für jeder wahr oder falsh ist extra trigger?
Nein
-
Wie ich schon geschrieben hab jetzt ist das Gut.
Jetzt muss ich noch was anderes ausprobieren.
ich hab 3 räume und ich muss leider nur ein Realei schalten das heitzung startet.
ich hab 3 Termostaten und 3 verschiedene Temperatur.
Wen 1 Raum (Termostat sagt du musst heizen schalte das Relais an das mir die andere räume das gleiche Relais auf Flash setzten und das geht in so ein loop. -
Erstell dir für jeden Raum einen Datenpunkt, statt dem TH10 Schaltetst du diesen Datanpunkt true/false (ein script für jeden Raum).
Dann noch ein weiters Skript welche die drei Datenpunkte überwacht, und das Relais schaltet wenn mindestens einer der drei Datenpunkte wahr ist, sonst false