hm, nach nem Neustart ist alles da...ich sag besser nix mehr 😉
NEWS
Jalousie: Prozent als Zeit steuern Blockly
-
Hi zusammen,
ich stehe gerade auf dem Schlauch.
Ich habe 2 meiner Jalousien aus Kostengründen an einen Schaltaktor statt eines Jalousieaktors angeschlossen.
Folglich fehlt mir nun die Möglichkeit diese Prozentgenau anzusteuern, es gibt ja beim Schaltaktor nur An und Aus (in diesem Fall hoch und runter)Um die Prozentsteuerung nun trotzdem hinzubekommen möchte ich den Weg über die Verfahrzeit gehen.
Wenn die Jalousie also von 0% auf 100% gehen soll und die Verfahrzeit 20 Sekunden ist, dann muss der Schaltaktor genau 20 Sekunden bestromt werden. Von 0% auf 50% entsprechend dann 10 Sekunden.
Im Moment habe ich aber keine Lösung für Blockly gefunden, wie ich diese variable Zeit abbilden kann. Mein Problem sollte also im Blockly da sein, wo ich dir rote Markierung hingemacht habe:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total</variable> <variable id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwärts</variable> <variable id="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwärts</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="variables_set" id="{7Cvhk=!!I96_,$$NTCY" x="138" y="87"> <field name="VAR" id="+vD!@~J]Be=h}8X?P3j;">Fahrtzeit_Total</field> <value name="VALUE"> <block type="math_number" id="/DMb~i1(W?wrCF:5t93U"> <field name="NUM">20</field> </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"></field> <value name="OID0"> <shadow type="field_oid" id="?5chF7uHswb!yaUKI[Oe"> <field name="oid">javascript.0.Variablen.Jalousie.Bad.Position.Target</field> </shadow> </value> <statement name="STATEMENT"> <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">javascript.0.Variablen.Jalousie.Bad.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">javascript.0.Variablen.Jalousie.Bad.Position.Current</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="KSE/QQ5$~%#(|RbW5FU0"> <field name="VAR" id="x[*._zY;OWzGcvD$t;-^">Prozent_Aufwä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">javascript.0.Variablen.Jalousie.Bad.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">javascript.0.Variablen.Jalousie.Bad.Position.Current</field> </block> </value> </block> </value> <next> <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="timeouts_settimeout" id="==3Zrt-TKk?@EX,GWiq]"> <field name="NAME">timeout</field> <field name="DELAY">10</field> <field name="UNIT">sec</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> </block> </statement> </block> </next> </block> </next> </block> </statement> <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">javascript.0.Variablen.Jalousie.Bad.Position.Target</field> </block> </value> <value name="B"> <block type="get_value" id="?#^EDc6n3;GsNC%`WMW|"> <field name="ATTR">val</field> <field name="OID">javascript.0.Variablen.Jalousie.Bad.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="8bGyP[;j|1PZy!{D3C?m">Prozent_Abwä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">javascript.0.Variablen.Jalousie.Bad.Position.Current</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">javascript.0.Variablen.Jalousie.Bad.Position.Target</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>
Hat jemand einen Rat?
-
-
@paul53 Diese Funktion kannte ich gar nicht. Sieht gut aus, teste ich gleich mal
Danke! -
@loverz und denke auch an den stop timeout, damit sich da nicht etwas aufschaukeln kann
-
@loverz
Hey, darf ich fragen wie bzw. wo du das gemacht hast?
Ich muss ähnliches machen. Habe Jalousieaktoren die in 100ms Einheiten angesteuert werden und möchte die über YAHKA in Homekit integrieren. Hast du eine Idee wo und wie ich die Umrechnung durchführen kann?
Besten Dank vorab -
@EnoceanEltako bin noch nicht dazu gekommen leider
Steht noch auf meiner Agenda, aber hab im Moment viel zu tun.Melde mich auf jeden Fall, wenn ich was habe.
Eines ist mir schon vorab aufgefallen:
Wenn man die Jalousie Zeitabhängig steuert (auch milisekundengenau) dann scheint es einen gewissen Versatz zu geben.Beispiel: 0-100 dauert 10 Sekunden
0-50 in 5 Sekunden klappt dann meistens noch und der Rollladen ist etwa bei der Hälfte.
Wenn ich aber auf 50 bin und zweimal je 1 Sekunde hoch und runter fahre, dann bin ich nicht mehr bei 50, sondern bestenfalls noch bei 30 oder 70.Scheint also sehr ungenau zu sein.
Ich habe bei den offiziellen Jalousieaktoren gesehen, dass man da eine Fahrzeitverlängerung in % angeben kann, welche vermutlich genau dieses Verhalten kompensiert.
Außerdem sollten wir hier an eine Art Referenzfahrt denken, welche die Endlagen definiert.
-
@EnoceanEltako soooo hab nun erste Erfolgsmeldungen zu berichten.
Mein Script ist erstmal funktionsfähig, wenn auch nicht sehr professionell.
Auch wenn es seine Tücken hat, funktioniert es:Script kann direkt in Blockly importiert werden
<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 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="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</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</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> </xml>
-
@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.