NEWS
[Gelöst] Blockly - Ventilatorsteuerung Verständnisfrage
-
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