NEWS
Rolladensteuerung errechnen des Standes
-
-
Hallo
ich habe etwas gebraucht um nun alles zu programieren.
Man braucht unter Objekten 4 Variablen. Im meinen fall sind dies:
Rollo_Bad (Art:Zahl 0-100)
Rollo_Bad_Richtung (Art: Zeichenkette auf/zu)
Rollo_Bad_Schalter (Art: Logikwert)
Rollo_Bad_Soll (Art:Zahl 0-100)
https://www.bilder-upload.eu/bild-b720ea-1541794454.png.html ~~Die "Schalter" sind:
Rollade Bad zu
Rollade Bad auf
zum Importieren im Skript:
` > <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml"><block type="on" id="-hk[!J4+#8`b#1q/4]@1" x="-37" y="-337"><field name="OID">admin.0.Rollo_Bad_Soll</field>
<field name="CONDITION">ne</field>
<statement name="STATEMENT"><block type="timeouts_clearinterval" id="f]HBYG*K(=-v.dS-g?VD"><field name="NAME">unsereSchleife</field>
<next><block type="comment" id="awGc9FNE!0|4f8r7)jJk"><field name="COMMENT">Falls Schalter ein = ein dann schalte Motor aus und Schalter aus</field>
<next><block type="controls_if" id="MCuL(lHsfnfQDj}DV2hl"><value name="IF0"><block type="get_value" id="-Gl~mJe;TN+k%(Iw^x(2"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad_Schalter</field></block></value>
<statement name="DO0"><block type="update" id="Zm5UmM@kZow{jwL]./^:"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Neues_Objekt</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="V2D}sN!5!T{+UoJzc%PS"><field name="BOOL">TRUE</field></block></value>
<next><block type="controls_if" id="tYCDMgP;ffC`1d6h(;u)"><mutation else="1"></mutation>
<value name="IF0"><block type="logic_compare" id="zTc+?_%f1zN{5?7Txyy;"><field name="OP">EQ</field>
<value name="A"><block type="get_value" id="f/%q~^7}G8Jet6M,oT+~"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad_Richtung</field></block></value>
<value name="B"><block type="text" id="1|b`xNcJE)8E5oc[f5O]"><field name="TEXT">zu</field></block></value></block></value>
<statement name="DO0"><block type="toggle" id="{A:CeIf?#uKBIf{9NhxX"><mutation delay_input="false"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>
<field name="WITH_DELAY">FALSE</field></block></statement>
<statement name="ELSE"><block type="toggle" id="|9,:zHv*YDCAt~Bsu9mI"><mutation delay_input="false"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>
<field name="WITH_DELAY">FALSE</field></block></statement>
<next><block type="control" id="]Rd=9XO%jtM8E6.x*yGD"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="[[M#TNHtXz}W6CB}d+N-"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement>
<next><block type="variables_set" id="B7o=+#^;E:inQxfXLXx="><field name="VAR">counter</field>
<value name="VALUE"><block type="get_value" id="Yd,v6dy3n+o#NB`g:8~Q"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad</field></block></value>
<next><block type="comment" id="ut(S}7vCe;0gXa;1A86;"><field name="COMMENT">Prüfe Richtung / Schalte Motor / Schalte Schalter / Speicher Richtung</field>
<next><block type="controls_if" id="}Tc[x6-r-We.*]#7;jPP"><mutation elseif="1"></mutation>
<value name="IF0"><block type="logic_compare" id="h(U(pOI6[8Bcr{J_Mldf"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="V6d+wMK88Xr?le}6U#o!"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad_Soll</field></block></value>
<value name="B"><block type="get_value" id="kHzj#w6l2ceAJ1|wBUlv"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad</field></block></value></block></value>
<statement name="DO0"><block type="variables_set" id="!wFi^Iw0}bFVGTf}r?/z"><field name="VAR">richtung</field>
<value name="VALUE"><block type="math_number" id="S:#VTX+#[dIZU:0WG=b{"><field name="NUM">-1</field></block></value>
<next><block type="toggle" id="J(-*+5mgUSiz%!E@ljs7"><mutation delay_input="true"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<next><block type="control" id="Z%#8`8Vzxg6{tDeNP[x_"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="MmWqv/n8#k73vUL`BpYr"><field name="BOOL">TRUE</field></block></value>
<next><block type="update" id=";%p[[s2Gwwk+aVAgRwO#"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Richtung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="text" id="Xd-dwd4As,E1C.:p.!Js"><field name="TEXT">zu</field></block></value></block></next></block></next></block></next></block></statement>
<value name="IF1"><block type="logic_compare" id="JBN*igDsyu|e0Am!R8Yn"><field name="OP">GT</field>
<value name="A"><block type="get_value" id="bNZ8{hmyy!w(iS)DjqQ_"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad_Soll</field></block></value>
<value name="B"><block type="get_value" id="2Ye37!J|Sunn8{+g/Kjc"><field name="ATTR">val</field>
<field name="OID">admin.0.Rollo_Bad</field></block></value></block></value>
<statement name="DO1"><block type="variables_set" id="o0nK17BbK[o8j|Jsmc_1"><field name="VAR">richtung</field>
<value name="VALUE"><block type="math_number" id="Ns-Qe5gi1*(/nHScjWkZ"><field name="NUM">1</field></block></value>
<next><block type="toggle" id="lpj{5gS?^hg~4M,fdfk|"><mutation delay_input="true"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">700</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<next><block type="control" id="TfpbWV?LIl[Df%~^/~rQ"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="[D^-5I=-zE0Qc;wW|xo/"><field name="BOOL">TRUE</field></block></value>
<next><block type="update" id="}b|}p_*@pc(#Xu=0;tW8"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Richtung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="text" id="b
;KFd90|IQEuaN(?R;"><field name="TEXT">auf</field></block></value></block></next></block></next></block></next></block></statement><next><block type="comment" id="b_;Ju]{ELW;i]{59,fG]"><field name="COMMENT">Zustand aktualisieren und Ende wenn Soll erreicht oder max (min fehlt noch)</field>
<next><block type="timeouts_setinterval" id="w]h?In(s!~d]I7QmfTd;"><field name="NAME">unsereSchleife</field>
<field name="INTERVAL">700</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT"><block type="math_change" id="Fqr?I-7F()/dgF}wm:k9"><field name="VAR">counter</field>
<value name="DELTA"><shadow type="math_number" id=":c]qbMuR*(79!fD=t8l*"><field name="NUM">1</field></shadow>
<block type="variables_get" id="GNi4=q!R,!_Y*NJe7mcj"><field name="VAR">richtung</field></block></value>
<next><block type="control_ex" id="+BX6DN?T!Mk~`;W-Gzdf"><field name="TYPE">true</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="OID"><shadow type="field_oid" id="{r/:GqC=J.*~jm;B.EmA"><field name="oid">admin.0.Rollo_Bad</field></shadow></value>
<value name="VALUE"><shadow type="logic_boolean" id="uPjr7F%~]C)m-@x#fCY8"><field name="BOOL">TRUE</field></shadow>
<block type="variables_get" id="4b2yl12okSme#F1|M5`r"><field name="VAR">counter</field></block></value>
<value name="DELAY_MS"><shadow type="math_number" id="K@BUQtiO,0ixd^%~xX|y"><field name="NUM">0</field></shadow></value>
<next><block type="controls_if" id="|PmR)v+f1fTNuF-jwq/t"><value name="IF0"><block type="logic_compare" id=".=a8}2|b=IagAT(IcHvn"><field name="OP">EQ</field>
<value name="A"><block type="variables_get" id="oJ]wUkRi305|L4Eb=R.7"><field name="VAR">counter</field></block></value>
<value name="B"><block type="get_value" id="NJ0i:.g}
8z8nK_iz~~"><field name="ATTR">val</field><field name="OID">admin.0.Rollo_Bad_Soll</field></block></value></block></value>
<statement name="DO0"><block type="controls_if" id="?)00a5]PBzo!.-e@uP8_"><mutation elseif="1"></mutation>
<value name="IF0"><block type="logic_compare" id="bK#T3t10hj|iY/ynh{#*"><field name="OP">EQ</field>
<value name="A"><block type="variables_get" id="}~P#d6He`.2OnQJpIQel"><field name="VAR">richtung</field></block></value>
<value name="B"><block type="math_number" id="j:d_/wiP}M^B^rF)@+~p"><field name="NUM">-1</field></block></value></block></value>
<statement name="DO0"><block type="toggle" id="]eWfOnW!.Vyqlz.RC?ku"><mutation delay_input="false"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>
<field name="WITH_DELAY">FALSE</field>
<next><block type="control" id="(~oMiIm[VMzq!iJLS.zz"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="/wOr*aMbI~Y#+|`9Nk@k"><field name="BOOL">FALSE</field></block></value></block></next></block></statement>
<value name="IF1"><block type="logic_compare" id="u!^KI*te/sQ)-FCt`WEQ"><field name="OP">EQ</field>
<value name="A"><block type="variables_get" id=".rNO3Y}X4S;?1.5^MTCs"><field name="VAR">richtung</field></block></value>
<value name="B"><block type="math_number" id="MU`jx6Ns=o};Qvl!1o_7"><field name="NUM">1</field></block></value></block></value>
<statement name="DO1"><block type="toggle" id="Mq3c}.%ajCvNiDF-Ao83"><mutation delay_input="false"></mutation>
<field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>
<field name="WITH_DELAY">FALSE</field>
<next><block type="control" id="%c|Ve@)S+w!iCqNEE.1N"><mutation delay_input="false"></mutation>
<field name="OID">admin.0.Rollo_Bad_Schalter</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="*jWSJ|l=0XP8-GUNjVCd"><field name="BOOL">FALSE</field></block></value></block></next></block></statement>
<next><block type="timeouts_clearinterval" id="DCt0zTxKV#udTsqNd90x"><field name="NAME">unsereSchleife</field></block></next></block></statement>
<next><block type="controls_if" id="WJDqh;fUDlnlZBuXoLp{"><value name="IF0"><block type="logic_compare" id="XeA0m#q.5UI%J1]jW6"><field name="OP">EQ</field>
<value name="A"><block type="variables_get" id="=h[@TF=f#}NWpW{ugFa["><field name="VAR">counter</field></block></value>
<value name="B"><block type="math_number" id="@|9RCDK(KI,3EB+w!y,+"><field name="NUM">101</field></block></value></block></value>
<statement name="DO0"><block type="timeouts_clearinterval" id="*Y6H)Sz]Vl717wjw7LP#"><field name="NAME">unsereSchleife</field></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement>
<next><block type="comment" id="q?Sa)Lu@zN|9etj.9YG}"><field name="COMMENT">rolllade variabel</field></block></next></block></xml> `
Ich hoffe ihr könnt was damit anfangen.
Rollo_Bad_Soll (Art:Zahl 0-100) kann nun in Vis eingefügt werden und schon funktioniert es. :D~~
5992_rolllade.png@snotech mir gefällt deine Programmierung und würde das gerne mal ausprobieren und damit rumspielen. ich kann nur leider das Script nicht importieren. Ich bekomme immer den Fehler Error: textToDom was unable to parse. Ich muss doch nur deinen Code in ein neues Blockly importieren oder?
-
@snotech mir gefällt deine Programmierung und würde das gerne mal ausprobieren und damit rumspielen. ich kann nur leider das Script nicht importieren. Ich bekomme immer den Fehler Error: textToDom was unable to parse. Ich muss doch nur deinen Code in ein neues Blockly importieren oder?
@ambo sagte in Rolladensteuerung errechnen des Standes:
Error: textToDom was unable to parse
Script wurde durch die Forumsumstellung leider komplett vermurkst. Kann es auch nicht mehr reparieren.
Vielleicht stellt es @snotech nochmal rein. -
@ambo sagte in Rolladensteuerung errechnen des Standes:
Error: textToDom was unable to parse
Script wurde durch die Forumsumstellung leider komplett vermurkst. Kann es auch nicht mehr reparieren.
Vielleicht stellt es @snotech nochmal rein.@Negalein vielen Dank
aber @snotech war wohl seit 1 Jahr nicht mehr online :-( schade.
Hat sonst wer zufällig dieses Skript?Ich suche nach einer Lösung, dass ich einen Prozentwert eingebe und die Jalousie fährt dann ungefähr dort hin. - Nice to have wäre eine Neigung der Lamellen am Schluss der Fahrt.
Meine Steuerung kann leider nur hoch und runter - aber immerhin wirft sie einen errechneten Positionswert zum auslesen aus. -
@Negalein vielen Dank
aber @snotech war wohl seit 1 Jahr nicht mehr online :-( schade.
Hat sonst wer zufällig dieses Skript?Ich suche nach einer Lösung, dass ich einen Prozentwert eingebe und die Jalousie fährt dann ungefähr dort hin. - Nice to have wäre eine Neigung der Lamellen am Schluss der Fahrt.
Meine Steuerung kann leider nur hoch und runter - aber immerhin wirft sie einen errechneten Positionswert zum auslesen aus.@ambo sagte in Rolladensteuerung errechnen des Standes:
Hat sonst wer zufällig dieses Skript?
der Fehler liegt in der ersten Zeile, jetzt lässt es sich wieder importieren. Ich kann allerdings keine Gewähr für die Richtigkeit übernehmen, noch irgendwelchen Support, habe das nur wieder importierbar gemacht :-)

-
@ambo sagte in Rolladensteuerung errechnen des Standes:
Hat sonst wer zufällig dieses Skript?
der Fehler liegt in der ersten Zeile, jetzt lässt es sich wieder importieren. Ich kann allerdings keine Gewähr für die Richtigkeit übernehmen, noch irgendwelchen Support, habe das nur wieder importierbar gemacht :-)
