NEWS
[Gelöst] Blockly - Ventilatorsteuerung Verständnisfrage
-
Hallo,
ich habe die Ventilatorsteuerung teilweise aus diesem Thread übernommen und abgeändert, die soweit auch funktioniert.
http://downloads.iobroker.com/forum/vie … 66&p=87472
Bei dem rechten Teil, Taster AUS-Runter habe ich bei "erhöhe um -1" angegeben. Funktioniert Technisch aber in der Variable "WZ_Vent_Status" bleibt die "1" stehen auch wenn der Ventilator aus ist da es so nie "0" werden kann. War ein Versuch ob meine Denkweise überhaupt funktioniert.
Frage, gibt es zu der Mathematikfunktion "erhöhe" kein Gegenstück, habe ich es nur nicht gefunden oder lässt sich das nur in Javascript bewerkstelligen?
Die zweite Frage, in der Visualisierung habe ich einen Slider 0-3 den ich aber nicht direkt in die Variable reinschreiben lassen kann bzw. funktioniert es nicht. Alle Versuche sind bisher gescheitert, bin Anfänger was Blockly betrifft deshalb kann es leicht möglich sein das ich irgendwo wieder Blödsinn gemacht habe.
Die andere Möglichkeit die mir noch einfällt über einen weiteren Trigger die Sliderwerte extra abfragen. Da gibt es aber wahrscheinlich elegantere Lösungen denke ich. Kann mir jemand auf die Sprünge helfen?
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="Z!QKQ.j3KO3.!Xm=p=!h" x="-288" y="113"><field name="COMMENT">bei Programmstart aktuellen Satus holen</field>
! <next><block type="procedures_callnoreturn" id="}GSXfCDly^61Cd/vYK]J"><mutation name="ChkAktuelleStufe"></mutation>
! <next><block type="comment" id="0Z0e6B4C3K5f}{DgQjg"><field name="COMMENT">Taster EIN-Rauf triggern</field>
! <next><block type="on_ext" id="e}UNl5hWF=J#Cg?R58v"><mutation items="1"></mutation> ! <field name="CONDITION">ne</field> ! <value name="OID0"><shadow type="field_oid" id="ure}rvmP6*qR
@CjX1Yr"><field name="oid">mqtt.0.EG_WR_Sensor2.WZ_Vent.Btn1.Switch</field></shadow></value>
! <statement name="STATEMENT"><block type="math_change" id="i7hk@1g06ZS#}qLYD5)R"><field name="VAR">WZ_Vent_Status</field>
! <value name="DELTA"><shadow type="math_number" id="h]GJzowOU.e%ss*~Db]"><field name="NUM">1</field></shadow></value> ! <next><block type="debug" id="67r!VpTlQsgV)%{5rpa3"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="z5DYadh4uCisX9K
48C;"><field name="TEXT">Ventilator Stufe 1</field></shadow></value>
! <next><block type="controls_if" id="KOA?j/RGoQI6W;x]OLp_"><mutation elseif="2"></mutation>
! <value name="IF0"><block type="logic_compare" id="bcI}^Ll#f3c%4..hDct}"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="F-RQgb
i?gb(kNX6Ta;"><field name="VAR">WZ_Vent_Status</field></block></value>
! <value name="B"><block type="math_number" id="#zmWh9f@_HElE!qk:8K"><field name="NUM">1</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="=l=6Wnx^qQMFKvTpV:Vo"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="UW
?gaRFb]GR@)!SvI="><field name="TEXT">1</field></block></value> ! <next><block type="control" id="0^G7c_f7rU;wZfGnNR,D"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="a=K/w]}]/MXFOxymZdkb"><field name="TEXT">1</field></block></value> ! <next><block type="control" id="3xyz5_1#k=?#Nmge/*P8"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="mrbE[/u.91.EMf!#Vi_,"><field name="TEXT">0</field></block></value> ! <next><block type="debug" id="l,4uNtYnscn!T/Bq-Ewo"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="c.EF%3b%6{qA1=_a2.Vc"><field name="TEXT">Ventilator aus</field></shadow></value></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="?k9|*;C#o6Z]6}2{@b+r"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="h-+zhNuDHcHgSB{xw6hZ"><field name="VAR">WZ_Vent_Status</field></block></value> ! <value name="B"><block type="math_number" id="}E|#Dy}}TwP)e})j2l8Z"><field name="NUM">2</field></block></value></block></value> ! <statement name="DO1"><block type="debug" id="6ur_dXm26a=wbCcNy{mn"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id=",i]HP.Sze9)z#85/;+.q"><field name="TEXT">Ventilator Stufe 2</field></shadow></value> ! <next><block type="control" id="F4GtC9{wV2VKqMQBi|3d"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="xTQrxh9Rb3-O=A]o
Btw"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="%O)0H9{c:O9d|p)WP}1o"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="9Yc=u}D]mr9Te-Fi(2R"><field name="TEXT">0</field></block></value> ! <next><block type="control" id="}m8gyZr}LsJM(serPw+^"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="Hed.8|QK6R{r1Fp!iPD~"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement> ! <value name="IF2"><block type="logic_compare" id="F31YSuhyy=UZIMEf|E)Q"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="^fQ(s1.;WgCLCmejdnl)"><field name="VAR">WZ_Vent_Status</field></block></value> ! <value name="B"><block type="math_number" id="h^xkEa[AI;d(yS]zX/xc"><field name="NUM">3</field></block></value></block></value> ! <statement name="DO2"><block type="debug" id="k]AXs;uL1J^,S/YZQ:N5"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="6b^UshZlhjxd~j(Y1Q1u"><field name="TEXT">Ventilator Stufe 3</field></shadow></value> ! <next><block type="control" id="*_Yh+/PDKL,qSHpJV}FP"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="6.sA|kR@
-x49^lodV8"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="<EMAIL email=" dv1@ofb6ba.lqg-x"="">Dv1@ofB6BA.Lqg-X@q|#">
! <mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="vA#aHxue4GEY+CP.wRqB"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="{MddEO=mVOH(E43in(o5"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="6AH8ta7CK9QjsAE1(W|f"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block>
! <block type="comment" id="odAa[U?r%CoY.Up%z#4m" x="663" y="112"><field name="COMMENT">bei Programmstart aktuellen Satus holen</field>
! <next><block type="procedures_callnoreturn" id="8Ed(Jq=C6sEWl/eXjV8j"><mutation name="ChkAktuelleStufe"></mutation>
! <next><block type="comment" id="3%/:CU]Zmr_bY~7laP"><field name="COMMENT">Taster AUS-Runter triggern</field> ! <next><block type="on_ext" id="k
86A234!8[EZ}GY~pA"><mutation items="1"></mutation>
! <field name="CONDITION">ne</field>
! <value name="OID0"><shadow type="field_oid" id=";#0FSkqxoNOb_v/Lq;k1"><field name="oid">mqtt.0.EG_WR_Sensor2.WZ_Vent.Btn2.Switch</field></shadow></value>
! <statement name="STATEMENT"><block type="math_change" id="C0|@9a]A1FC/w(tMVp4S"><field name="VAR">WZ_Vent_Status</field>
! <value name="DELTA"><shadow type="math_number" id="MK_p]KafCK@6bTp?zp~"><field name="NUM">-1</field></shadow></value> ! <next><block type="debug" id="
MKW-pkv2Apy0Vr_{ouI"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="DtNtyX=t1K;:Xc5fDUaJ"><field name="TEXT">Ventilator Stufe 0</field></shadow></value>
! <next><block type="controls_if" id="p4-Wru5.8[w,juvoPmsN"><mutation elseif="2"></mutation>
! <value name="IF0"><block type="logic_compare" id="=b1,BH%0:k/;0!ZajZ2n"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="0yb02Q@kEmA;ol6!)4E"><field name="VAR">WZ_Vent_Status</field></block></value>
! <value name="B"><block type="math_number" id=")WC;EoEqF7E]5/Nd1iSn"><field name="NUM">0</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="3w6h*q=ec.)u;Bn0IJq"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="scdgW[Z|%tatt[v}_1,u"><field name="TEXT">0</field></block></value> ! <next><block type="control" id="I^f3kx6U[BD+podwo?AB"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="Gei4YZO|^krXLTo8a#ak"><field name="TEXT">0</field></block></value> ! <next><block type="control" id=":bVb5XkDBzn,{|NIp9yV"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="KmlF^Kt~__xbU-c87Y:B"><field name="TEXT">0</field></block></value> ! <next><block type="debug" id="5-L=PDdj^rZ1xQxY64z:"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="J%=yq-j5A#Fv!gL?{CRg"><field name="TEXT">Ventilator aus</field></shadow></value></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="IHhNe7[t}hS9x]|9THD{"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="RWcfh
M2p^)I+|va4Nnc"><field name="VAR">WZ_Vent_Status</field></block></value>
! <value name="B"><block type="math_number" id="K@m-=nP,4r;Fu@B!|JFy"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO1"><block type="debug" id="8)dj?Dr]6~~HV~%q31r["><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="IkJ6}[zn^CvS~T.Dvor5"><field name="TEXT">Ventilator Stufe 1</field></shadow></value>
! <next><block type="control" id="~6E0HOkzm]k:n(/S,-B:"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="%~nrb6)ezK^quBuD!N9b"><field name="TEXT">1</field></block></value>
! <next><block type="control" id=")w|}cRKeR|Atf83O+n[S"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="NO8U+8pfd,v9Wt,rwF2g"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="bv!3vR+KWue~|BCI)99c"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="Wyp]-P=M,n.I5!JtjRD{"><field name="TEXT">0</field></block></value></block></next></block></next></block></next></block></statement>
! <value name="IF2"><block type="logic_compare" id="#|SkwM3GTGU,ZY;eDS^"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="sS{[ff/~1?7eoV/E1M-"><field name="VAR">WZ_Vent_Status</field></block></value>
! <value name="B"><block type="math_number" id="g]HiCff!hO)tW7M@14JT"><field name="NUM">2</field></block></value></block></value>
! <statement name="DO2"><block type="debug" id=")99kNnDO~Rc%Ywk:BM="><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="{bWKztAXjYdU.c#(Ym2J"><field name="TEXT">Ventilator Stufe 2</field></shadow></value> ! <next><block type="control" id="@mlw3AZHFY!jEv!x(3#/"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="/jW~u*gq@fo=%
t1~o4+"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="Ef0S({1jB*|p+1ciLx5"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="Pq86p/Ba3VK!!g!f7^q;"><field name="TEXT">0</field></block></value>
! <next><block type="control" id="1n%3L~nuq,wRr1_]ewE"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="*G!^yDg.DNEgtb}-wm8D"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block> ! <block type="procedures_defnoreturn" id="F:WMMe_jqAE@
Wt2s?/a" x="-288" y="1062"><field name="NAME">ChkAktuelleStufe</field>
! <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
! <statement name="STACK"><block type="variables_set" id="I=ninml.6uk@EAErEA~W"><field name="VAR">WZ_Vent_Status</field>
! <value name="VALUE"><block type="math_number" id="Jy)SAj.Do2k#j}bQ1ay@"><field name="NUM">0</field></block></value>
! <next><block type="controls_if" id="Abt5f0Pn+C4AK%sB2aU#"><mutation elseif="2"></mutation>
! <value name="IF0"><block type="logic_compare" id="pyo)QC|]cqrAdaX,]?4("><field name="OP">EQ</field>
! <value name="A"><block type="logic_operation" id="[]T.hE}|^/}E_xeF8z0F" inline="false"><field name="OP">AND</field>
! <value name="A"><block type="get_value" id="Isy6k|MC=f1c%]cLj+M"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="get_value" id="rqrpO=VIy7]9@~|j,Ci"><field name="ATTR">val</field> ! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value></block></value> ! <value name="B"><block type="logic_boolean" id="^q%;1+]Jx%O.E}9RJ+KC"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="-xg=d8Aon{?Y|c@X4F
t"><field name="VAR">WZ_Vent_Status</field>
! <value name="VALUE"><block type="math_number" id="zCYBXO[xYo.h/,a~]nH8"><field name="NUM">1</field></block></value></block></statement>
! <value name="IF1"><block type="logic_compare" id="|Y1P|BNP5T(}jMV4|}5m"><field name="OP">EQ</field>
! <value name="A"><block type="logic_operation" id="h0gqOhm~iA#ud!3q13M%" inline="false"><field name="OP">AND</field>
! <value name="A"><block type="get_value" id="q_CVJ(m/!)3-V;zL(rh"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="get_value" id="}Y])gUs#p+1:r|q^U{6"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value>
! <value name="B"><block type="logic_boolean" id="LC?ssb?a@clQocL:^|tp"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO1"><block type="variables_set" id="bWWI/DOve=fycpw+l|AP"><field name="VAR">WZ_Vent_Status</field>
! <value name="VALUE"><block type="math_number" id="1+vRh{rH/}!V)e1Y*)w"><field name="NUM">2</field></block></value></block></statement>
! <value name="IF2"><block type="logic_compare" id="7@(hFcGj-P3VV83{zQc"><field name="OP">EQ</field> ! <value name="A"><block type="logic_operation" id="6~yZ}:!tlW-nDYqC)Q3/" inline="false"><field name="OP">AND</field> ! <value name="A"><block type="get_value" id="uxwGKd~!_t0,P
SxbS(G"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="logic_operation" id="z%wNs(MiZfW?aDwQlmq" inline="false"><field name="OP">AND</field> ! <value name="A"><block type="get_value" id="f,H9#!_5B}~]tB6QzgBi"><field name="ATTR">val</field> ! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value> ! <value name="B"><block type="get_value" id="Nj
!fps|:@9;JEm.,X=g"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value></block></value>
! <value name="B"><block type="logic_boolean" id="ud:@]!IceM-2m6_/Ks/,"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO2"><block type="variables_set" id="MPt:;#[AHLF~(+fy8ziz"><field name="VAR">WZ_Vent_Status</field>
! <value name="VALUE"><block type="math_number" id="32b:ot?8DR+?BwO_,hI="><field name="NUM">3</field></block></value></block></statement></block></next></block></statement></block></xml>Gruß
Mario
4173_auswahl_001.png -
Bei dem rechten Teil, Taster AUS-Runter habe ich bei "erhöhe um -1" angegeben. Funktioniert Technisch aber in der Variable "WZ_Vent_Status" bleibt die "1" stehen auch wenn der Ventilator aus ist da es so nie "0" werden kann. War ein Versuch ob meine Denkweise überhaupt funktioniert.
Frage, gibt es zu der Mathematikfunktion "erhöhe" kein Gegenstück, habe ich es nur nicht gefunden oder lässt sich das nur in Javascript bewerkstelligen? `
"-1" sollte gehen. Aber schau doch mal unter Mathematik. Da gibt es a+b oder a-b usw.Dir ist auch klar, dass Du 2 Trigger in einem Blockly hast.
Und beide Trigger auf die gleiche lokale Variable zugreifen :roll:
Die zweite Frage, in der Visualisierung habe ich einen Slider 0-3 den ich aber nicht direkt in die Variable reinschreiben lassen kann bzw. funktioniert es nicht. Alle Versuche sind bisher gescheitert, bin Anfänger was Blockly betrifft deshalb kann es leicht möglich sein das ich irgendwo wieder Blödsinn gemacht habe. `
Das ist eine lokale Variable. Die ist NUR INNERHALB des Scripts/Blockly sichtbar/gültig.Die andere Möglichkeit die mir noch einfällt über einen weiteren Trigger die Sliderwerte extra abfragen. Da gibt es aber wahrscheinlich elegantere Lösungen denke ich. Kann mir jemand auf die Sprünge helfen? `
Globale VariableGrüße
[EDIT] Ein Bezug auf Blockly im Betreff wäre hilfreich. Bin durch Zufall auf Deinen Beitrag gestoßen.
-
> "-1" sollte gehen. Aber schau doch mal unter Mathematik. Da gibt es a+b oder a-b usw.
Das ist hinfällig, da eine Änderung nicht in die Variable geschrieben wird bzw. nicht sichtbar. Lediglich die Zustände von smartVisu werden in die Variable geschrieben wenn ich den Slider betätige.
` > "Dir ist auch klar, dass Du 2 Trigger in einem Blockly hast.
Und beide Trigger auf die gleiche lokale Variable zugreifen :roll: `
Das ich zwei Trigger habe ist mir klar, da ich aber zwei verschiedene Taster und in weiterer Folge noch über die smartVisu auf die Variable zugreifen muss war die einfache Lösung es über Trigger zu versuchen ob es überhaupt funktioniert wie ich mir das Vorstelle.
Das Blockly funktioniert so auch wie gewünscht, der nächste Schritt war auf die Variable zugriff zu erhalten das ja nicht funktioniert.
> Das ist eine lokale Variable. Die ist NUR INNERHALB des Scripts/Blockly sichtbar/gültig.
Ich habe das Blockly nochmal gemacht jetzt mit nur einem Taster wie es im verlinkten Thread aufgebaut ist um Fehler meinerseits auszuschließen. Auch mit einem manuell angelegten Datenpunkt (normal und global) funktioniert es nicht.
Ist es überhaupt möglich statt einer Variable einen Datenpunkt zu nehmen, oder muss es zwingend wie in meinem Fall eine Globale Variable sein? So ganz blicke ich bei dieser Sache nicht durch.
> Ein Bezug auf Blockly im Betreff wäre hilfreich. Bin durch Zufall auf Deinen Beitrag gestoßen.
Sorry hatte nicht daran gedacht.Anbei noch das geänderte Blockly.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="Z!QKQ.j3KO3.!Xm=p=!h" x="-262" y="113"><field name="COMMENT">bei Programmstart aktuellen Satus holen</field>
! <next><block type="procedures_callnoreturn" id="}GSXfCDly^61Cd/vYK]J"><mutation name="ChkAktuelleStufe"></mutation>
! <next><block type="comment" id="0Z0e6B4C3K5f}{DgQjg"><field name="COMMENT">Taster triggern</field>
! <next><block type="on_ext" id="e}UNl5hWF=J#Cg?R58v"><mutation items="1"></mutation> ! <field name="CONDITION">ne</field> ! <value name="OID0"><shadow type="field_oid" id="ure}rvmP6*qR
@CjX1Yr"><field name="oid">mqtt.0.EG_WR_Sensor2.WZ_Vent.Btn1.Switch</field></shadow></value>
! <statement name="STATEMENT"><block type="math_change" id="i7hk@1g06ZS#}qLYD5)R"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field>
! <value name="DELTA"><shadow type="math_number" id="h]GJzowOU.e%ss*~Db]"><field name="NUM">1</field></shadow></value> ! <next><block type="debug" id="67r!VpTlQsgV)%{5rpa3"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="z5DYadh4uCisX9K
48C;"><field name="TEXT">Ventilator Stufe aktualisiert</field></shadow></value>
! <next><block type="controls_if" id="KOA?j/RGoQI6W;x]OLp_"><mutation elseif="3"></mutation>
! <value name="IF0"><block type="logic_compare" id="bcI}^Ll#f3c%4..hDct}"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="F-RQgb
i?gb(kNX6Ta;"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field></block></value>
! <value name="B"><block type="math_number" id="#zmWh9f@_HElE!qk:8K"><field name="NUM">4</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="X8%cb@:8zQnHsRJQIn97"><field name="COMMENT">Stufe 3 aktiv -> AUS</field> ! <next><block type="variables_set" id="y2T=dgs:f5DLN?,S}]ZB"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field> ! <value name="VALUE"><block type="math_number" id="mOrw^F#bt:jHQVuJpo8o"><field name="NUM">0</field></block></value> ! <next><block type="control" id="=l=6Wnx^qQMFKvTpV:Vo"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="UW
?gaRFb]GR@)!SvI="><field name="TEXT">0</field></block></value> ! <next><block type="control" id="0^G7c_f7rU;wZfGnNR,D"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="a=K/w]}]/MXFOxymZdkb"><field name="TEXT">0</field></block></value> ! <next><block type="control" id="3xyz5_1#k=?#Nmge/*P8"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="mrbE[/u.91.EMf!#Vi_,"><field name="TEXT">0</field></block></value> ! <next><block type="debug" id="l,4uNtYnscn!T/Bq-Ewo"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="c.EF%3b%6{qA1=_a2.Vc"><field name="TEXT">Ventilator aus</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="?k9|*;C#o6Z]6}2{@b+r"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="h-+zhNuDHcHgSB{xw6hZ"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field></block></value> ! <value name="B"><block type="math_number" id="}E|#Dy}}TwP)e})j2l8Z"><field name="NUM">1</field></block></value></block></value> ! <statement name="DO1"><block type="debug" id="6ur_dXm26a=wbCcNy{mn"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id=",i]HP.Sze9)z#85/;+.q"><field name="TEXT">Ventilator Stufe 1</field></shadow></value> ! <next><block type="control" id="F4GtC9{wV2VKqMQBi|3d"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="xTQrxh9Rb3-O=A]o
Btw"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="%O)0H9{c:O9d|p)WP}1o"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="9Yc=u}D]mr9Te-Fi(2R"><field name="TEXT">1</field></block></value> ! <next><block type="control" id="}m8gyZr}LsJM(serPw+^"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="Hed.8|QK6R{r1Fp!iPD~"><field name="TEXT">0</field></block></value></block></next></block></next></block></next></block></statement> ! <value name="IF2"><block type="logic_compare" id="F31YSuhyy=UZIMEf|E)Q"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="^fQ(s1.;WgCLCmejdnl)"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field></block></value> ! <value name="B"><block type="math_number" id="h^xkEa[AI;d(yS]zX/xc"><field name="NUM">2</field></block></value></block></value> ! <statement name="DO2"><block type="debug" id="k]AXs;uL1J^,S/YZQ:N5"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="6b^UshZlhjxd~j(Y1Q1u"><field name="TEXT">Ventilator Stufe 2</field></shadow></value> ! <next><block type="control" id="*_Yh+/PDKL,qSHpJV}FP"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="6.sA|kR@
-x49^lodV8"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="<EMAIL email=" dv1@ofb6ba.lqg-x"="">Dv1@ofB6BA.Lqg-X@q|#">
! <mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="vA#aHxue4GEY+CP.wRqB"><field name="TEXT">0</field></block></value>
! <next><block type="control" id="{MddEO=mVOH(E43in(o5"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="6AH8ta7CK9QjsAE1(W|f"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement>
! <value name="IF3"><block type="logic_compare" id="!ly9Ed!#YM,(Mg8)f-"><field name="OP">EQ</field> ! <value name="A"><block type="variables_get" id="
2d{@?vubf)K+45IKq{"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field></block></value>
! <value name="B"><block type="math_number" id="H%:nW!M}ci=IiN@]Y[!"><field name="NUM">3</field></block></value></block></value> ! <statement name="DO3"><block type="debug" id="pUa6RCuKyGx3be2*AM0N"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="(_PXZ[}l+Y-1/n5=kH_]"><field name="TEXT">Ventilator Stufe 3</field></shadow></value> ! <next><block type="control" id="%[70CPoaQg4i
aPl–e"><mutation delay_input="false"></mutation>
! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="text" id="v!^O3)C))0.{^ZR3GfZ6"><field name="TEXT">1</field></block></value>
! <next><block type="control" id="1c}+.OG,r|=^w2bHoo("><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="+;f|jx%qeb6VA:qg3mI5"><field name="TEXT">1</field></block></value> ! <next><block type="control" id="Ooly.[P,}T;paUJv/pwp"><mutation delay_input="false"></mutation> ! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="PoGb8ll(Nm6yYhg;E]V#"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block> ! <block type="procedures_defnoreturn" id="F:WMMe_jqAE@
Wt2s?/a" x="487" y="187"><field name="NAME">ChkAktuelleStufe</field>
! <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
! <statement name="STACK"><block type="variables_set" id="I=ninml.6uk@EAErEA~W"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field>
! <value name="VALUE"><block type="math_number" id="Jy)SAj.Do2k#j}bQ1ay@"><field name="NUM">0</field></block></value>
! <next><block type="controls_if" id="Abt5f0Pn+C4AK%sB2aU#"><mutation elseif="2"></mutation>
! <value name="IF0"><block type="logic_compare" id="pyo)QC|]cqrAdaX,]?4("><field name="OP">EQ</field>
! <value name="A"><block type="logic_operation" id="[]T.hE}|^/}E_xeF8z0F"><field name="OP">AND</field>
! <value name="A"><block type="get_value" id="Isy6k|MC=f1c%]cLj+M"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="get_value" id="rqrpO=VIy7]9@~|j,Ci"><field name="ATTR">val</field> ! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value></block></value> ! <value name="B"><block type="logic_boolean" id="^q%;1+]Jx%O.E}9RJ+KC"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="-xg=d8Aon{?Y|c@X4F
t"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field>
! <value name="VALUE"><block type="math_number" id="zCYBXO[xYo.h/,a~]nH8"><field name="NUM">1</field></block></value></block></statement>
! <value name="IF1"><block type="logic_compare" id="|Y1P|BNP5T(}jMV4|}5m"><field name="OP">EQ</field>
! <value name="A"><block type="logic_operation" id="h0gqOhm~iA#ud!3q13M%"><field name="OP">AND</field>
! <value name="A"><block type="get_value" id="q_CVJ(m/!)3-V;zL(rh"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="get_value" id="}Y])gUs#p+1:r|q^U{6"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value>
! <value name="B"><block type="logic_boolean" id="LC?ssb?a@clQocL:^|tp"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO1"><block type="variables_set" id="bWWI/DOve=fycpw+l|AP"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field>
! <value name="VALUE"><block type="math_number" id="1+vRh{rH/}!V)e1Y*)w"><field name="NUM">2</field></block></value></block></statement>
! <value name="IF2"><block type="logic_compare" id="7@(hFcGj-P3VV83{zQc"><field name="OP">EQ</field> ! <value name="A"><block type="logic_operation" id="6~yZ}:!tlW-nDYqC)Q3/"><field name="OP">AND</field> ! <value name="A"><block type="get_value" id="uxwGKd~!_t0,P
SxbS(G"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value>
! <value name="B"><block type="logic_operation" id="z%wNs(MiZfW?aDwQlmq"><field name="OP">AND</field> ! <value name="A"><block type="get_value" id="f,H9#!_5B}~]tB6QzgBi"><field name="ATTR">val</field> ! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value> ! <value name="B"><block type="get_value" id="Nj
!fps|:@9;JEm.,X=g"><field name="ATTR">val</field>
! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value></block></value>
! <value name="B"><block type="logic_boolean" id="ud:@]!IceM-2m6/Ks/,"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO2"><block type="variables_set" id="MPt:;#[AHLF~(+fy8ziz"><field name="VAR">javascript.0.scriptEnabled.global.WzVentStatus</field>
! <value name="VALUE"><block type="math_number" id="32b:ot?8DR+?BwO_,hI="><field name="NUM">3</field></block></value></block></statement></block></next></block></statement></block></xml>Gruß
Mario
4173_auswahl_001.png -
Habe mal Dein Blockly importiert.
Das kann so nicht funktionieren.
1. Das Blockly ist unter Global abgelegt. Da darf es NICHT sein. Der Ordner hat eine spezielle Funktion.
Wurde hier im Forum schon häufiger erwähnt.
2. Du hast keine globale Variable angelegt.
3. Du versucht den Status Deines Script zu erhöhen nicht den einer Variablen.
Script-Status kann nur true/false. Läuft oder läuft nicht.
Grüße
-
> 1\. Das Blockly ist unter Global abgelegt. Da darf es NICHT sein.
Ich habe unter Global kein Blockly
> 2\. Du hast keine globale Variable angelegt.
> Ist es überhaupt möglich statt einer Variable einen Datenpunkt zu nehmen, oder muss es zwingend wie in meinem Fall eine Globale Variable sein? So ganz blicke ich bei dieser Sache nicht durch.
> 3\. Du versucht den Status Deines Script zu erhöhen nicht den einer Variablen.
Das ist ein Datenpunkt, deshalb auch meine Vorhergehende Frage ob es mit einem Datenpunkt machbar ist oder zwingend eine Globale Variable sein muss. Wenn ich es richtig verstehe muss es eine Globale Variable sein.
Ich weiß nicht warum die Dinge bei dir wo anders landen als bei mir. Wie schon gesagt, ich habe kein Blockly unter Global denn wenn es so wäre würde wohl kein Script funktionieren. Habe dafür Ordner angelegt wie am Bild zu sehen. Und warum aus meinem Datenpunkt ein Script wird …
-
Ich weiß nicht warum die Dinge bei dir wo anders landen als bei mir. Wie schon gesagt, ich habe kein Blockly unter Global denn wenn es so wäre würde wohl kein Script funktionieren. Habe dafür Ordner angelegt wie am Bild zu sehen. Und warum aus meinem Datenpunkt ein Script wird … `
Ich hatte nur gelesen "javascript.0.ScriptEnabled.global…..".Wie kommt denn die Variable dort hin?
Auch das ist ein denkbar schlechter Ort für eine Variable.
"javascript.0.WzVentilStatus" wäre besser.
Wenn das alles ok ist dann tausche bitte die Bausteine "setze...." (der ist für lokale Variablen)
mit den Bausteinen "steuere..."
-
Ich weiß nicht warum die Dinge bei dir wo anders landen als bei mir. Wie schon gesagt, ich habe kein Blockly unter Global denn wenn es so wäre würde wohl kein Script funktionieren. Habe dafür Ordner angelegt wie am Bild zu sehen. Und warum aus meinem Datenpunkt ein Script wird … `
Ich hatte nur gelesen "javascript.0.ScriptEnabled.global…..".Wie kommt denn die Variable dort hin?
Auch das ist ein denkbar schlechter Ort für eine Variable.
"javascript.0.WzVentilStatus" wäre besser.
> Das war mein erster Versuch eine Variable Global anzulegen (manuell), ist mittlerweile geändert.
Wenn das alles ok ist dann tausche bitte die Bausteine "setze…." (der ist für lokale Variablen)mit den Bausteinen "steuere..."
> Hat leider auch nicht funktioniert.
Beispiel.PNG `Ich habe das Blockly mehrmals neu gebaut bzw. die Funktionierende Version die Bausteine "setzen" durch "steuere" ersetzt. Die habe aber nur beim Funktionsblock "ChkAktuelleStufe" geändert. Beim Test funktionierte die Steuerung noch aber sobald ich den Baustein im Trigger ersetze
läuft die Steuerung nur einmal. Heißt 1-2-3-0, dann muss ich das Script wieder neu starten. Die Variable wurde auch nie aktualisiert bzw. etwas reingeschrieben. Habe die Varaiable manuell und im Script angelegt, immer das gleiche Ergebnis.Im Log sieht man das nach dem ersten durchlauf nur mehr der Debug Baustein "Ventilator Stufe Aktualisiert" auf einen Tastendruck reagiert.````
javascript.0 2017-12-03 16:22:30.153 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:29.119 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:28.072 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:27.041 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:26.381 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:24.520 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:13.853 info script.js.Ventilator.WzVentilator: Ventilator aus
javascript.0 2017-12-03 16:22:13.813 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:10.540 info script.js.Ventilator.WzVentilator: Ventilator Stufe 3
javascript.0 2017-12-03 16:22:10.530 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:09.493 info script.js.Ventilator.WzVentilator: Ventilator Stufe 2
javascript.0 2017-12-03 16:22:09.467 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:22:08.092 info script.js.Ventilator.WzVentilator: Ventilator Stufe 1
javascript.0 2017-12-03 16:22:08.058 info script.js.Ventilator.WzVentilator: Ventilator Stufe aktualisiert
javascript.0 2017-12-03 16:21:54.592 info script.js.Ventilator.WzVentilator: registered 1 subscription and 0 schedulesUm sicher zu gehen das ich das mit der Variable verstanden habe nahm ich einen Schalter min on/off und über eine Globalen Variable in ein true/false umgewandelt, das funktioniert auch wunderbar. Ein anderer Versuch die Mathematik durch Text Bausteine zu ersetzen brachte auch keinen Erfolg. Die letzten 1,5 Tage versuchte ich das Problem selber zu lösen aber das wird wohl nix. Nochmal das Blockly ![4173_auswahl_008.png](/assets/uploads/files/4173_auswahl_008.png) und der Export >! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml"> >! <block type="comment" id="Z!QKQ.j3KO3.!Xm=p=!h" x="-262" y="113"><field name="COMMENT">bei Programmstart aktuellen Satus holen</field> >! <next><block type="procedures_callnoreturn" id="}GSXfCDly^61Cd/vYK]J"><mutation name="ChkAktuelleStufe"></mutation> >! <next><block type="comment" id="0Z0e6B4C3K*5f}{DgQjg"><field name="COMMENT">Taster triggern</field> >! <next><block type="on_ext" id="e}UNl5hWF`=J#Cg?R58v"><mutation items="1"></mutation> >! <field name="CONDITION">ne</field> >! <value name="OID0"><shadow type="field_oid" id="ure}rvmP6*qR`@CjX1Yr"><field name="oid">mqtt.0.EG_WR_Sensor2.WZ_Vent.Btn1.Switch</field></shadow></value> >! <statement name="STATEMENT"><block type="math_change" id="i7hk@1g06ZS#}qLYD5)R"><field name="VAR">WzVentStatus</field> >! <value name="DELTA"><shadow type="math_number" id="h]GJzowOU.e%ss`*~Db]"><field name="NUM">1</field></shadow></value> >! <next><block type="debug" id="67r!VpTlQsgV)%{5rpa3"><field name="Severity">log</field> >! <value name="TEXT"><shadow type="text" id="z5DYadh4uCisX9K`48C;"><field name="TEXT">Ventilator Stufe aktualisiert</field></shadow></value> >! <next><block type="controls_if" id="KOA?j/RGoQI6W;x]OLp_"><mutation elseif="3"></mutation> >! <value name="IF0"><block type="logic_compare" id="bcI}^Ll#f3c%4..hDct}"><field name="OP">EQ</field> >! <value name="A"><block type="variables_get" id="`F-RQgb`i?gb(kNX6Ta;"><field name="VAR">WzVentStatus</field></block></value> >! <value name="B"><block type="math_number" id="#zmW`h9f@_HElE!qk:8K"><field name="NUM">4</field></block></value></block></value> >! <statement name="DO0"><block type="comment" id="X8%cb@:8zQnHsRJQIn97"><field name="COMMENT">Stufe 3 aktiv -> AUS</field> >! <next><block type="control" id="2sgJW0lYP@yVw/rFpG@3"><mutation delay_input="false"></mutation> >! <field name="OID">javascript.0.WzVentStatus</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="math_number" id="w!?*(hG@V=xvRt5l:H@m"><field name="NUM">0</field></block></value> >! <next><block type="control" id="=l=6Wnx^qQMFKvTpV:Vo"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="UW`?gaRFb]GR@)!Sv`I="><field name="TEXT">0</field></block></value> >! <next><block type="control" id="0^G7c_f7rU;wZfGnNR,D"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="a=K/w]}]/MXFOxymZdkb"><field name="TEXT">0</field></block></value> >! <next><block type="control" id="3xyz5_1#k=?#Nmge/*P8"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="mrbE[/u.91.EMf!#Vi_,"><field name="TEXT">0</field></block></value> >! <next><block type="debug" id="l,4uNtYnscn!T/Bq-Ewo"><field name="Severity">log</field> >! <value name="TEXT"><shadow type="text" id="c.EF%3b%6{qA1=_a2.Vc"><field name="TEXT">Ventilator aus</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement> >! <value name="IF1"><block type="logic_compare" id="?k9|*;C#o6Z]6}2{@b+r"><field name="OP">EQ</field> >! <value name="A"><block type="variables_get" id="h-+zhNuDHcHgSB{xw6hZ"><field name="VAR">WzVentStatus</field></block></value> >! <value name="B"><block type="math_number" id="}E|#Dy}}TwP)e})j2l8Z"><field name="NUM">1</field></block></value></block></value> >! <statement name="DO1"><block type="debug" id="6ur_dXm26a=wbCcNy{mn"><field name="Severity">log</field> >! <value name="TEXT"><shadow type="text" id=",i]HP.Sze9)z#85/;+.q"><field name="TEXT">Ventilator Stufe 1</field></shadow></value> >! <next><block type="control" id="F4GtC9{wV2VKqMQBi|3d"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="xTQrxh9Rb3-O=A]o`Btw"><field name="TEXT">1</field></block></value> >! <next><block type="control" id="%O)0H9{c:O9d|p)WP}1o"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="9Yc=u}D]mr9Te-`Fi(2R"><field name="TEXT">1</field></block></value> >! <next><block type="control" id="}m8gyZr}LsJM(serPw+^"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="Hed.8|QK6R{r1Fp!iPD~"><field name="TEXT">0</field></block></value></block></next></block></next></block></next></block></statement> >! <value name="IF2"><block type="logic_compare" id="F31YSuhyy=UZIMEf|E)Q"><field name="OP">EQ</field> >! <value name="A"><block type="variables_get" id="^fQ(s1.;WgCLCmejdnl)"><field name="VAR">WzVentStatus</field></block></value> >! <value name="B"><block type="math_number" id="h^xkEa[AI;d(yS]zX/xc"><field name="NUM">2</field></block></value></block></value> >! <statement name="DO2"><block type="debug" id="k]AXs;uL1J^,S/YZQ:N5"><field name="Severity">log</field> >! <value name="TEXT"><shadow type="text" id="6b^UshZlhjxd~j(Y1Q1u"><field name="TEXT">Ventilator Stufe 2</field></shadow></value> >! <next><block type="control" id="*_Yh+/PDKL,qSHpJV}FP"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="6.sA|kR@`-x49*^lodV8"><field name="TEXT">1</field></block></value> >! <next><block type="control" id="<EMAIL email=" dv1@ofb6ba.lqg-x"="">Dv1@ofB6BA.Lqg-X@q|#"> >! <mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="vA#aHxue4GEY+CP.wRqB"><field name="TEXT">0</field></block></value> >! <next><block type="control" id="{MddEO=mVOH(E43in(o5"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="6AH8ta7CK9QjsAE1(W|f"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement> >! <value name="IF3"><block type="logic_compare" id="!_ly9Ed!#YM`,(Mg8)f-"><field name="OP">EQ</field> >! <value name="A"><block type="variables_get" id="`2d{*@?vubf)K+45IKq{"><field name="VAR">WzVentStatus</field></block></value> >! <value name="B"><block type="math_number" id="H%`:nW!M}ci=IiN@]Y[!"><field name="NUM">3</field></block></value></block></value> >! <statement name="DO3"><block type="debug" id="pUa6RCuKyGx3be2*AM0N"><field name="Severity">log</field> >! <value name="TEXT"><shadow type="text" id="(_PXZ[}l+Y-1/n5=kH_]"><field name="TEXT">Ventilator Stufe 3</field></shadow></value> >! <next><block type="control" id="%[70CPoaQg4i`aP*l–e"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.16</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="v!^O3)C))0.{^ZR3GfZ6"><field name="TEXT">1</field></block></value> >! <next><block type="control" id="1c}+.OG,r|=^w2bH`oo("><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.4</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="+;f|jx%qeb6VA:qg3mI5"><field name="TEXT">1</field></block></value> >! <next><block type="control" id="Ooly.[P,}T;paUJv/pwp"><mutation delay_input="false"></mutation> >! <field name="OID">mqtt.0.EG_WR_Aktor.Set.GPIO.0</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="text" id="PoGb8ll(Nm6yYhg;E]V#"><field name="TEXT">1</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block> >! <block type="create" id="XK3A+g](GY?5_lsvtWs^" x="487" y="163"><field name="NAME">WzVentStatus</field></block> >! <block type="procedures_defnoreturn" id="F:WMMe_jqAE@`Wt2s?/a" x="488" y="263"><field name="NAME">ChkAktuelleStufe</field> >! <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> >! <statement name="STACK"><block type="control" id="!g]hiu2yf0FXDrz}Raj6"><mutation delay_input="false"></mutation> >! <field name="OID">javascript.0.WzVentStatus</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="math_number" id="Jy)SAj.Do2k#j}bQ1ay@"><field name="NUM">0</field></block></value> >! <next><block type="controls_if" id="Abt5f0Pn+C4AK%sB2aU#"><mutation elseif="2"></mutation> >! <value name="IF0"><block type="logic_compare" id="pyo)QC|]cqrAdaX,]?4(" inline="false"><field name="OP">EQ</field> >! <value name="A"><block type="logic_operation" id="[]T.hE}|^/}E_xeF8z0F" inline="false"><field name="OP">AND</field> >! <value name="A"><block type="get_value" id="Isy6k|MC=f1c%]*cLj+M"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value> >! <value name="B"><block type="get_value" id="rqrpO=`VIy7]9@~|j,Ci"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value></block></value> >! <value name="B"><block type="logic_boolean" id="^q%;1+]Jx%O.E}9RJ+KC"><field name="BOOL">TRUE</field></block></value></block></value> >! <statement name="DO0"><block type="control" id="hULu2Lr!t(RS:_xOw#!q"><mutation delay_input="false"></mutation> >! <field name="OID">javascript.0.WzVentStatus</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="math_number" id="lUR#.)W8?S^pv4JbiJbM"><field name="NUM">1</field></block></value></block></statement> >! <value name="IF1"><block type="logic_compare" id="|Y1P|BNP5T(}jMV4|}5m" inline="false"><field name="OP">EQ</field> >! <value name="A"><block type="logic_operation" id="h0gqOhm~iA#ud!3q13M%" inline="false"><field name="OP">AND</field> >! <value name="A"><block type="get_value" id="q_CVJ(m*/!)3-V;zL(rh"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value> >! <value name="B"><block type="get_value" id="}Y])gU*s#p+1:r|q^U{6"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value> >! <value name="B"><block type="logic_boolean" id="LC?ssb?a@clQocL:^|tp"><field name="BOOL">TRUE</field></block></value></block></value> >! <statement name="DO1"><block type="control" id=".yhoBHXt),SQ,{ykW,Nf"><mutation delay_input="false"></mutation> >! <field name="OID">javascript.0.WzVentStatus</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="math_number" id="6P*+zZ]V2c?=mLtIv5zV"><field name="NUM">2</field></block></value></block></statement> >! <value name="IF2"><block type="logic_compare" id="7`@(hFcGj-P3VV83{zQc" inline="false"><field name="OP">EQ</field> >! <value name="A"><block type="logic_operation" id="6~yZ}:!tlW-nDYqC)Q3/" inline="false"><field name="OP">AND</field> >! <value name="A"><block type="get_value" id="uxwGKd~!_t0,P`SxbS(G"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Motor.Relai</field></block></value> >! <value name="B"><block type="logic_operation" id="z%wNs(MiZfW?aDw`Qlmq" inline="false"><field name="OP">AND</field> >! <value name="A"><block type="get_value" id="f,H9#!_5B}~]tB6QzgBi"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_1.Relai</field></block></value> >! <value name="B"><block type="get_value" id="Nj`!fps|:@9;JEm.,X=g"><field name="ATTR">val</field> >! <field name="OID">mqtt.0.EG_WR_Aktor.Get.WZ_Ventilator_Kondensator_2.Relai</field></block></value></block></value></block></value> >! <value name="B"><block type="logic_boolean" id="ud:@]!IceM-2m6_/Ks/,"><field name="BOOL">TRUE</field></block></value></block></value> >! <statement name="DO2"><block type="control" id="TTq@uT%nx6m{*[j^rL`#"><mutation delay_input="false"></mutation> >! <field name="OID">javascript.0.WzVentStatus</field> >! <field name="WITH_DELAY">FALSE</field> >! <value name="VALUE"><block type="math_number" id="yD;x|^F17DPYU!VaD^R~"><field name="NUM">3</field></block></value></block></statement></block></next></block></statement></block></xml> Offensichtlich ist das nach dem "Ventilator Stufe aktualisiert" das Blockly hängt, habe darauf die Mathematik durch Textblöcke ersetzt aber wie immer ohne Erfolg. Ich werde mir Javascript demnächst aneignen, mit den Blöcken bin ich scheinbar verloren :lol:
-
Offensichtlich ist das nach dem "Ventilator Stufe aktualisiert" das Blockly hängt, habe darauf die Mathematik durch Textblöcke ersetzt aber wie immer ohne Erfolg. Ich werde mir Javascript demnächst aneignen, mit den Blöcken bin ich scheinbar verloren :lol: `
Hallo GringoEgal ob direkt JavaScript oder JavaScript über Blöckly, das Verständnis von lokalen und globalen Variablen ist elementar.
Du hast eine globale Variable "WzVentStatus" und eine lokale Variable "WzVentStatus" in Deinen Blockly.
Die haben zwar den gleichen Namen, haben aber NICHTS mit einander zu tun.
Du erhöhst die globale Variabel um 1, fragst aber den Wert der lokalen Variablen ab.
"WzVentStatus" in Rot sind LOKALE!!!
Grüße
-
Offensichtlich ist das nach dem "Ventilator Stufe aktualisiert" das Blockly hängt, habe darauf die Mathematik durch Textblöcke ersetzt aber wie immer ohne Erfolg. Ich werde mir Javascript demnächst aneignen, mit den Blöcken bin ich scheinbar verloren :lol: `
Hallo GringoEgal ob direkt JavaScript oder JavaScript über Blöckly, das Verständnis von lokalen und globalen Variablen ist elementar.
Du hast eine globale Variable "WzVentStatus" und eine lokale Variable "WzVentStatus" in Deinen Blockly.
Die haben zwar den gleichen Namen, haben aber NICHTS mit einander zu tun.
Du erhöhst die globale Variabel um 1, fragst aber den Wert der lokalen Variablen ab.
"WzVentStatus" in Rot sind LOKALE!!!
Grüße `
Hallo rantanplan,Die hatte ich auch schon umgestellt mit
Ist das so richtig? Ich werde es nochmal versuche…[Edit]
Dieser mit Mathematikbaustein natürlich
Dann läuft aber nichts -
Deine UND Bedingungen in "ChkAktuelleStufe" funktionieren so nicht.
Die müssen so lauten:
Falls Wert von x = wahr UND Wert von y = wahr
Mach doch bitte auch mal ScreenShots von den verwendeten Datenpunkte.
Ich habe keim "mqtt"
Grüße
-
Das ändert auch nichts. Wenn ich die Variable manuell ändere z.b. auf Stufe 2 und dann den Taster drücke läuft der Ventilator in Stufe 2. Kann das am "erhöhen" Baustein liegen?
Mir fehlt eine genauere Beschreibung der einzelnen Blöcke, gibt es irgendwo ein andere Doku als diese hier?
https://github.com/ioBroker/ioBroker.ja … n-function
Im vorherigen Post hast du geschrieben das die roten Variablen für Locale sind. Bei der oben angegebenen Doku wird das Gegenteil behauptet.
Jetzt noch die Screenshots
-
Das ändert auch nichts. Wenn ich die Variable manuell ändere z.b. auf Stufe 2 und dann den Taster drücke läuft der Ventilator in Stufe 2. Kann das am "erhöhen" Baustein liegen?
Mir fehlt eine genauere Beschreibung der einzelnen Blöcke, gibt es irgendwo ein andere Doku als diese hier?
https://github.com/ioBroker/ioBroker.ja … n-function
Im vorherigen Post hast du geschrieben das die roten Variablen für Locale sind. Bei der oben angegebenen Doku wird das Gegenteil behauptet.Auswahl_017.png `
Weitere Doku ist in Arbeit.
@Gringo:Im vorherigen Post hast du geschrieben das die roten Variablen für Locale sind. Bei der oben angegebenen Doku wird das Gegenteil behauptet `
"…(visible everywhere IN THIS SCRIPT)...."Aber sonst ist in Deinem Blockly/Script das reine Datenpunkt Chaos!
Ich habe die Übersicht verloren. Zahlen die auf true/false abgefragt werden, irgendwelche manuelle Zeichenkette usw.
Am Besten stellen wir nochmal alles auf Null.
Versuche doch nochmal mir zu erklären was Du möchtest.
EDIT: Und die Datenpunkte des Aktors!
Grüße
-
Ursprünglich wollte ich nur mit diesem Beispiel http://downloads.iobroker.com/forum/vie … 66&p=87472 ein wenig probieren um ein Verständnis mit Blockly zu bekommen. Da die Datenpunkte mit dem Beispiel funktionieren habe ich nichts daran geändert außer die Set Datenpunkte musste ich manuell anlegen da die von einem ESPEasy kommen.
Das eigentliche Vorhaben, so habe ich es zur Zeit in fhem umgesetzt.
Ich habe einen Deckenventilator der in drei Stufen steuerbar ist und die Drehrichtung ändert sich in Abhängigkeit der Luftfeuchtigkeit.
Weiters ist ein Automatikmodus (wenn über Taster aktiviert per Visu) vorhanden der wenn sich eine Person z.b. 5 minuten im Raum aufhält und die Eingestellte Raumtemperatur (3 Stufen) erreicht ist sich einschaltet bzw. umschaltet. Sollte 10 minuten niemand im Raum sein sich wieder ausschalten. In Räumen wie Schlafzimmer wird die Automatik durch einen Timer ersetzt.
Mir ist jetzt nur wichtig das sich der Ventilator über die beiden Taster steuern lässt und dazu eine Globale Variable habe damit ein Zugriff auch außerhalb des Scripts möglich ist. Mit Localer Varible funktioniert es ja schon. Die Zusätzlichen Funktionen versuche ich dann selber umzusetzen.
Bei jeder Stufe müssen mindestens zwei Relais geschaltet werden, das Sahnehäupchen wäre wenn vor dem Schalten abgefragt wird welche Relais geschaltet werden müssen um unnötiges schalten zu verhindern.
Stufe 1 - Motor, Kontensator1,
Stufe 2 - Motor, Kondensator 2,
Stufe 3 - Motor, Kondensator1,Kondensator2
Die Ansteuerung der Relais Erfolgt über mqtt mit 1-0, Das Abfragen ob das Relai angezogen ist erfolgt ebenfalls über mqtt mit 1-0.
Bedienbar ist der Ventilator über 2 Taster (Taster1 - Ein/Hochschalten, Taster2 - Aus/Runterschalten) die ebenfalls über mqtt mit 1-0 senden.
Ich hoffe das war Verständlich.
Gruß
Mario
-
Bedienbar ist der Ventilator über 2 Taster (Taster1 - Ein/Hochschalten, Taster2 - Aus/Runterschalten) die ebenfalls über mqtt mit 1-0 senden. `
Das eingesetzte Blockly war für 1-Tasten Bedienung.Du hast 2 Tasten! Das sind ganz andere Voraussetzungen. Das kann man so nicht übernehmen.
Wie schon gesagt, ich habe kein mqtt.
Wie steuerst Du den Ventilator über VIS? (Datenpunkte)
Was willst Du mit dem Blockly erreichen?
Ich bin noch immer etwas verwirrt. :oops:
Grüße
-
Bedienbar ist der Ventilator über 2 Taster (Taster1 - Ein/Hochschalten, Taster2 - Aus/Runterschalten) die ebenfalls über mqtt mit 1-0 senden. `
Das eingesetzte Blockly war für 1-Tasten Bedienung.Du hast 2 Tasten! Das sind ganz andere Voraussetzungen. Das kann man so nicht übernehmen.
` > Das ist mir bewusst, habe es auch in meinem vorhergehenden Post erwähnt das es mit 2 Tasten funktioniert. Anbei die Version mit 2 Tasten allerdings nur mit localen Variablen.`
Wie schon gesagt, ich habe kein mqtt.
> Mqtt ist eigentlich nicht wirklich von Bedeutung ist meine Meinung. Es geht ja nur darum mit welchen Zuständen das man arbeitet. Oder irre ich mich jetzt? In diesem Fall gibt es für Ein oder treue die 1, für Aus oder false die 0\. Richtig? Ich meine, so habe ich es zumindest gelernt das 1 true und 0 false (Digitaltechnik) ist sonst hätte das anfänglich Blockly mit "wahr, unwahr" nie funktionieren können.
Wie steuerst Du den Ventilator über VIS? (Datenpunkte)
> Jetzt wo du es erwähnst… Ich könnte eigentlich einen Datenpunkt anlegen dem ich dann über VIS oder smartVisu Zahlen von 0-3 zuweise. Oder liege ich da wieder falsch?
Was willst Du mit dem Blockly erreichen?
` > <list type="decimal">3. Bedienung mit zwei Tastern-
Bedienung über VIS
-
oder smartVisu Mit der VIS habe ich mich noch nicht beschäftigt deshalb weiß ich nicht was ich dafür brauchen würde, sollte dann aber auch mit einem Datenpunkt funktionieren oder?
smartVisu ist ein externer Server, da ich irgendwo im Forum gelesen habe das man eine Globale Variable braucht außerhalb des Scrips habe ich mich darauf Festgebissen und nicht daran gedacht das es vielleicht auch mit einem Datenpunkt funktioniert. Mensch bin ich dumm, für die smartVisu benutze ich den socketio Adapter mit dem ich auf die Datenpunkte zugreife… :roll: Man soll eben nicht in drei verschiedenen Systemen zugleich arbeiten.
Ich bin noch immer etwas verwirrt. :oops:
> Entschuldigung für die Verwirrung, vor lauter Bäumen… :oops: Ich hoffe das ich mich jetzt verständlicher ausgedrückt habe. `Grüße `
Nachdem ich jetzt auch weiß was ich brauche :lol:
Was ist deiner Meinung nach besser, das vorhandene Blockly zu erweitern oder überhaupt neu auf zu bauen? So ist bzw. wird es noch unübersichtlicher.
Grüße
Mario
-
-
Was ist deiner Meinung nach besser, das vorhandene Blockly zu erweitern oder überhaupt neu auf zu bauen? So ist bzw. wird es noch unübersichtlicher. `
Ich würde sagen neu aufbauen.Wie schon gesagt, ich kenne kein mqtt oder smartVisu.
Wenn ioBroker die Datenpunkte Deines Ventilators kennt (nicht manuell angelegt),
sollte es klappen.
smartVisu würde ich weglassen. Keine Ahnung ob und wie das "fremde" System dazwischen haut.
ioBroker
VIS
Blockly
Wenn Du den Ventilator über VIS steuern kannst, bist Du schon einen großen Schritt weiter.
Grüße
-
Hallo Rantanplan,
das Blockly ist fertig
Ich hatte einen Denkfehler wieder einmal. Ich habe zwar auf die Globale Variable bzw. Datenpunkt zugegriffen, konnte ihn auch ändern und auslesen. Woran ich aber nicht gedacht hatte das nur getriggert wird wenn einer der Taster gedrückt wird, somit hatte es keine Auswirkung wenn ich den Datenpunkt geändert habe.
Das Blockly besteht jetzt aus zwei Triggern, der erste triggert die Taster und erhöht bzw. verringert die Variable. Mit dem zweiten triggere ich auf die Variable und schalte je nach dem die Ausgänge. Durch die If Bedienungen werden die Ausgänge auch nur geschaltet wenn notwendig, somit fällt überflüssiges schalten der Ausgänge auch weg.
Ein anderes Problem das mir beim Testen auffiel war der "erhöhen" Baustein, der nur für locale Variablen ist. Mitlerweile weiß ich welche Bausteine für local und welche für global sind Deshalb etwas umständlicher mit den Objekt Bausteinen.
Mit der VIS hab ich schon mal ein wenig gespielt aber zu wenig um zu wissen was ich dafür brauchen würde. Werd ich demnächst etwas genauer anschauen bzw. muss ich….
Die smartVisu will ich nicht so einfach weglassen, da habe ich mittlerweile mehrere 100 Stunden investiert.
Ich bedanke mich für deine Unterstützung!
Konnte eine Menge dadurch lernen, ich war ja teilweise auch etwas schwierig :lol:
So der Vollständigkeit halber und sollte es jemand benötigen das Blockly
und er Export.! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="i.[[U-(ExXbLn%Y5yKT+" x="-388" y="412"><field name="COMMENT">Trigger aktualisiert die "TestVariable"</field>
! <next><block type="comment" id="0Z0e6B4C3K5f}{DgQjg"><field name="COMMENT">Taster Triggern</field>
! <next><block type="on_ext" id="=th^mbB%%e12kP{~pO,-"><mutation items="2"></mutation>
! <field name="CONDITION">ne</field>
! <value name="OID0"><shadow type="field_oid" id="Pu6Be[I3)8P2pzGEj0+B"><field name="oid">javascript.0.TestTasterEin</field></shadow></value>
! <value name="OID1"><shadow type="field_oid" id="812^_t-7%MC03?DRUM7("><field name="oid">javascript.0.TestTasterAus</field></shadow></value>
! <statement name="STATEMENT"><block type="comment" id="!rJTf0YTaCud0tZS.,Pq"><field name="COMMENT">Abfrage welcher Taster gedrückt wurde</field>
! <next><block type="controls_if" id="NNda2Z9EN@EJVZ|avSeI"><mutation elseif="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="kCi/q^eTj}yD-v7|9?s"><field name="OP">EQ</field>
! <value name="A"><block type="on_source" id="sSe^k7TE677wgeXyoxp|"><field name="ATTR">common.name</field></block></value>
! <value name="B"><block type="text" id="}5~+;L!=jpQfw8NY)R^"><field name="TEXT">TestTasterEin</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="y(ZNt~dF6L)/PISM5opI"><field name="COMMENT">Wenn TestTasterEin gedrückt wurde</field> ! <next><block type="comment" id="3C6eM+fiEG!a6-aIH#a/"><field name="COMMENT">TestVariable wird erhöht</field> ! <next><block type="controls_if" id="y:gbvtxU:un5^=]hss=M"><value name="IF0"><block type="logic_compare" id="@G}00++g|DE^9mKb1Ynm"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="VeEEEt06]B.3[Fp[an;p"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="vcRviP=Ys%V{Oyh-@~zX"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="-Q4X_[0aJH(B!HF3jfo:"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="=lx3+{ZvA:,Y)X)lrB}A"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="controls_if" id="
L)3aQ5#1,=e#ys%Fnmv"><value name="IF0"><block type="logic_compare" id="9hPZ+KFZ%zSzW#WNC%Q9"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="sz2hcr0XLct%DWeRA!H2"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestVariable</field></block></value>
! <value name="B"><block type="math_number" id="5{6Trwt5bEp4X^qBdw74"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="(#M[)v9graBeabbK-/"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id=".(w(QqlgWgWKZk(H%oL{"><field name="NUM">2</field></block></value></block></statement> ! <next><block type="controls_if" id=".h3RJ,zsMa(}k0KuK]?o"><value name="IF0"><block type="logic_compare" id="W[W.s?}8TV7l15E=i8W4"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="Fp
q=1-x-oSF)u#?2Yn"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="hzP7F8zKItcEcpNA|0OS"><field name="NUM">2</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="e|-CLN(tc*_XyK0ig[8R"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="y_U(*Q0BCQ=N6T(ATsL3"><field name="NUM">3</field></block></value></block></statement> ! <next><block type="debug" id=",5AOu[%PGpvGmTl]SQ,h"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="Ug2;vFh8qHK@cS@*{pDp"><field name="TEXT">TestVariable Aktualisiert TestTasterEin</field></shadow></value> ! <next><block type="comment" id="^-WRNK:ZaRBS/f14~}r@"><field name="COMMENT">Hochzählen auf 3 begrenzen</field> ! <next><block type="controls_if" id="KKAdQc^d/~dt-uY,aa9g"><value name="IF0"><block type="logic_compare" id="nks@Qm[!/v[#O84kWM73"><field name="OP">GT</field> ! <value name="A"><block type="get_value" id="}!Kz@]T,8+d9a8H~u=an"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id=".4r2s?ORsH]Z0T;B@*S2"><field name="NUM">3</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="ozsvUvUs?SZ}S9+E]i!n"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="hr~tq4yjL|58t+IeZzO{"><field name="NUM">3</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="RnUP*?6JKieggR],F{%;"><field name="OP">EQ</field> ! <value name="A"><block type="on_source" id="*_rvoj3s4,8E7RpE|WRn"><field name="ATTR">common.name</field></block></value> ! <value name="B"><block type="text" id="LyA7ZSY
!^o0[P2iLn5#"><field name="TEXT">TestTasterAus</field></block></value></block></value>
! <statement name="DO1"><block type="comment" id="_50C}2_;}-4nY~OYBp("><field name="COMMENT">Wenn TestTasterAus gedrückt wurde</field>
! <next><block type="comment" id="]k?2Ea(VzxZhneRm6o5p"><field name="COMMENT">TestVariable wird verringert</field>
! <next><block type="controls_if" id="+UwxvvC;bs%f!iGf3BH"><value name="IF0"><block type="logic_compare" id="h71z06a3z4!EcUjMRq=1"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="Ee)J!t9Jx7FE.3]8,E*w"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="!/}9q%cGku8w!zgPTU;!"><field name="NUM">3</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="OujH4*c=XMO,*A{em^q;"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="KHs*SsME4L9e^id}_#f["><field name="NUM">2</field></block></value></block></statement> ! <next><block type="controls_if" id="?h8)xQ1?QZ
uCY!E4]Qr"><value name="IF0"><block type="logic_compare" id="b/eRY)CyaN)zQO^EiqED"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="ykVdWbCnC~Pp@;P:4r*"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="Jd?*H-_u18x%cmh1qu.A"><field name="NUM">2</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="j7#4t3Rcn6hP1+iohBEI"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="wo:WAsAQHK}8!G4k~S1m"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="controls_if" id="p%#zQI]X2#+GWhMLyu~{"><value name="IF0"><block type="logic_compare" id="+/gmEVBXY[G0Rq%nC:F8"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="xk*)X/nEYhtU_4G(qmS["><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="
on|{P+O+frro,Tn5;1H"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="DNRMYrvn+%JAR/%]H+E"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="Ubnnf:2Kh)|hbjNSXoR1"><field name="NUM">0</field></block></value></block></statement> ! <next><block type="debug" id="|zZ{r)V
ZCROnl^jYEPF"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="V5E9POf/gUoup=i^A8zb"><field name="TEXT">TestVariable Aktualisiert TestTasterAus</field></shadow></value>
! <next><block type="comment" id="4Rh.{P3Hv7)upk(q|@k"><field name="COMMENT">Runterzählen auf 0 begrenzt</field>
! <next><block type="controls_if" id="YE8pZG@F%1jJltpO8P@"><value name="IF0"><block type="logic_compare" id="7z9d6AErgYRg86wcc|Bt"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="H/FX7|f^YDoV%KJcAO!z"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="j8hh4T4Hg?MYZp}h34XU"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="Yhp:?etxrPQ_Az]SOvoB"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestVariable</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="}D0-)~;JGmO-14IIc8Ba"><field name="NUM">0</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block> ! <block type="comment" id="{dnP|1k0VtXD]WT4eyu
" x="787" y="412"><field name="COMMENT">Trigger schaltet die Ausänge</field>
! <next><block type="comment" id="=6EdUyNs|j!WGC=*,e"><field name="COMMENT">je nach Wert der "TestVariable"</field> ! <next><block type="comment" id="m%cF.?kk#W1Vds~|=kU~"><field name="COMMENT">"TestVariable" Triggern</field> ! <next><block type="on" id="Tp,)z:o74nQ+]-6zNq+/"><field name="OID">javascript.0.TestVariable</field> ! <field name="CONDITION">ne</field> ! <statement name="STATEMENT"><block type="controls_if" id="KOA?j/RGoQI6W;x]OLp_"><mutation elseif="3"></mutation> ! <value name="IF0"><block type="logic_compare" id="fD26Gd+2=WslmdO*KAz-"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="
-)/DO(Ie612T2WUjH}A"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestVariable</field></block></value>
! <value name="B"><block type="math_number" id="NogV:w;E+GW3S_q.GIQu"><field name="NUM">0</field></block></value></block></value>
! <statement name="DO0"><block type="comment" id=".tD_q|IkSyxpQ2v@cyQ3"><field name="COMMENT">Alles AUS</field>
! <next><block type="controls_if" id="[V0+2(sA}|Z2yH9.c!I+"><value name="IF0"><block type="logic_compare" id="m?x[?x{ZwXfwI_By}?I"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="[
@OyBR6i_,j{xDS*[|d"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestMotor</field></block></value>
! <value name="B"><block type="math_number" id="mjNRw7RW#p%cyQnIFSb"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="xA7S#1~tJ0Oi!w+@LH_^"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestMotor</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="%pTZ4b_GBS4p43kKTMm"><field name="NUM">0</field></block></value></block></statement>
! <next><block type="controls_if" id="pDZ)Lxhw,vH]+ds2TDG:"><value name="IF0"><block type="logic_compare" id="=S6fvh{y~@0Zp29Qvcq"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="{-4]dTuz(8o2=2^WN-7a"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestKondensator1</field></block></value>
! <value name="B"><block type="math_number" id="HXH202[(n-rKOvI-}_Ku"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="cWD}Ip}^A+tkS6dbOwr#"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestKondensator1</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="LUMrtP8-?FF;WuRwSLf"><field name="NUM">0</field></block></value></block></statement>
! <next><block type="controls_if" id="L^WHbzAU0jphmh8Ja+^"><value name="IF0"><block type="logic_compare" id="%Hc38~~dX/JN:J}3(iKd"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="]F@gQj1p~[tZ,f5-E_%7"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator2</field></block></value> ! <value name="B"><block type="math_number" id="j+e/x.XWD~sD%c(F33DO"><field name="NUM">1</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="zD%SF%0|.QGD312YfjA]"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator2</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="QNVNuP@jJd0/.4[zD7;M"><field name="NUM">0</field></block></value></block></statement> ! <next><block type="debug" id="MVq2O%)(hnUAnn29woh%"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="tsJc:dbHvYh2MP!)!!NP"><field name="TEXT">TestVariableAus</field></shadow></value></block></next></block></next></block></next></block></next></block></statement> ! <value name="IF1"><block type="logic_compare" id="2jNuA*o?s/Y*U4FWBW4Q"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="^}!
Jd0sya(!Q0ga:SW"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="?-?i?Uhpf{0vUD}(SGNN"><field name="NUM">1</field></block></value></block></value> ! <statement name="DO1"><block type="comment" id="M=(7E5-tc9yOh?;IbOaJ"><field name="COMMENT">Testmotor, TestKondensator1 EIN</field> ! <next><block type="comment" id="P4X0WgKzk4S_HR]StF:L"><field name="COMMENT">Testkondensator2 AUS</field> ! <next><block type="controls_if" id="044G|*al.,oE**FH/?HK"><value name="IF0"><block type="logic_compare" id="L6Uwd3IsM6eCLD77WRRp"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="9%VyFTwCHq
;~6qS(d.4"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestMotor</field></block></value>
! <value name="B"><block type="math_number" id="6[XLPS!GW?+-ix:R6K"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="OF-%0L4Di|GG{B}Ub=KF"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestMotor</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="ifkrQ8g)YPiUTM6ZV+0]"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="controls_if" id="kVreYqq%Lv[BN#
jPxr"><value name="IF0"><block type="logic_compare" id="hQ7Hb9SGqCiA^7~)iKX3"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="9HjxoQ;j|GcAi}i6s%ZL"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator1</field></block></value> ! <value name="B"><block type="math_number" id="s}E}{+58,msO-HmWrEwq"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="=Kg]/GQ-G%~TKWhm5vu-"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator1</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="-upHrA=]d%*hPG5Xq-(q"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="controls_if" id="#X|llGoOkfrbIk(!lgmG"><value name="IF0"><block type="logic_compare" id="zQ~s@q
_D2;.:zQloQZ@"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="X5AIUohY0hPfNGx%-]u"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator2</field></block></value> ! <value name="B"><block type="math_number" id=":_Y|jd
Uk!#I0/T/kQD"><field name="NUM">1</field></block></value></block></value>
! <statement name="DO0"><block type="control" id=",I4U5D~,+!LcOW|WtZ28"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestKondensator2</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="du)YtLU}3pDK-z98A@I"><field name="NUM">0</field></block></value></block></statement> ! <next><block type="debug" id="lGiA|SG|Zv/E3zodbl[R"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="FMvD%W8lFQ+SYfAa_x32"><field name="TEXT">TestVariableStufe1</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement> ! <value name="IF2"><block type="logic_compare" id="b14%c@#nx]8CsRf@uDV!"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="tM|S6DA;})HlX@[.nHV|"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestVariable</field></block></value> ! <value name="B"><block type="math_number" id="Ke|EYXy,Br][E^Lry9r@"><field name="NUM">2</field></block></value></block></value> ! <statement name="DO2"><block type="comment" id="GxSh%)0pMV9:7ZDZk}.4"><field name="COMMENT">Testmotor, TestKondensator2 EIN</field> ! <next><block type="comment" id="uhU9x{EdW8b;S{#79FM^"><field name="COMMENT">Testkondensator1 AUS</field> ! <next><block type="controls_if" id="fbq6Y{ycdvY?%.z*#3W;"><value name="IF0"><block type="logic_compare" id="Pvg=QG~gUE7*uLW59qxL"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="^xiqYjDLR-nKY^wD%Hsm"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestMotor</field></block></value> ! <value name="B"><block type="math_number" id="hcoeq*#(2|eNPty!6b3v"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="s5wha][^{IOL@)zH^sX/"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestMotor</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="
F8*[+N9D0F32!CVo|e"><field name="NUM">1</field></block></value></block></statement>
! <next><block type="controls_if" id="s6mG~3}wy^K9;h1B/?QP"><value name="IF0"><block type="logic_compare" id="wtSRrRznR|nBo}6(QM;"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="QINXwsVvU]Tg8fq:5d_"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator1</field></block></value> ! <value name="B"><block type="math_number" id="UN/!}97/#P9b_7c?M(hR"><field name="NUM">1</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="qr/,_Ejg=,Z7Ou-in#67"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator1</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id=";.9Z
W7@BLa(2oN,1}tq"><field name="NUM">0</field></block></value></block></statement>
! <next><block type="controls_if" id=")M[jV#.;1}g:]+.QMquR"><value name="IF0"><block type="logic_compare" id="a+50Ta6GY,Dt|u#9m@e1"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="Ab^fwr=D3ijbee%U~QaS"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestKondensator2</field></block></value>
! <value name="B"><block type="math_number" id="+2G9qO:Z{=7}]}0qlUps"><field name="NUM">0</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="@(j@c9fqhekPzG%jg-Jx"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestKondensator2</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="[]]bn+XQ-!6FIo_;6s6"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="debug" id="]Ks7!ww{?yj7()_af-!H"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="~C0H:|3B
Ht08jdw/zA^"><field name="TEXT">TestVariableStufe2</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement>
! <value name="IF3"><block type="logic_compare" id="VA+xBhU.CuBIK;Yc0P|+"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="=Tbb,Ud;^1(rW}.z28cf"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestVariable</field></block></value>
! <value name="B"><block type="math_number" id="%BWlnneq2@q0drFzgr-s"><field name="NUM">3</field></block></value></block></value>
! <statement name="DO3"><block type="comment" id="vbKz1NzS{d0qnkD{~k{e"><field name="COMMENT">Testmotor, TestKondensator1 und</field>
! <next><block type="comment" id="^+DD{{G(X9:-vS+]UR{~"><field name="COMMENT">Testkondensator2 EIN</field>
! <next><block type="controls_if" id="WR)=-:Crf^iL;?31/iO"><value name="IF0"><block type="logic_compare" id="p_BelKCZ+6N!afX]~R@V"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="I-w/vs?T,_l2HlM^,mHX"><field name="ATTR">val</field>
! <field name="OID">javascript.0.TestMotor</field></block></value>
! <value name="B"><block type="math_number" id="{L-/oxQx8ec5rP0UkDnO"><field name="NUM">0</field></block></value></block></value>
! <statement name="DO0"><block type="control" id="QK)az+@|;Z#ydhRt|6E"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestMotor</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="l/uD-sj9tvk5yS?]e5A]"><field name="NUM">1</field></block></value></block></statement>
! <next><block type="controls_if" id="{Pws0bDn20Syo=H8hh"><value name="IF0"><block type="logic_compare" id="pf3Dlt#i^p?Xr!*L/zIT"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="9dvVPc:Y[-_SJ!kZb2b6"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator1</field></block></value> ! <value name="B"><block type="math_number" id="-Pj#xz}Ye?zuhd-W*HdO"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="E[p:]Uy[L!.,BY~DmsEF"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator1</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="[[a0b(TelSZvy)Bpe[[R"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="controls_if" id="N@jx@eQQ5BSx7-l*Yjo,"><value name="IF0"><block type="logic_compare" id="[V6:Hn]kgzuf+(+-KoFN"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="I2jT[Q(r[=rYFJ9Cpy[V"><field name="ATTR">val</field> ! <field name="OID">javascript.0.TestKondensator2</field></block></value> ! <value name="B"><block type="math_number" id=".9Z8*0@(O|^kccRHMk_q"><field name="NUM">0</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="uzl9jqeJNtJ:=]wou.M)"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator2</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="ehSfS!%nRm?38f|ZoY_y"><field name="NUM">1</field></block></value></block></statement> ! <next><block type="debug" id="~0ZBGE~[iBys
Tb27]eJ"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="LH@(!B@IXHZlw=]vZju-"><field name="TEXT">TestVariableStufe3</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block>
! <block type="create" id="#{!:KW9_v/*EAA+i80PZ" x="-387" y="1713"><field name="NAME">TestVariable</field>
! <statement name="STATEMENT"><block type="control" id="8fbt5U0e)J~@I;Mgs?K3"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestVariable</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="DW|!9^EtL=KGwR-i0/t^"><field name="NUM">0</field></block></value></block></statement></block>
! <block type="create" id="Y:?lb66m79IGYN0lH73=" x="63" y="1713"><field name="NAME">TestTasterEin</field></block>
! <block type="create" id="eE,%U%7TuLOH::w[U@C" x="362" y="1713"><field name="NAME">TestTasterAus</field></block>
! <block type="create" id="hH52%{3LcboE#oR4ohOS" x="-388" y="1862"><field name="NAME">TestMotor</field>
! <statement name="STATEMENT"><block type="control" id="RS4[%(6RCfg6p_P1cUo%"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestMotor</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="]NCQ0z/+|Jeh]O+JIH^l"><field name="NUM">0</field></block></value></block></statement></block>
! <block type="create" id="wMvJ8iiK??gG4X*{cJ}I" x="63" y="1863"><field name="NAME">TestKondensator1</field>
! <statement name="STATEMENT"><block type="control" id="H7,l3w.kqxDYu9YdN)/f"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.TestKondensator1</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="!m1wj7PSP6(G5%Q%04ao"><field name="NUM">0</field></block></value></block></statement></block>
! <block type="create" id="#34t?rV2,Ct1ApGrhj((" x="-388" y="2012"><field name="NAME">TestKondensator2</field>
! <statement name="STATEMENT"><block type="control" id="45BFr/-S^GgJ0~^r=H8"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.TestKondensator2</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="0*@ncFE)(,.G~U.jy
g0"><field name="NUM">0</field></block></value></block></statement></block></xml>
Die Globalen Variablen wurden zum Testen angelegt, damit lässt sich die Funktion des Blockly schön prüfen.Wenn man unter den Objekten bei der "Testvariable" den Wert zwischen 0-3 ändert sieht man das die Globale Variable funktioniert.
Das ändern der Werte (0 oder 1) bei den TestTastern sollte dann entsprechend die Werte von TestVariable bzw TestMotor, TestKondensator1 und Testkondensator2 ändern.
Grüße Mario
-
Sieht gut aus. Willkommen im Club