NEWS
(Frage) logik Problem Blocky
-
Hallo,
ich komme gerade nicht weiter:
Ich möchte nen Schalter für zwei Rolladen bauen. Die Rolladen sollen immer gemeinsam fahren. Sie fahren immer auf 0%- oder 100%-Stellung. Der Schalter soll nur einen Pfeil runter zeigen, wenn die Rolladen oben sind, und nur einen Pfeil nach oben, wenn sie unten sind.
Ich habe gerade schon mit zwei Variablen gebastelt, einer für den Status, einer für den Taster, aber irgendwie sind mir die Bulb-funktionen (Extrasteuerung) auch zu unklar um da richtig weiter zu kommen.#
Vielleicht habt ihr ja einen viel besseren Weg… ich hoffe einfach mal!
-
Hast du HM Aktoren oder andere? Wenn andere zeig doch mal die Datenpuntke davon. Bei HM kannst auf die Bewegung triggern und den anderen Rollanden mitfahren lassen.
Enrico
-
Hast du HM Aktoren oder andere? Wenn andere zeig doch mal die Datenpuntke davon. Bei HM kannst auf die Bewegung triggern und den anderen Rollanden mitfahren lassen. ` Ja, habe Homamtic. Wie würdest du das machen?
Ich hab jetzt gerade mal (ohne deinen Hinweis) diesen Block gemacht:
Dann funktioniert zwar wenn ich den schalter "rolladen_kueche_oben" umschalte, und ich kann die Grafik einfach über true/false umswitchen, aber was passiert, wenn jemand von Hand die Rolladen bedient? Dann stimmt plötzlich die Variable nicht und die Rolladen fahren direkt wieder zurück… ??
-
Mit diesem zusätzlichen Block sollte es gehen…
Dann wird bei Veränderungen der Rolladen immer 1 Minute gewartet (bis sie zum Ziel gefahren sind) und dann wird bei Abweichungen der Datenpunkt umgeschaltet.Oder habe etwas vergessen?
-
Dann funktioniert zwar wenn ich den schalter "rolladen_kueche_oben" umschalte, und ich kann die Grafik einfach über true/false umswitchen, aber was passiert, wenn jemand von Hand die Rolladen bedient? Dann stimmt plötzlich die Variable nicht und die Rolladen fahren direkt wieder zurück… ?? `
Nun,dann wird 1x die Optik (Widget) nicht stimmen.Du fragst ja, richtigerweise, den Level vorher ab.
Grüße
-
Dann wird bei Veränderungen der Rolladen immer 1 Minute gewartet (bis sie zum Ziel gefahren sind) und dann wird bei Abweichungen der Datenpunkt umgeschaltet.
Oder habe etwas vergessen? `
???? :roll:Sage doch einfach mal in Worten was Dein Script macht.
Grüße
-
Ich bin noch bis 22 Uhr arbeiten, wenn ich zu Hause bin, schreib ich mal meine Gedanken dazu.
Enrico
-
Ich bin noch bis 22 Uhr arbeiten, wenn ich zu Hause bin, schreib ich mal meine Gedanken dazu.
Enrico ` Sehr gerne! Danke.
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
-
Sehr gerne! Danke. `
Stell doch mal einen Export rein.
Dann können wir besser basteln.
Grüße
-
Gerne.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="!scELpDHGSp.3mtbL]Fl" x="337" y="-63"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="~=)Z(*cdxLCdqgfolX*,"><field name="oid">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="tjFfAB)f!x{S3xOz9]`["><value name="IF0"><block type="logic_compare" id=";Kc@i|8PVcr6TvWcSO0q"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Ys7!z9P@QrC*g9n7B/@."><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id="iHab!h_@Qv3w]Aj3=;:%"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="KM8EhQNmz7u~%Se,WH#;"><value name="IF0"><block type="logic_compare" id="@]nTuG+V-Wheas|7mp,8"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="m{~4/%(,RMGKAz4nEL/]"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="math_number" id="Po{2+%~Pu`W6ARop}EwZ"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="O=O)y^58]vlEy|=Oi`oG"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="4B*)/!]=*Rc4GutueA^x"><field name="NUM">100</field></block></value> <next><block type="control" id="s8Iir/Q^mWa{F~%Elq/}"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="u1TLD*+](oc%@h;:8s/R"><field name="NUM">100</field></block></value></block></next></block></statement></block></statement> <next><block type="controls_if" id="pKZ56)aRj;fK#/w/s^x%"><value name="IF0"><block type="logic_compare" id="~=(D0{QQ,HI[qW5l+5Is"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="O7?d05+Lz/*6Sy~8QRrl"><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id="4n/_m%haum^#e?2s!PZC"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="c+lNW=k)([MRHBM`709["><value name="IF0"><block type="logic_compare" id="30766Znt34%T;Kx9*J~?"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=")Or4_K5/ILKjtiS6Eky!"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="math_number" id="zph~k]Di:s19~#48Yng3"><field name="NUM">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="5!aUf8NkB(/W`)hGnF-5"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="JS|oFaQ,@_|.h9WkTKOd"><field name="NUM">0</field></block></value> <next><block type="control" id="a-^g2!M),g%j?fi~)i@7"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="^?BV^lwKI.-6]]sA1W`:"><field name="NUM">0</field></block></value></block></next></block></statement></block></statement></block></next></block></statement> <next><block type="on_ext" id="o;pq.{)MMWlN#u:d|l7b"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="EN6WTm@jpMzd!%4X/Mk("><field name="oid">hm-rpc.0.JEQ0109063.1.LEVEL</field></shadow></value> <statement name="STATEMENT"><block type="timeouts_settimeout" id="K!=m(|?2;QssSe(V-U{L"><field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="X!BS92E|)e:U]v;;x|SP"><value name="IF0"><block type="logic_compare" id="hb2gfXdjQcNm9;p7aYu}"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="a{jIvxX(!P~DXhfxMt_w"><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id=";.4wyL9:o2FzO9D({kDd"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="+WO^;%uM{yDld8KpVN.7"><value name="IF0"><block type="logic_compare" id="jOrs=8@MLo![35/%@,[)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="EU-XFS9q*Wu0Li_KI`13"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="math_number" id="zhwR@1A8dbnGp+/Ig9HE"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="K[){pmIa#0y!8!F!;Ztk"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="F]OOPX~sstIRQ!Tvt`{M"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> <next><block type="controls_if" id="q_]V~qgBZyPSS.TKas;0"><value name="IF0"><block type="logic_compare" id="Tk9b/AN=b#97tRD_q^Gm"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="`7V9zE[FR^.^czOxR;m}"><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id="SIfgPjex~N(Zd6M6n:7q"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="^{l^@LGHW*7]42ZAty:l"><value name="IF0"><block type="logic_compare" id=";T_g!zFZR:;?Ex`o#(h2"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="EU;WYFgN`#=ISwmxYrVv"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="math_number" id="X.:_9U3X~1hEQ(f(x]^B"><field name="NUM">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="99:l#fPN/NPtCAxzg~r|"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="j+=.Hzpz0}1o[ACRgqn4"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block></next></block></xml>
-
So, ich fange mal an, wie ich deine Anforderung verstanden habe.
Du möchtest mit einem Schalter im vis beide Rollladen schalten, soll das auch so sein, wenn du direkt am Taster schaltest, oder soll diese "Zwangsgemeinsamkeit" abschaltbar sein, z.B. für Wartungszwecke? Ich würde das so machen.
Wenn du beide Fragen mit JA beantworten solltest, kannst du auf diesen Datenpunkt reagieren:
!
Die Zustände sind NONE, UP und DOWN. Also würde ich so reagieren, egal welcher Rollladen geschaltet wird, soll der andere in die gleiche Richtung gefahren werden. Damit brauchst du z.B. im vis nur einen Schalter, weil der andere Rollladen ja auch gesteuert wird.
!
Export:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="Tvh%OC]%9flS9qajVz}8" type="comment" x="288" y="13"><field name="COMMENT">auf beide "Directions" reagieren</field>
<next><block id="hLG*~kY8/q-Ai#3y=@O_" type="on_ext"><mutation items="2"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow id="qoWiEAaAT,Zi(6q*1?V4" type="field_oid"><field name="oid">default</field></shadow></value> <value name="OID1"><shadow id="X-8p[)B7KTSK-8.G^3JU" type="field_oid"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block id="1X*sc/T`4{*{EgsIXuy1" type="comment"><field name="COMMENT">Rolladen 1</field> <next><block id="q.Xz]*WpU6*,(j0WQrxb" type="controls_if"><mutation elseif="1"></mutation> <value name="IF0"><block id="PTN:/48ZB9wJe_-Rn`T}" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="gr+iT.yGJ=[VCIz5sqT%" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="H:QBzZ~G*;}~`3uM-VHe" type="text"><field name="TEXT">UP</field></block></value></block></value> <statement name="DO0"><block id="d/Z;GT9QAxas?NDioihI" type="comment"><field name="COMMENT">Rollladen2 Level</field> <next><block id="Rr4ww}KP4d5sD)ETIQ8/" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="6;t%P+/|?,`1G-KS6UL#" type="math_number"><field name="NUM">100</field></block></value></block></next></block></statement> <value name="IF1"><block id=":K-W41+a//o]y49@a,p+" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="+oQeB:pf!Sw))e|]-qUK" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="7}]hAQ5RLh@U{a/xzSXy" type="text"><field name="TEXT">DOWN</field></block></value></block></value> <statement name="DO1"><block id="h5|`T)@GWmK.N+bZ8%.?" type="comment"><field name="COMMENT">Rollladen2 Level</field> <next><block id="D1Mk=}5E_f=/?7a/cG8W" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="-n3Y[W9i*0zfw{S.t,*I" type="math_number"><field name="NUM">0</field></block></value></block></next></block></statement> <next><block id=";b7]{5P++]}#3!JAJkWw" type="comment"><field name="COMMENT">Rollladen2</field> <next><block id="6Xamo}E}l6*I`(nxAjXI" type="controls_if"><mutation elseif="1"></mutation> <value name="IF0"><block id="j%ey!doUjsmK4_QS;-.o" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="jGe]6}!%4mid@c`WXJzU" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="Xy|]W^PR{Ue{^57(@+5`" type="text"><field name="TEXT">UP</field></block></value></block></value> <statement name="DO0"><block id="hIzf#u@65X-pN[3xET`{" type="comment"><field name="COMMENT">Rolladen 1 Level</field> <next><block id="L4:x+uSBI*|O%O?DNF/V" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="Z/Mb6u?rwk5^thGot]ww" type="math_number"><field name="NUM">100</field></block></value></block></next></block></statement> <value name="IF1"><block id=")c%/1u0m#=iNpkehqxQo" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="^[.-yDPY@iY:b_q~BM/#" type="get_value"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block id="Ba=*wb?n4nWX`N8,:5m|" type="text"><field name="TEXT">DOWN</field></block></value></block></value> <statement name="DO1"><block id="v].nH7~-%l)OL{k{@nwd" type="comment"><field name="COMMENT">Rolladen 1 Level</field> <next><block id="zXW;XF!wcnqF~XJ9g)4R" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="wY;3D%OT5tP8m]C_|Zgx" type="math_number"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml>
Damit würden immer beide Rollläden gleichzeitig fahren. Wenn nötig kannst du bei "falls" noch eine zweite Bedingung, eben die oben beschriebene Abschaltung der Zwangsehe ;), einfügen. So nun bin ich mal gespannt was ihr sagt. Zwischendurch kam ja schon der Export, den sehe ich mir mal an! :D Enrico
-
Möchtest du die Endpunkte der Rollläden auch visualisieren? Dann würde ich auf die beiden Level triggern, wenn beide 0 dann Datenpunkt = zu wenn beide 100 dann Datenpunkt auf.
Zum schalten meines Beispiels kannst du jeden Button nehmen, mit dem du z.B. einen Wert eingeben kannst und damit einen von beiden Rollläden ansteuern. Als i-Tüpfelchen kannst du ja, falls diese Zwangsehe abschaltbar ist, noch Button für den zweiten Rollladen einblenden, wenn Zwangsehe aus! Dann können notfalls auch beide Rollläden separat geschaltet werden.
Enrico
-
Wow, das sieht schon mal super aus! Vielen Dank RappiRN!
Ich glaub ich muss jetzt ins Bett, deshalb werde ich die Umsetzung deiner Ratschläge auf morgen verschieben müssen. Trotzdem schon jetzt vielen Dank!
Damit die Intention klarer wird, hier noch ein Bild meines Views. Ich möchte halt für beide Zimmer jeweils nur noch einen Knopf anzeigen:
-
Ich habe einen etwas anderen Ansatz als RappiRN.
Seine Idee der "Scheidung" finde ich gut.
Grundsätzlich ist es immer ein Problem wenn manuell in einen Automatismus eingegriffen wird.
Bei meiner Lösung laufen die Rollos immer in den gleichen Zustand.
Auch Beschattungshöhen sind auch möglich.
(hoffentlich sind beide Rollos gleich)
1. Bedienung über VIS / Variable "virtuelle_datenpunkte….."
Wird nicht aktualisiert wenn manuell gefahren wird.
Widget einfach klicken um den Zustand zu aktualisieren.
Da passiert nicht, weil die aktuellen Level vorher abgefragt werden.
2. Steuerung über Taster, egal welcher.
Zum Importieren
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="!scELpDHGSp.3mtbL]Fl" x="13" y="-112"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="~=)Z(*cdxLCdqgfolX*,"><field name="oid">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="tjFfAB)f!x{S3xOz9]`["><value name="IF0"><block type="logic_compare" id=";Kc@i|8PVcr6TvWcSO0q"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Ys7!z9P@QrC*g9n7B/@."><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id="iHab!h_@Qv3w]Aj3=;:%"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="procedures_callnoreturn" id="R#fcEQ,w|i3I9Z,qy8N8"><mutation name="etwas tun"><arg name="Level"></arg></mutation> <value name="ARG0"><block type="math_number" id="MT[73+2SEc;C,6asW{Jy"><field name="NUM">100</field></block></value></block></statement> <next><block type="controls_if" id="pKZ56)aRj;fK#/w/s^x%"><value name="IF0"><block type="logic_compare" id="~=(D0{QQ,HI[qW5l+5Is"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="O7?d05+Lz/*6Sy~8QRrl"><field name="ATTR">val</field> <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> <value name="B"><block type="logic_boolean" id="4n/_m%haum^#e?2s!PZC"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="procedures_callnoreturn" id="_jkhL1@9i@.5Cc*-E_WT"><mutation name="etwas tun"><arg name="Level"></arg></mutation> <value name="ARG0"><block type="math_number" id="u?FJSD;}]-kw[d6(`J6R"><field name="NUM">0</field></block></value></block></statement></block></next></block></statement> <next><block type="on_ext" id="o;pq.{)MMWlN#u:d|l7b"><mutation items="2"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="EN6WTm@jpMzd!%4X/Mk("><field name="oid">hm-rpc.0.JEQ0109063.1.LEVEL</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="AYpOu;p{zWk8|j}QVdd+"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="procedures_callnoreturn" id="#Pr(7/+o:!S1D!+Mb|Bh"><mutation name="etwas tun"><arg name="Level"></arg></mutation> <value name="ARG0"><block type="on_source" id="6J~bvl)4q,S!^alYQw2P"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block>
<block type="procedures_defnoreturn" id="Q0a1#E_-?lT|TFt@9R.." x="13" y="363"><mutation><arg name="Level"></arg></mutation>
<field name="NAME">etwas tun</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK"><block type="controls_if" id="U7M=GzY2pWZKL6W1-GV"><value name="IF0"><block type="logic_compare" id="@]nTuG+V-Wheas|7mp,8"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="m{~4/%(,RMGKAz4nEL/]"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="variables_get" id="k[@]!12ntI0TB6Z~KE%F"><field name="VAR">Level</field></block></value></block></value> <statement name="DO0"><block type="control" id="5!aUf8NkB(/W
)hGnF-5"><mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="variables_get" id="4V.9:,^UV:E!mUEy^r^p"><field name="VAR">Level</field></block></value></block></statement>
<next><block type="controls_if" id="TDgac.e{5kL`SOp|-,T3"><value name="IF0"><block type="logic_compare" id="mZ)5=0N.nhfFxOu!fa-."><field name="OP">NEQ</field>
<value name="A"><block type="get_value" id="Fc|H6ESN6DBDt4DXlX6E"><field name="ATTR">val</field>
<field name="OID">ID auswählen</field></block></value>
<value name="B"><block type="variables_get" id="7cvl+lOS+t=H%-IKA%."><field name="VAR">Level</field></block></value></block></value>
<statement name="DO0"><block type="control" id="a-^g2!M),g%j?fi~)i@7"><mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="variables_get" id="k]S4x:Ng)5^z_wm19Qc"><field name="VAR">Level</field></block></value></block></statement></block></next></block></statement></block></xml>! ````
Die ObjektID des zweiten Rollos muss noch eingesetzt werden.
Grüße und Gute Nacht
-
Da kann man wieder den Wissensstand sehen. Ich habe das ja relativ einfach gemacht, aber ich glaube auch zu verstehen was du da zusammengeklickt hast.Wir lassen mrMuppet einfach mal testen, ob das erreicht wird was er möchte!
Eine Frage hab ich noch: Was meinst du mit:
Grundsätzlich ist es immer ein Problem wenn manuell in einen Automatismus eingegriffen wird. ` ?
In welchen Automatismus wird denn deiner Meinung nach eingegriffen? Die Rollläden (oder Rollladen?) fahren doch trotzdem automatisch hoch und runter!? :?:
Enrico
-
In welchen Automatismus wird denn deiner Meinung nach eingegriffen? Die Rollläden (oder Rollladen?) fahren doch trotzdem automatisch hoch und runter!? :?: `
Der "Automatismus" ist Variable schalten = beide Rollos fahren rauf/runter.Man hat aber die Möglichkeit über einen Taster die Rollos manuell zu schalten.
Schon hat man eingegriffen und man muss ein Konstrukt bauen um dies wieder auszugleichen.
Und dieses Konstrukt kann sehr umfangreich werden.
Denke z.B. an die Aktualisierung der Variablen, damit der Zustand in VIS aktuell dargestellt wird.
OK. Man kann sie im Blockly entsprechen anpassen.
Die wird aber auch gleichzeitig getriggert!
Und schon geht's los. Zwischenvariable, aktuellen Zustand, vorherigen Zustand usw. usw.
Das kann schon umfangreich und unübersichtlich werden.
Und hier geht es nur um 2 Rolladen EDIT: hier stand was dummes
Grüße