NEWS
Jalousie: Prozent als Zeit steuern Blockly
-
@loverz krass voll gut! Ich schaue mir das an sobald meine Aktoren in iobroker eingelernt werden können.
Kennst du jetzt bspw die %angeben und die Jalousie fährt dann dort hin? Meinst du das bekommt man dann in den Yahka rein? Bzw. wie bekomme ich ein Skript in yahka rein? Habe noch nicht ganz den Durchblick. -
@EnoceanEltako in meinem Fall schreibe ich die %-Werte in ein KNX-Objekt.
Man könnte es aber auch einfach in ein selbst erstelltes Objekt schreiben.YAHKA greift ebenfalls auf dieses Objekt zu und kann den Wert auslesen und beeinflussen.
Hab es eigentlich auch hauptsächlich für YAHKA gemacht.Die größte Schwäche meines Scriptes ist aber noch, dass ein %-Wert der eingestellt wird, während die Jalousie gerade fährt verworfen wird.
Lediglich die Werte 0% oder 100% werden IMMER ausgeführt. -
@EnoceanEltako
Ich habe mein Script um die Variable "Faktor_Fahrtzeitverlaengerung" ergänzt, da mir aufgefallen ist, dass die Rollladen sporadisch bei 0% oder 100% nicht so ganz hoch oder runtergefahren sind.
Der Faktor muss wie folgt als Zahl angegeben werden:
1.05 sind 5% Verlängerung
1.2 sind 20% Verlängerung
etc.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</variable> <variable id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</variable> <variable id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</variable> <variable id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</variable> <variable id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</variable> <variable id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</variable> <variable id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout4">timeout4</variable> <variable id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</variable> <variable type="timeout" id="timeout5">timeout5</variable> <variable id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</variable> <variable id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</variable> <variable id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="variables_set" id="Uqx,3pa.qGBFvWPh%Jim" x="737" y="1017"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="F5~b4G4EnWoYJp6Fwh3`"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="4uF`[@kE_(VV$2I0%*{_"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> <value name="VALUE"> <block type="math_number" id="@)?mUz7a~f_e~2P!NjTg"> <field name="NUM">11800</field> </block> </value> <next> <block type="variables_set" id="Zvs|{?;+?Z_Zdwx^4#Zg"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> <value name="VALUE"> <block type="math_number" id=",j7?Je+/MWs5J1~Z*%`7"> <field name="NUM">11800</field> </block> </value> <next> <block type="variables_set" id="/Ug0BHv:REI9q#C]b*x?"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> <value name="VALUE"> <block type="math_number" id="zmP/~bs`k3$s+=YR/r|;"> <field name="NUM">1260</field> </block> </value> <next> <block type="variables_set" id="Z!Z)f,|T#D.i4fNK0lq^"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> <value name="VALUE"> <block type="math_number" id="z_](^p),;Xo6S.L!Mm}n"> <field name="NUM">1.1</field> </block> </value> <next> <block type="variables_set" id="aKs`1aD3ZmK-=P}rbRe0"> <field name="VAR" id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="Lx913)W!4lD)D%%+Jm.D"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="lb`fC(x8]^IK*6G6v(|j"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[^n~if0l2B8k0l@Bh[ra"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="#uKW}=D%DkpTcC;^z^[7"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="LQhfV;U1ZU]U$)]E@ijP"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="variables_set" id="cCHWuP=e`.$CR`/1esA~"> <field name="VAR" id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="h46%%kU#gN|z8h9`N!m="> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="$~ip8hq00KimV[7r]6]o"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="dbl}gZ,fbK17htxgbh+X"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="on_ext" id="r9Jh|`,J2u#%`CdNB|%C"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid" id="?5chF7uHswb!yaUKI[Oe"> <field name="oid">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="KUh?c;wJ3M!7BjhDo=IZ"> <field name="NAME">timeout3</field> <next> <block type="timeouts_settimeout" id="AT=RZcB#vu7EqYOk)|3$"> <field name="NAME">timeout3</field> <field name="DELAY">600</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="b[d1i-j,vgk~6^}x/+_l"> <field name="COMMENT">Hoch fahren</field> <next> <block type="controls_if" id="#z{:W@.6+O?32EPz?H[W"> <value name="IF0"> <block type="logic_operation" id="20Oo6q@z4c0dYG4Q:v`M" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="V(Do/%l8SZbu~h3V5hZz"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="EEi^EvekA`.U#8,;SLfW"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="math_number" id="lW|}GJO)ITbjXGkN7fQU"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=":wLjWOlS|NB]6[q1|E#2"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="p+n7o|bw~itF]Z[d)0o#"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> <value name="B"> <block type="math_number" id="H!5v0jcY/uJ1MD=6wH0f"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AVbE0y+5O%/%*?g4HW2e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Auf_Ab</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="uxx!jPDe3+7TGHH8n}xW"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="lJYI-Xhr#,5`VH(JX`7)"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="kEBGlXDJuofeHEi,pZlc"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="8)RSAFf:Z.C~XAswO~#m"> <field name="NAME">timeout5</field> <next> <block type="timeouts_settimeout" id="k?;WPL*#Z#k$1gqkkA2U"> <field name="NAME">timeout4</field> <field name="DELAY">Fahrtzeit_Total_aufwaerts_verlaengert</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="ow6yOPe~5QbdXRwN`MBz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5dq-fT2Gj6{a:cIb~p`8"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="c_(K~PC6b]Okj`x4cQNM"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="AK/)C(1]_%_N;N3{am9)"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="G_f?)Kt.m0O]JaaA4)RK"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Ykk4BzgQfhxe[XO,+kf`"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id=")I/%8{kz)!67sh*I!G5Z"> <field name="COMMENT">Runter fahren</field> <next> <block type="controls_if" id="mdN^LqxTK=vf[O3G!l`m"> <value name="IF0"> <block type="logic_operation" id="}?n]c$j+fqrpGlv)lJIO" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=".Fd=iz%=wY[*b3;SROaa"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*7=mNwn%yOFl76Se|QCC"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="math_number" id="cf6IHX/^c)@JK?m4OI9L"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="tKwwEAKD}LPhEZqdXh^d"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="`bc_7wK(Aj`Rz`*;,%8X"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> <value name="B"> <block type="math_number" id="/KX*e.NAQzGFdSUR0Q`B"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="rftun!i%(de(P[j/+~]_"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Auf_Ab</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_=M6ZHi?1n`?4/6yr?7l"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="]pGC#g4pJP^%:ev}_EX]"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="TY4r8e%:0{GC,C4qW.uC"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="6])1IW4AQ(IP8ZzwF#R4"> <field name="NAME">timeout4</field> <next> <block type="timeouts_settimeout" id="G:eifh)qo]s#_rcmtcei"> <field name="NAME">timeout5</field> <field name="DELAY">Fahrtzeit_Total_abwaerts_verlaengert</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="5):rMufrg~=Z/L7),:`4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_5Vh$)AIGP*;8O6#TBvU"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="Z3Ov0{[#^=qb|VqNl0!."> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="i?A?yO*/o[k[7z0d{BOv"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="KtWUw=7n,s!91O@E1#qn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="1}:aO2,beD;LR2*mnWg*"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="+B}KAe9#V[dUkD|0p]iJ"> <value name="IF0"> <block type="logic_operation" id="Q%3vyE/=7Q5x@fFCBOPM" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="}1(~#6[@$1KUaE;6[S(G"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="!57?#D{P;^BJZ}.5y8K]"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="math_number" id="dpwa.Z#kzaA!-^__{LFz"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="om8o^.D1-`U0g1==Mu;~"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="(Rx!vvjy99ut1Idn)PTW"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="math_number" id="YbC7?d9AYR5o?!/1VK0h"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="Pon`dZ;8aHDl3Kl7zkH`"> <field name="COMMENT">Prozent Aufwärts</field> <next> <block type="controls_if" id="X-pmLkSiq*DO9asyB=_-"> <value name="IF0"> <block type="logic_compare" id="5#484_pXLr`zE~mFU4C8"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="wK-`{mP/N2=7ayMABMA~"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="get_value" id="?#^EDc6n3;GsNC%`WMW|"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="o^Y^at5]l*L5vLB!r{5a"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="sDU7}J%bLy1uOGdk#mg!"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="6o~f}aN|(WYBCP5H9%bF"> <field name="NUM">1</field> </shadow> <block type="get_value" id="SqQYQR]2l9/6dxpBqvm["> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> <value name="B"> <shadow type="math_number" id="1cL*,XF@]z.!ThlO|9y|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="uPbu5Pb*2Y`P7BfA2NMu"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> </block> </value> <next> <block type="variables_set" id="t?q@$)v(kXaMsw:lK:jH"> <field name="VAR" id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="2U=z8eD-hNh@YI10iT5,"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="]7,F,gxP^}T^1!wsh2re"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=")G1O:*Ob,_Tv:fJErMZr"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="L+T:%4LG6#=e8`Uci-)i"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="ayf/uNu1GCZteCoZ0EeF"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="L_YKZiEkLTg[.PO9)_SZ"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="wGoZ_qG_C:p=naHsn@yf"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="bGh%;u~K|A]/=Yz)_#!6"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="eELt7AAhoKt3PU{x?29b"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="tmpV}gL.cM1sQ!aE?cOx"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9@]kPE{J/a[G}W@,]G3T"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="@)s`%7vOw,o59!v`$IOe"> <value name="IF0"> <block type="logic_compare" id="fsF3mYkF5-J?Pm6L;1z*"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="#NwYlMkO,hj$~`RCz._v"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".wL:`;Y10efZ$c6h97$p"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="#yBB+g6toHW]*HI,~#)S"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Auf_Ab</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="hNCu@{C5g:t4MESFD1v0"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="mA3X1ctI]4YqQ^.daG~Y"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="}L=b-cl69w_ClwrO0_7s"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="(n--iYgxcP=d0vtLvvLV"> <field name="NAME">timeout</field> <field name="DELAY">ms_aufwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="^6wDk.ufq*PA:P~MX/^^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=")iT9-ga/{3w{Mds-Y!Zm"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="O#rIwYNX],F!z@l|U([H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id=",HxhvdThHOCu7q0^bo:w"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id=":5L0AYLkUbGaB;K%ibSx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="W7fMX!CSb3X/@|*Q*!1h"> <value name="VALUE"> <block type="get_value" id="`!mp%66R*$[tj{z18A-m"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Lp|]doK4cXOUEQz`GJCp"> <field name="COMMENT">Prozent Abwärts</field> <next> <block type="controls_if" id="Icoq1U1Whv_Dfvm$;-x#"> <value name="IF0"> <block type="logic_compare" id="Pr8Js6u};)Nby.O1:ljq"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="dY$M3m*e6qaY=!br%u*7"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <block type="get_value" id="K-a-4/ntn,7o5gR{:{~h"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="KSE/QQ5$~%#(|RbW5FU0"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="a,Dn[42KCcamX%=[Ub+6"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="/lpqmErjjq#h3Jl41CSN"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="LU33}6ZotoJ+Y89aq7~I"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> </block> </value> </block> </value> <next> <block type="variables_set" id=";0F}UMA[h{B+E+lBp2sZ"> <field name="VAR" id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="[EA#z~{31dl*g79b)2Oi"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id=",3Fy.=qA0+!v%D/8RJPm"> <field name="NUM">1000</field> </shadow> <block type="math_arithmetic" id="Vm.3:q^@o;q^eb_=-+ot"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="c3i3DG;s@qW~G/v0;-Er"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="sX_C7zzEpyd|x1a.+MpR"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="Uxw`I^XAE8@drmL6)2$K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="360B#P@7lP{bt2L:R6i|"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="W60+SW%@2pr(@ZFlEf02"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="vj%%9*!+l6m8(3_sZd!c"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="iWw#(e}80#FQziUA)jPX"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="iT!#Je:)v^[/j^hSq?$M"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="s3?LV)-Y[4lG)K;C3e{k"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="m;YlVVLGnqGe%^ZY2M5."> <value name="IF0"> <block type="logic_compare" id="T{~TK**P?Miqhr93/_Bi"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="fnQnmWw60U!0@e[!~!:T"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id="v0D8znv7oAjW4!eM?nN+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^l*f@vnOdP[qH;P46.^U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Auf_Ab</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]OpCc|;+tv1]?1bW/7ZC"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="=F/qL/WO,a##E;LrVQ-H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="tR!hL[8lQdd{jEuI3FH3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="k;n.NY5i%aR:w!,![(X5"> <field name="NAME">timeout2</field> <field name="DELAY">ms_abwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="a^nI~b6g-UWsOCu1CbBn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Stop</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Fv=n;SUehIq+3DJYcOJC"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="0cwjs.t9fczrRP@!q,u#"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="b6Hz`0XMWJK}aF[PCvUD"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="C4,0iS^^::cG:Pcz?RpW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">knx.0.OG.Jalousie.Bad_Position</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="h+H:Nxl`$X.v%TbnlS6s"> <value name="VALUE"> <block type="get_value" id="V_g+nU9Z9~yH--$[0]Q,"> <field name="ATTR">val</field> <field name="OID">knx.0.OG.Jalousie.Bad_Position_anfahren</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@loverz sehr gut! Sobald ich meine Aktoren in iobroker integrieren kann fange ich damit an.
-
@loverz
ich habe jetzt meine Jalousieaktoren leider noch nicht im iobroker drin, es gibt Probleme mit dem Adapter...
Was ich aber fragen wollte: handlest du auch das wenn z.B. die Jalousie über einen örtlichen Taster auf 80% gestellt wurde und nachher eine Szene ausgelöst wird die ihn auf 50% stellen muss, wie machst du das dann mit der Fahrzeitberechnung? -
@EnoceanEltako in dem Fall ist es ja ganz einfach.
Mein Script sieht 80% aktuelle Position und 50% Soll Position.
Es errechnet dann eine Differenz von -30% und fährt entsprechend 30% von der Gesamtfahrzeit abwärts.Schwieriger wäre es, wenn der manuelle Taster mit Auf/Ab die Jalousie bewegt und anschließend keine aktuelle Position ermittelt wurde, dann müsste ich die Zeit messen, das war mir aber zu aufwendig, auch wenn ich dieses Problem selbst habe.
Meistens fährt die Jalousie sowieso per Script automatisch und wenn ich von Hand fahre gebe ich einfach 0% oder 100% als Ausgangsposition an. Passt bisher auch so. -
@loverz hey, jetzt sehe ich erst dass du der gleiche User aus dem YAHKA Thread bist und ich dich jetzt wieder mit Noob Fragen bombardiere - sorry dafür!
Also ich habe jetzt mal dein Skript importiert und wollte es mit einem Rollladen bei mir mal ausprobieren.
Meine vorhandenen Datenpunkte beim Rollladenaktor sehen wie folgt aus:
Ich steige leider noch nicht ganz durch.
Ich habe hier bereits den "Positon_anfahren" Datenpunkt erstellt. Welche Datenpunkte muss ich denn noch erstellen?- Position_auf_ab
- Position
- stop
Also bei mir sind mögliche commands: "states": "0:Stop; 1:Up; 2:Down;
Soweit ich das verstehe muss ich dann nach einer gewissen Zeit das commandID Objekt dann wieder mit einem neuen State versehen. Bspw. ich fahre den Rollladen über state "2:Down" runter und setze dann nach bspw. 1Sekunde den State "0:Stop". Funktioniert das bei dir auch so? Die Gesamtlaufzeit der Rollläden in Sekunden liegt mir vor. -
@enoceaneltako hey
Ich helfe gern, wo ich kann!Willst du deine Jalousie über Homekit steuern, oder was hast du vor?
Ich habe diesen Thread gemacht um mit einem Schaltaktor Jalousien zu steuern. Mit einem Jalosieaktor, wie du ihn offenbar hast brauchst du das nicht, da ist alles viel einfacher.
Es sieht bei dir so aus, als müsstest du „Position_anfahren“ mit einer Prozentzahl füttern und anschließend mit dem „cmd“ objekt den Befehl abfeuern, so war das doch auch bei deinen Lampen, wenn ich mich richtig erinnere.
-
@loverz
5eacdcfa-0349-4764-b66a-8955b01ee87c-image.png
So sieht es per Standard ohne das manuelle Hinzufügen des "Position_anfahren" aus.
Wenn ich den Rollladen steuern möchte, muss ich nach meinem Verständnis auf dem CMD Datenpunkt einfach den Wert, 0,1 oder 2 setzen. Der Datenpunkt RT gibt mir dabei nur die gefahrene Zeit zurück, lässt sich quasi aber nicht für die Steuerung nutzen. Ich lasse mir das gerade noch im Adapter Thread bestätigen, vermute aber dass es so geht. -
@enoceaneltako wenn dem so ist, dann steht 0 und 1 wahrscheinlich fürs bewegen und 2 für Stopp.
Dann kannst du kit meinem Script auf jeden Fall was anfangen.Sehr komische Technik hast du da installiert
-
@loverz im Nachhinein ist man immer schlauer.
Ich muss mir das Skript dann nochmal im Detail anschauen.
Benötige ich dann da noch weitere Datenpunkte? So wie ich das verstehe hast du ja noch manuell welche hinzugefügt, oder die waren bei dir entsprechend dabei. -
@enoceaneltako du brauchst nur 2 eigene Datenpunkte. Position Target ind Position Current.
Beide müssen Prozentwerte von 0-100 sein.Mit diesen steuerst du dann deine Rollläden oder zeigst die Position an.
-
@loverz so ich sitze gerade vor dem Skript und versuche mich.
bei mir sieht das jetzt so aus:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</variable> <variable id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</variable> <variable id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</variable> <variable id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</variable> <variable id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</variable> <variable id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</variable> <variable id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout4">timeout4</variable> <variable id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</variable> <variable type="timeout" id="timeout5">timeout5</variable> <variable id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</variable> <variable id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</variable> <variable id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="variables_set" id="Uqx,3pa.qGBFvWPh%Jim" x="737" y="1017"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="F5~b4G4EnWoYJp6Fwh3`"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="4uF`[@kE_(VV$2I0%*{_"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> <value name="VALUE"> <block type="math_number" id="@)?mUz7a~f_e~2P!NjTg"> <field name="NUM">262</field> </block> </value> <next> <block type="variables_set" id="Zvs|{?;+?Z_Zdwx^4#Zg"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> <value name="VALUE"> <block type="math_number" id=",j7?Je+/MWs5J1~Z*%`7"> <field name="NUM">262</field> </block> </value> <next> <block type="variables_set" id="/Ug0BHv:REI9q#C]b*x?"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> <value name="VALUE"> <block type="math_number" id="zmP/~bs`k3$s+=YR/r|;"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="Z!Z)f,|T#D.i4fNK0lq^"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> <value name="VALUE"> <block type="math_number" id="z_](^p),;Xo6S.L!Mm}n"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="aKs`1aD3ZmK-=P}rbRe0"> <field name="VAR" id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="Lx913)W!4lD)D%%+Jm.D"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="lb`fC(x8]^IK*6G6v(|j"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[^n~if0l2B8k0l@Bh[ra"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="#uKW}=D%DkpTcC;^z^[7"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="LQhfV;U1ZU]U$)]E@ijP"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="variables_set" id="cCHWuP=e`.$CR`/1esA~"> <field name="VAR" id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="h46%%kU#gN|z8h9`N!m="> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="$~ip8hq00KimV[7r]6]o"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="dbl}gZ,fbK17htxgbh+X"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="on_ext" id="r9Jh|`,J2u#%`CdNB|%C"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid" id="?5chF7uHswb!yaUKI[Oe"> <field name="oid">enocean.0.05869d34.Position_Target</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="KUh?c;wJ3M!7BjhDo=IZ"> <field name="NAME">timeout3</field> <next> <block type="timeouts_settimeout" id="AT=RZcB#vu7EqYOk)|3$"> <field name="NAME">timeout3</field> <field name="DELAY">600</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="b[d1i-j,vgk~6^}x/+_l"> <field name="COMMENT">Hoch fahren</field> <next> <block type="controls_if" id="#z{:W@.6+O?32EPz?H[W"> <value name="IF0"> <block type="logic_operation" id="20Oo6q@z4c0dYG4Q:v`M" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="V(Do/%l8SZbu~h3V5hZz"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="EEi^EvekA`.U#8,;SLfW"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="lW|}GJO)ITbjXGkN7fQU"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=":wLjWOlS|NB]6[q1|E#2"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="p+n7o|bw~itF]Z[d)0o#"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="H!5v0jcY/uJ1MD=6wH0f"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AVbE0y+5O%/%*?g4HW2e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="oG6xxmZc9?x-9lLU/4Yy"> <field name="NUM">1</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="lJYI-Xhr#,5`VH(JX`7)"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="kEBGlXDJuofeHEi,pZlc"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="8)RSAFf:Z.C~XAswO~#m"> <field name="NAME">timeout5</field> <next> <block type="timeouts_settimeout" id="k?;WPL*#Z#k$1gqkkA2U"> <field name="NAME">timeout4</field> <field name="DELAY">Fahrtzeit_Total_aufwaerts_verlaengert</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="ow6yOPe~5QbdXRwN`MBz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="|@ywavf{qlL1[gsMN%[{"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="c_(K~PC6b]Okj`x4cQNM"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="AK/)C(1]_%_N;N3{am9)"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="G_f?)Kt.m0O]JaaA4)RK"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_Target</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Ykk4BzgQfhxe[XO,+kf`"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id=")I/%8{kz)!67sh*I!G5Z"> <field name="COMMENT">Runter fahren</field> <next> <block type="controls_if" id="mdN^LqxTK=vf[O3G!l`m"> <value name="IF0"> <block type="logic_operation" id="}?n]c$j+fqrpGlv)lJIO" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=".Fd=iz%=wY[*b3;SROaa"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*7=mNwn%yOFl76Se|QCC"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="cf6IHX/^c)@JK?m4OI9L"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="tKwwEAKD}LPhEZqdXh^d"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="`bc_7wK(Aj`Rz`*;,%8X"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="/KX*e.NAQzGFdSUR0Q`B"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="rftun!i%(de(P[j/+~]_"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="ZD(jXX9AUzjqy-{[@a_%"> <field name="NUM">2</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="]pGC#g4pJP^%:ev}_EX]"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="TY4r8e%:0{GC,C4qW.uC"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="6])1IW4AQ(IP8ZzwF#R4"> <field name="NAME">timeout4</field> <next> <block type="timeouts_settimeout" id="G:eifh)qo]s#_rcmtcei"> <field name="NAME">timeout5</field> <field name="DELAY">Fahrtzeit_Total_abwaerts_verlaengert</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="5):rMufrg~=Z/L7),:`4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=";UiT..l:bG?I-Dq1z+Y/"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="Z3Ov0{[#^=qb|VqNl0!."> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="i?A?yO*/o[k[7z0d{BOv"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="KtWUw=7n,s!91O@E1#qn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="1}:aO2,beD;LR2*mnWg*"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="+B}KAe9#V[dUkD|0p]iJ"> <value name="IF0"> <block type="logic_operation" id="Q%3vyE/=7Q5x@fFCBOPM" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="}1(~#6[@$1KUaE;6[S(G"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="!57?#D{P;^BJZ}.5y8K]"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="dpwa.Z#kzaA!-^__{LFz"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="om8o^.D1-`U0g1==Mu;~"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="(Rx!vvjy99ut1Idn)PTW"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="YbC7?d9AYR5o?!/1VK0h"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="Pon`dZ;8aHDl3Kl7zkH`"> <field name="COMMENT">Prozent Aufwärts</field> <next> <block type="controls_if" id="X-pmLkSiq*DO9asyB=_-"> <value name="IF0"> <block type="logic_compare" id="5#484_pXLr`zE~mFU4C8"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="wK-`{mP/N2=7ayMABMA~"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="get_value" id="?#^EDc6n3;GsNC%`WMW|"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="o^Y^at5]l*L5vLB!r{5a"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="sDU7}J%bLy1uOGdk#mg!"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="6o~f}aN|(WYBCP5H9%bF"> <field name="NUM">1</field> </shadow> <block type="get_value" id="SqQYQR]2l9/6dxpBqvm["> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <shadow type="math_number" id="1cL*,XF@]z.!ThlO|9y|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="uPbu5Pb*2Y`P7BfA2NMu"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <next> <block type="variables_set" id="t?q@$)v(kXaMsw:lK:jH"> <field name="VAR" id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="2U=z8eD-hNh@YI10iT5,"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="]7,F,gxP^}T^1!wsh2re"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=")G1O:*Ob,_Tv:fJErMZr"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="L+T:%4LG6#=e8`Uci-)i"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="ayf/uNu1GCZteCoZ0EeF"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="L_YKZiEkLTg[.PO9)_SZ"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="wGoZ_qG_C:p=naHsn@yf"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="bGh%;u~K|A]/=Yz)_#!6"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="eELt7AAhoKt3PU{x?29b"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="tmpV}gL.cM1sQ!aE?cOx"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9@]kPE{J/a[G}W@,]G3T"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="@)s`%7vOw,o59!v`$IOe"> <value name="IF0"> <block type="logic_compare" id="fsF3mYkF5-J?Pm6L;1z*"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="#NwYlMkO,hj$~`RCz._v"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".wL:`;Y10efZ$c6h97$p"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="#yBB+g6toHW]*HI,~#)S"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="^f_vV[i;v0JnX2DLVj83"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="mA3X1ctI]4YqQ^.daG~Y"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="}L=b-cl69w_ClwrO0_7s"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="(n--iYgxcP=d0vtLvvLV"> <field name="NAME">timeout</field> <field name="DELAY">ms_aufwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="^6wDk.ufq*PA:P~MX/^^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="|T;zNw5Fiz47r%Pal5uH"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="O#rIwYNX],F!z@l|U([H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id=",HxhvdThHOCu7q0^bo:w"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id=":5L0AYLkUbGaB;K%ibSx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="W7fMX!CSb3X/@|*Q*!1h"> <value name="VALUE"> <block type="get_value" id="`!mp%66R*$[tj{z18A-m"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Lp|]doK4cXOUEQz`GJCp"> <field name="COMMENT">Prozent Abwärts</field> <next> <block type="controls_if" id="Icoq1U1Whv_Dfvm$;-x#"> <value name="IF0"> <block type="logic_compare" id="Pr8Js6u};)Nby.O1:ljq"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="dY$M3m*e6qaY=!br%u*7"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="get_value" id="K-a-4/ntn,7o5gR{:{~h"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="KSE/QQ5$~%#(|RbW5FU0"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="a,Dn[42KCcamX%=[Ub+6"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="/lpqmErjjq#h3Jl41CSN"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="LU33}6ZotoJ+Y89aq7~I"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <next> <block type="variables_set" id=";0F}UMA[h{B+E+lBp2sZ"> <field name="VAR" id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="[EA#z~{31dl*g79b)2Oi"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id=",3Fy.=qA0+!v%D/8RJPm"> <field name="NUM">1000</field> </shadow> <block type="math_arithmetic" id="Vm.3:q^@o;q^eb_=-+ot"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="c3i3DG;s@qW~G/v0;-Er"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="sX_C7zzEpyd|x1a.+MpR"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="Uxw`I^XAE8@drmL6)2$K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="360B#P@7lP{bt2L:R6i|"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="W60+SW%@2pr(@ZFlEf02"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="vj%%9*!+l6m8(3_sZd!c"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="iWw#(e}80#FQziUA)jPX"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="iT!#Je:)v^[/j^hSq?$M"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="s3?LV)-Y[4lG)K;C3e{k"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="m;YlVVLGnqGe%^ZY2M5."> <value name="IF0"> <block type="logic_compare" id="T{~TK**P?Miqhr93/_Bi"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="fnQnmWw60U!0@e[!~!:T"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id="v0D8znv7oAjW4!eM?nN+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^l*f@vnOdP[qH;P46.^U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="F_C4.=R^id$3hw^xC8|r"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="=F/qL/WO,a##E;LrVQ-H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="tR!hL[8lQdd{jEuI3FH3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="k;n.NY5i%aR:w!,![(X5"> <field name="NAME">timeout2</field> <field name="DELAY">ms_abwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="a^nI~b6g-UWsOCu1CbBn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="=5p/Hz*,1uo^A7b5:n0V"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="0cwjs.t9fczrRP@!q,u#"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="b6Hz`0XMWJK}aF[PCvUD"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="C4,0iS^^::cG:Pcz?RpW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="h+H:Nxl`$X.v%TbnlS6s"> <value name="VALUE"> <block type="get_value" id="V_g+nU9Z9~yH--$[0]Q,"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Ich kann die Endlage oben über einen Datenpunkt erkennen B0 auf "true" solange der Rollladen fährt lautet der Wert "false":
Die Endlage unten kann ich über den Endpunkt B1 auf "true" ebenfalls erkennen und auch hier solange der Rollladen fährt lautet der Wert "false".
Aber irgendwie fährt der Rollladen aktuell immer komplett hoch bzw. runter. Also das funktioniert schonmal
-
Dein Blockly steuert unten knx.0.OG.Jalousie.Bad_Auf_Ab mit falsch. Was macht das denn?
Mein Datenpunkt um zu Steuern ist der CommandID, den habe ich bei mir auf "1" weil das "auf" bedeutet.
Im unteren Teil, nach dem Timeout hast du noch einen Datenpunkt ...Bad_stop. Hier habe ich bei mir mein CommandID Datenpunkt mit "0" gesetzt, da das "Stop" bedeutet.
Wozu sind denn die timeouts dazwischen und wie lange laufen diese?
-
@enoceaneltako sagte in Jalousie: Prozent als Zeit steuern Blockly:
Dein Blockly steuert unten knx.0.OG.Jalousie.Bad_Auf_Ab mit falsch. Was macht das denn?
das ist bei mir der Befehl zum auf oder abfahren der Jalousie. false aufwärts und true abwärts, so wie bei dir CommandID
Mein Datenpunkt um zu Steuern ist der CommandID, den habe ich bei mir auf "1" weil das "auf" bedeutet.
Im unteren Teil, nach dem Timeout hast du noch einen Datenpunkt ...Bad_stop. Hier habe ich bei mir mein CommandID Datenpunkt mit "0" gesetzt, da das "Stop" bedeutet.
Wozu sind denn die timeouts dazwischen und wie lange laufen diese?
Die Timeouts laufen genau solange wie die Jalousie für die jeweilige Position benötigt.
Angenommen, deine Jalousie benötigt für 0-100% 10 Sekunden, dann sind ja 10% 1 Sekunde, entsprechend müsste die Jalousie 5 Sekunden fahren, bis sie 50% erreicht hat und wird dann gestoppt.
-
@loverz Hey, also irgendwie bekomme ich das nicht gebacken. Hast du mir vllt. noch einen Tipp?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</variable> <variable id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</variable> <variable id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</variable> <variable id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</variable> <variable id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</variable> <variable id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</variable> <variable id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout4">timeout4</variable> <variable id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</variable> <variable type="timeout" id="timeout5">timeout5</variable> <variable id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</variable> <variable id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</variable> <variable id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="variables_set" id="Uqx,3pa.qGBFvWPh%Jim" x="737" y="1017"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="F5~b4G4EnWoYJp6Fwh3`"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="4uF`[@kE_(VV$2I0%*{_"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> <value name="VALUE"> <block type="math_number" id="@)?mUz7a~f_e~2P!NjTg"> <field name="NUM">262</field> </block> </value> <next> <block type="variables_set" id="Zvs|{?;+?Z_Zdwx^4#Zg"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> <value name="VALUE"> <block type="math_number" id=",j7?Je+/MWs5J1~Z*%`7"> <field name="NUM">262</field> </block> </value> <next> <block type="variables_set" id="/Ug0BHv:REI9q#C]b*x?"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> <value name="VALUE"> <block type="math_number" id="zmP/~bs`k3$s+=YR/r|;"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="Z!Z)f,|T#D.i4fNK0lq^"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> <value name="VALUE"> <block type="math_number" id="z_](^p),;Xo6S.L!Mm}n"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="aKs`1aD3ZmK-=P}rbRe0"> <field name="VAR" id="mX!WspA(Q^vpY:_?b!6N">Fahrtzeit_Total_abwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="Lx913)W!4lD)D%%+Jm.D"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="lb`fC(x8]^IK*6G6v(|j"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[^n~if0l2B8k0l@Bh[ra"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="#uKW}=D%DkpTcC;^z^[7"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="LQhfV;U1ZU]U$)]E@ijP"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="variables_set" id="cCHWuP=e`.$CR`/1esA~"> <field name="VAR" id="R(jniBX|0gQGB_rJ/nB_">Fahrtzeit_Total_aufwaerts_verlaengert</field> <value name="VALUE"> <block type="math_arithmetic" id="h46%%kU#gN|z8h9`N!m="> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="$~ip8hq00KimV[7r]6]o"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="dbl}gZ,fbK17htxgbh+X"> <field name="VAR" id="y9JVRB3.vZ$hLD}SS=`M">Faktor_Fahrtzeitverlängerung</field> </block> </value> </block> </value> <next> <block type="on_ext" id="r9Jh|`,J2u#%`CdNB|%C"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid" id="?5chF7uHswb!yaUKI[Oe"> <field name="oid">enocean.0.05869d34.Position_Target</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="KUh?c;wJ3M!7BjhDo=IZ"> <field name="NAME">timeout3</field> <next> <block type="timeouts_settimeout" id="AT=RZcB#vu7EqYOk)|3$"> <field name="NAME">timeout3</field> <field name="DELAY">ms_aufwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="b[d1i-j,vgk~6^}x/+_l"> <field name="COMMENT">Hoch fahren</field> <next> <block type="controls_if" id="#z{:W@.6+O?32EPz?H[W"> <value name="IF0"> <block type="logic_operation" id="20Oo6q@z4c0dYG4Q:v`M" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="V(Do/%l8SZbu~h3V5hZz"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="EEi^EvekA`.U#8,;SLfW"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="lW|}GJO)ITbjXGkN7fQU"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=":wLjWOlS|NB]6[q1|E#2"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="p+n7o|bw~itF]Z[d)0o#"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="H!5v0jcY/uJ1MD=6wH0f"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AVbE0y+5O%/%*?g4HW2e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="oG6xxmZc9?x-9lLU/4Yy"> <field name="NUM">1</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="lJYI-Xhr#,5`VH(JX`7)"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="kEBGlXDJuofeHEi,pZlc"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="8)RSAFf:Z.C~XAswO~#m"> <field name="NAME">timeout5</field> <next> <block type="timeouts_settimeout" id="k?;WPL*#Z#k$1gqkkA2U"> <field name="NAME">timeout4</field> <field name="DELAY">ms_aufwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="ow6yOPe~5QbdXRwN`MBz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="|@ywavf{qlL1[gsMN%[{"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="c_(K~PC6b]Okj`x4cQNM"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="AK/)C(1]_%_N;N3{am9)"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="G_f?)Kt.m0O]JaaA4)RK"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_Target</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Ykk4BzgQfhxe[XO,+kf`"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id=")I/%8{kz)!67sh*I!G5Z"> <field name="COMMENT">Runter fahren</field> <next> <block type="controls_if" id="mdN^LqxTK=vf[O3G!l`m"> <value name="IF0"> <block type="logic_operation" id="}?n]c$j+fqrpGlv)lJIO" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=".Fd=iz%=wY[*b3;SROaa"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*7=mNwn%yOFl76Se|QCC"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="cf6IHX/^c)@JK?m4OI9L"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="tKwwEAKD}LPhEZqdXh^d"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="`bc_7wK(Aj`Rz`*;,%8X"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> <value name="B"> <block type="math_number" id="/KX*e.NAQzGFdSUR0Q`B"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="rftun!i%(de(P[j/+~]_"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="ZD(jXX9AUzjqy-{[@a_%"> <field name="NUM">2</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="]pGC#g4pJP^%:ev}_EX]"> <field name="NAME">timeout</field> <next> <block type="timeouts_cleartimeout" id="TY4r8e%:0{GC,C4qW.uC"> <field name="NAME">timeout2</field> <next> <block type="timeouts_cleartimeout" id="6])1IW4AQ(IP8ZzwF#R4"> <field name="NAME">timeout4</field> <next> <block type="timeouts_settimeout" id="G:eifh)qo]s#_rcmtcei"> <field name="NAME">timeout5</field> <field name="DELAY">Fahrtzeit_Total_abwaerts_verlaengert</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="5):rMufrg~=Z/L7),:`4"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=";UiT..l:bG?I-Dq1z+Y/"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="Z3Ov0{[#^=qb|VqNl0!."> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="i?A?yO*/o[k[7z0d{BOv"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="KtWUw=7n,s!91O@E1#qn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="1}:aO2,beD;LR2*mnWg*"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="+B}KAe9#V[dUkD|0p]iJ"> <value name="IF0"> <block type="logic_operation" id="Q%3vyE/=7Q5x@fFCBOPM" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="}1(~#6[@$1KUaE;6[S(G"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="!57?#D{P;^BJZ}.5y8K]"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="dpwa.Z#kzaA!-^__{LFz"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="om8o^.D1-`U0g1==Mu;~"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="(Rx!vvjy99ut1Idn)PTW"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="math_number" id="YbC7?d9AYR5o?!/1VK0h"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="Pon`dZ;8aHDl3Kl7zkH`"> <field name="COMMENT">Prozent Aufwärts</field> <next> <block type="controls_if" id="X-pmLkSiq*DO9asyB=_-"> <value name="IF0"> <block type="logic_compare" id="5#484_pXLr`zE~mFU4C8"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="wK-`{mP/N2=7ayMABMA~"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="get_value" id="?#^EDc6n3;GsNC%`WMW|"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="o^Y^at5]l*L5vLB!r{5a"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="sDU7}J%bLy1uOGdk#mg!"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="6o~f}aN|(WYBCP5H9%bF"> <field name="NUM">1</field> </shadow> <block type="get_value" id="SqQYQR]2l9/6dxpBqvm["> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <shadow type="math_number" id="1cL*,XF@]z.!ThlO|9y|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="uPbu5Pb*2Y`P7BfA2NMu"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <next> <block type="variables_set" id="t?q@$)v(kXaMsw:lK:jH"> <field name="VAR" id="vfZto4^tP9L1^_QXr^lf">ms_aufwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="2U=z8eD-hNh@YI10iT5,"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="]7,F,gxP^}T^1!wsh2re"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=")G1O:*Ob,_Tv:fJErMZr"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="L+T:%4LG6#=e8`Uci-)i"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="ayf/uNu1GCZteCoZ0EeF"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="L_YKZiEkLTg[.PO9)_SZ"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="wGoZ_qG_C:p=naHsn@yf"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="bGh%;u~K|A]/=Yz)_#!6"> <field name="VAR" id="SH9X(aTmm}6oYla.Et?,">Fahrtzeit_Total_aufwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="eELt7AAhoKt3PU{x?29b"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="tmpV}gL.cM1sQ!aE?cOx"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="9@]kPE{J/a[G}W@,]G3T"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="@)s`%7vOw,o59!v`$IOe"> <value name="IF0"> <block type="logic_compare" id="fsF3mYkF5-J?Pm6L;1z*"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="#NwYlMkO,hj$~`RCz._v"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".wL:`;Y10efZ$c6h97$p"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="#yBB+g6toHW]*HI,~#)S"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="^f_vV[i;v0JnX2DLVj83"> <field name="NUM">1</field> </block> </value> <next> <block type="variables_set" id="mA3X1ctI]4YqQ^.daG~Y"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="}L=b-cl69w_ClwrO0_7s"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="(n--iYgxcP=d0vtLvvLV"> <field name="NAME">timeout</field> <field name="DELAY">ms_aufwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="^6wDk.ufq*PA:P~MX/^^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="|T;zNw5Fiz47r%Pal5uH"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="O#rIwYNX],F!z@l|U([H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id=",HxhvdThHOCu7q0^bo:w"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id=":5L0AYLkUbGaB;K%ibSx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="W7fMX!CSb3X/@|*Q*!1h"> <value name="VALUE"> <block type="get_value" id="`!mp%66R*$[tj{z18A-m"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Lp|]doK4cXOUEQz`GJCp"> <field name="COMMENT">Prozent Abwärts</field> <next> <block type="controls_if" id="Icoq1U1Whv_Dfvm$;-x#"> <value name="IF0"> <block type="logic_compare" id="Pr8Js6u};)Nby.O1:ljq"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="dY$M3m*e6qaY=!br%u*7"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <block type="get_value" id="K-a-4/ntn,7o5gR{:{~h"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="KSE/QQ5$~%#(|RbW5FU0"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> <value name="VALUE"> <block type="math_arithmetic" id="a,Dn[42KCcamX%=[Ub+6"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="/lpqmErjjq#h3Jl41CSN"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="LU33}6ZotoJ+Y89aq7~I"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_current</field> </block> </value> </block> </value> <next> <block type="variables_set" id=";0F}UMA[h{B+E+lBp2sZ"> <field name="VAR" id="CYHQ|24lLbrm35!+^r2(">ms_abwaerts</field> <value name="VALUE"> <block type="math_arithmetic" id="[EA#z~{31dl*g79b)2Oi"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id=",3Fy.=qA0+!v%D/8RJPm"> <field name="NUM">1000</field> </shadow> <block type="math_arithmetic" id="Vm.3:q^@o;q^eb_=-+ot"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="c3i3DG;s@qW~G/v0;-Er"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="sX_C7zzEpyd|x1a.+MpR"> <field name="VAR" id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</field> </block> </value> <value name="B"> <shadow type="math_number" id="Uxw`I^XAE8@drmL6)2$K"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="360B#P@7lP{bt2L:R6i|"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="W60+SW%@2pr(@ZFlEf02"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="vj%%9*!+l6m8(3_sZd!c"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total_abwaerts</field> </block> </value> <value name="B"> <shadow type="math_number" id="iWw#(e}80#FQziUA)jPX"> <field name="NUM">100</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="iT!#Je:)v^[/j^hSq?$M"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="s3?LV)-Y[4lG)K;C3e{k"> <field name="VAR" id="2K}6OZ@A3R4`TruGx?+|">Motor_Anlaufverzögerung</field> </block> </value> </block> </value> <next> <block type="controls_if" id="m;YlVVLGnqGe%^ZY2M5."> <value name="IF0"> <block type="logic_compare" id="T{~TK**P?Miqhr93/_Bi"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="fnQnmWw60U!0@e[!~!:T"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> </block> </value> <value name="B"> <block type="logic_boolean" id="v0D8znv7oAjW4!eM?nN+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^l*f@vnOdP[qH;P46.^U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="F_C4.=R^id$3hw^xC8|r"> <field name="NUM">2</field> </block> </value> <next> <block type="variables_set" id="=F/qL/WO,a##E;LrVQ-H"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="tR!hL[8lQdd{jEuI3FH3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="k;n.NY5i%aR:w!,![(X5"> <field name="NAME">timeout2</field> <field name="DELAY">ms_abwaerts</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="a^nI~b6g-UWsOCu1CbBn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.CMD</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="=5p/Hz*,1uo^A7b5:n0V"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="0cwjs.t9fczrRP@!q,u#"> <field name="VAR" id="xf@sxy2n3lLaMAIA.N]n">Fährt_gerade</field> <value name="VALUE"> <block type="logic_boolean" id="b6Hz`0XMWJK}aF[PCvUD"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="C4,0iS^^::cG:Pcz?RpW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">enocean.0.05869d34.Position_current</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="h+H:Nxl`$X.v%TbnlS6s"> <value name="VALUE"> <block type="get_value" id="V_g+nU9Z9~yH--$[0]Q,"> <field name="ATTR">val</field> <field name="OID">enocean.0.05869d34.Position_Target</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Muss ich jetzt in die timeouts, also timeout3 "ms-aufwaerts" den Wert für 26,2 Sekunden eintragen?
-
@enoceaneltako schau mal da:
siehst du wie es funktioniert?
-
Hallo zusammen, ich bin absoluter beginner hier, aber auf der Suche nach einer Lösung, wie man mit an/aus und der Positionsinfo bestimmte Positionen anfahren kann, in dem man einen Prozentwert in ein Feld einträgt.
Versteh ich das Skript hier richtig, dass man genau das damit machen kann? -
@ambo genau, das habe ich so gemacht. Habe zwei Rollladen an einem Schaltaktor, der nur An/Aus kann und entsprechend bedient werden muss. Das Objekt Position anfahren (in Prozent) habe ich selbst erstellt.