- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
NEWS
[Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
-
@cubeman
Welche Javasript-Adapter Version hast Du ? (alles größer 3.6.4 ist Beta und hat noch Fehler)@dslraser aha ich bin aktuell auf der 4.0.12 also ist es eine Beta?
Habe ich merkbare Nachteile, wenn ich runter zur 3.6.4 gehe?Ein Bug habe ich wohl in 4.0.12 gefunden, wenn man im Trigger ein 2tes Objekt hinzufügt und es danach wieder entfernen will bleibt es als unlöschbarer shadow im Hintergrund.
Löschen kann ich es dann nur, wenn ich im Export den Shadow Teil unten löschen und meinen Blockly Code wieder importiere.
edit:
ich sehe gerade im changelog das seit gestern eine 4.1.2 vorhanden ist...4.1.2 (2019-02-20)
(jkuehner) Updated the blockly to the latest code
(bleufox) scriptEnabled variables not only for experts
(bleufox) fixed one error with "cannot extract blockly"das Problem mit dem cannot extract blockly habe ich sogar aktuell, wie komme ich denn auf die Version hoch? Wird mir unter Adapter nicht angeboten.
-
@dslraser aha ich bin aktuell auf der 4.0.12 also ist es eine Beta?
Habe ich merkbare Nachteile, wenn ich runter zur 3.6.4 gehe?Ein Bug habe ich wohl in 4.0.12 gefunden, wenn man im Trigger ein 2tes Objekt hinzufügt und es danach wieder entfernen will bleibt es als unlöschbarer shadow im Hintergrund.
Löschen kann ich es dann nur, wenn ich im Export den Shadow Teil unten löschen und meinen Blockly Code wieder importiere.
edit:
ich sehe gerade im changelog das seit gestern eine 4.1.2 vorhanden ist...4.1.2 (2019-02-20)
(jkuehner) Updated the blockly to the latest code
(bleufox) scriptEnabled variables not only for experts
(bleufox) fixed one error with "cannot extract blockly"das Problem mit dem cannot extract blockly habe ich sogar aktuell, wie komme ich denn auf die Version hoch? Wird mir unter Adapter nicht angeboten.
-
Hi,
ich versuche ein "letztes Komma" in meinem DP zu entfernen, aber egal wo ich ansetze es zerschiesst mir mein Blockly. Es gibt ein Haufen Fenster Status Script die aber irgendwie nie alles abgedeckt haben, was ich gerne wollte. Ich also nachfolgendes Blockly und es funktioniert einwandfrei nur habe ich eben ein "letztes Komma" in meinem DP, das ich aus "Perfektionsgründen" gerne weg hätte.
mein Blockly ist bestimmt nich so elegant wieviele andere... aber naja ;-)
ich gehe reagier auf die Trigger der HM Fenstergriffe und schreibe abhängig davon in variable den Namen der Fenster.
Am Ende schreibe ich die Variablen in die Datenpunkte


jetzt ist wie bereit gesagt, das letzte Komma im Text zuviel.
ich müsste alle den Inhalt meiner variable " var_text_fenster_geschlossen" einlesen und das letzte "Komma" entfernen, bevor ich den Datenpunkt fülle.ich habe heute schon Stunden damit verbracht, ich stehe auf dem Schlauch.
Ich kann die "Text" Elemente aus Blockly nicht in meine Script verbinden dass irgendwie sinnig ist.bitte helft mir mal da raus.
Vielen Dank -
Hi,
ich versuche ein "letztes Komma" in meinem DP zu entfernen, aber egal wo ich ansetze es zerschiesst mir mein Blockly. Es gibt ein Haufen Fenster Status Script die aber irgendwie nie alles abgedeckt haben, was ich gerne wollte. Ich also nachfolgendes Blockly und es funktioniert einwandfrei nur habe ich eben ein "letztes Komma" in meinem DP, das ich aus "Perfektionsgründen" gerne weg hätte.
mein Blockly ist bestimmt nich so elegant wieviele andere... aber naja ;-)
ich gehe reagier auf die Trigger der HM Fenstergriffe und schreibe abhängig davon in variable den Namen der Fenster.
Am Ende schreibe ich die Variablen in die Datenpunkte


jetzt ist wie bereit gesagt, das letzte Komma im Text zuviel.
ich müsste alle den Inhalt meiner variable " var_text_fenster_geschlossen" einlesen und das letzte "Komma" entfernen, bevor ich den Datenpunkt fülle.ich habe heute schon Stunden damit verbracht, ich stehe auf dem Schlauch.
Ich kann die "Text" Elemente aus Blockly nicht in meine Script verbinden dass irgendwie sinnig ist.bitte helft mir mal da raus.
Vielen DankIch habe HMIP Fensterdrehgriffe und einfache HMIP Fenstersensoren gemischt und mache die Auswertung über die Werteliste. Vielleicht magst Du es Dir mal ansehen.
Geräte zählen
https://forum.iobroker.net/post/346230Und hier das gleiche, zusätzlich mit Alexa Ansage
https://forum.iobroker.net/post/273976 -
Ich habe HMIP Fensterdrehgriffe und einfache HMIP Fenstersensoren gemischt und mache die Auswertung über die Werteliste. Vielleicht magst Du es Dir mal ansehen.
Geräte zählen
https://forum.iobroker.net/post/346230Und hier das gleiche, zusätzlich mit Alexa Ansage
https://forum.iobroker.net/post/273976@dslraser
Hi, Danke dir, das kenne ich schon und habe viel davon abgeschaut.
Aber ich verstehe eben nicht alles und kann dann nicht daran weiterarbeiten oder verändern/ für mich ergänzen, daher habe ich es für mich neu aufgebaut.es geht mir eben nur noch um das "Komma".
-
@dslraser
Hi, Danke dir, das kenne ich schon und habe viel davon abgeschaut.
Aber ich verstehe eben nicht alles und kann dann nicht daran weiterarbeiten oder verändern/ für mich ergänzen, daher habe ich es für mich neu aufgebaut.es geht mir eben nur noch um das "Komma".
@dos1973
stelle mal Dein Blockly hier rein, ich möchte mal was probieren. -
-
Hi,
ich versuche ein "letztes Komma" in meinem DP zu entfernen, aber egal wo ich ansetze es zerschiesst mir mein Blockly. Es gibt ein Haufen Fenster Status Script die aber irgendwie nie alles abgedeckt haben, was ich gerne wollte. Ich also nachfolgendes Blockly und es funktioniert einwandfrei nur habe ich eben ein "letztes Komma" in meinem DP, das ich aus "Perfektionsgründen" gerne weg hätte.
mein Blockly ist bestimmt nich so elegant wieviele andere... aber naja ;-)
ich gehe reagier auf die Trigger der HM Fenstergriffe und schreibe abhängig davon in variable den Namen der Fenster.
Am Ende schreibe ich die Variablen in die Datenpunkte


jetzt ist wie bereit gesagt, das letzte Komma im Text zuviel.
ich müsste alle den Inhalt meiner variable " var_text_fenster_geschlossen" einlesen und das letzte "Komma" entfernen, bevor ich den Datenpunkt fülle.ich habe heute schon Stunden damit verbracht, ich stehe auf dem Schlauch.
Ich kann die "Text" Elemente aus Blockly nicht in meine Script verbinden dass irgendwie sinnig ist.bitte helft mir mal da raus.
Vielen Dank@dos1973
Naja, Du könntest ja sogar machen wieText = Im Text nimm Teil ab Anfang bis Textlänge -1
Dann isses weg :)
-
@dos1973
Naja, Du könntest ja sogar machen wieText = Im Text nimm Teil ab Anfang bis Textlänge -1
Dann isses weg :)
-
@padrino
ich bekomme die Puzzle mit den "Textblöcken" nicht in mein Blockly ohne es zu zerstören...@dos1973
Bin jetzt leider nicht am PC...Mach den Baustein, wie von mir beschrieben (allein, unter oder neben Deinem Blocken).
Als Text nimmst/verschiebst Du Deine Variable aus "beschreibe Datenpunkte", dann schiebst Du das ganze Konstrukt zurück ins "steuere", wo die Variable fehlt. =) -
@dos1973
Bin jetzt leider nicht am PC...Mach den Baustein, wie von mir beschrieben (allein, unter oder neben Deinem Blocken).
Als Text nimmst/verschiebst Du Deine Variable aus "beschreibe Datenpunkte", dann schiebst Du das ganze Konstrukt zurück ins "steuere", wo die Variable fehlt. =) -
@padrino
das klappt alles nicht,
entweder stehe ich hier total auf dem Schlauch, aber mir fehlt einfach der "Vorbau" um mit den Textblöcken zu arbeiten zu können.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Blockly_start">Blockly_start</variable> <variable type="" id="lORNh2Pt?czf/[Pfo.(1">var_fenster_offen</variable> <variable type="" id="6VGwAvuZ|naQs:$3=)Eu">var_fenster_gekippt</variable> <variable type="" id="DhL`*s-7|kUw=e@q/mo/">var_fenster_geschlossen</variable> <variable type="" id="Q!dr0|xbBMZfEjF}8{ex">var_gekippt_oder_offen</variable> <variable type="" id="b?%5%fXn!w`Ft,m~9C}C">var_text_fenster_offen</variable> <variable type="" id="6%kvOp_86|coob7n0tCg">var_text_fenster_geschlossen</variable> <variable type="" id="eVC#)Xjk3Fn4EhfdHvKE">var_text_fenster_gekippt</variable> </variables> <block type="procedures_defcustomnoreturn" id=".}seu`gD99^pXgi@37f:" disabled="true" x="13" y="63"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkt_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIAogICAgLy9GZW5zdGVyCiAgICBbJ1Rlc3QuRmVuc3Rlci5Lw7xjaGVuZmVuc3RlcicsIHsnbmFtZSc6J0vDvGNoZW5mZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5CYWRlemltbWVyZmVuc3RlcicsIHsnbmFtZSc6J0JhZGV6aW1tZXJmZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5XZXJrc3RhdHRmZW5zdGVyJywgeyduYW1lJzonV2Vya3N0YXR0ZmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonJ31dLAogICAgLy9BdXN3ZXJ0dW5nCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZcO2ZmZuZXQnLCB7J25hbWUnOidGZW5zdGVyX2dlw7ZmZm5ldCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dlw7ZmZm5ldCd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ3VuaXQnOidnZWtpcHB0J31dLAogICAgWydXb2hudW5nLlN0YXR1cy5GZW5zdGVyLkZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidGZW5zdGVyX2dlc2NobG9zc2VuJywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J251bWJlcicsICd1bml0JzonZ2VzY2hsb3NzZW4nfV0sCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZWtpcHB0X29kZXJfb2ZmZW4nLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHRfb2Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dla2lwcHQgb2RlciBvZmZlbid9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VraXBwdCcsIHsnbmFtZSc6J1RleHRfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0KICAgIApdOyAgICAKY3JlYXRlVXNlclN0YXRlcygnMF91c2VyZGF0YS4wJywgdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="geR:o({PyTnc(Sc5gB.:" x="13" y="113"> <field name="COMMENT">reagiere auf folgende Trigger</field> <next> <block type="procedures_callcustomnoreturn" id="Y(J+8eW-a^mbu))S=bB_" disabled="true"> <mutation name="Datenpunkt_erstellen"></mutation> <next> <block type="timeouts_settimeout" id="+Gk%Hxz^:(Vu2fU3uMOy"> <field name="NAME">Blockly_start</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="a%u~-DA;v9lz*7y_A:WS"> <mutation name="Fensterstatus"></mutation> </block> </statement> <next> <block type="comment" id="-[x6iQ8F2f/Qwfc!di@5"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id="w`V{-Z$TSJHD^w3Mhv[L"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="Z1]U/sdF5V*!~Ip5zG;n"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="WfxP0rlOpOKw)?Y3R7vR"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="1`$;p(lD.pfawVZ1!}IU"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="9qYGr4CdkO9)^sMLnwes"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="/00-df~G{q{oy$`Uh#kG"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="BKVG2gp$kl``tS32p,T4"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="XHe|v8~z%H}DdPk;Zp_r"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="Tdl3/XF*h}|M~s7K+_ZF"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`T;,z1M9sqS/R+@$}]T5"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="VMv-Y|2Q|j3`)gp,}9#b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="avcB2CO@{:|O49@D!$6^"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="!6|l#:oN0([^)$Yc^YH7"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="ExP%4X;!}S*9Ne)L815."> <field name="TEXT"></field> </block> </value> <next> <block type="on_ext" id="DgLM(@Y`m9+Ax*`]}ZYv"> <mutation items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="MccWTVNiQj=Ev_+^s,pL"> <field name="oid">hm-rpc.0.0000D709955B95.1.STATE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="Mrs,}xc]])?#Wa$w[FUu"> <field name="oid">hm-rpc.0.0000D709958ABE.1.STATE</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="hN3kCNp~e$@_2)VI6gB^"> <field name="oid">hm-rpc.0.0007D7099D0094.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="7?o_K3(srgL!,g:;gU-g"> <mutation name="Fensterstatus"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="Xk^vR39OPj@](zj0l0ie" x="537" y="138"> <field name="NAME">Fensterstatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="a@L9O?y5TLjU-LM5(Urk"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id=":H.wuG#*Yo7wd`F3{J#7"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="YarVMAh4Yxz188pV-xqH"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="y2WI?uN%yrW`vbHg`}1+"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="s7OCAH-QGxj4(49E_I[7"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="4YM9vFx)m%S/?|sy+L/K"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="xoOIp_`j%6Yvm)fO4H@b"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="(Gu9X1R-+OVV1||JYWoB"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="4J^L*J,iTc#?B`uw)VBV"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="2(lp]B!*k{s.{8][#iNn"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`O#o({1]d,CG)LDi9lvg"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="|18Gm{CeFWL@fP,_;yQP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="yR]le$Qehw6w=g*Q7x(_"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="^8D#R78R#fP@2mo38mQa"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="3?AaETaiw%+#1-;h1#`@"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="glO*z5IXA{#CYu{RMsIe"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="J2][l}#NSd|pngy0$L0="> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="mO]#1s+,MD,R8.Zq5nq6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I]jO~iP9%)1XhsK+q=gS"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="U.:8l|-o4c4p^Jgo*ZV?"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="V+Lqq?[{%#15_2gbKIst"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",~d%=[C#3~h8Z$5u~%+@"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="HCVS}^ZKI87xqXjC=/V8"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="-+LTb`4N`3J|O#Vb|9y#"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="3-V7%LW.j]:m8R?xm`D|"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="a%3x?`hhvQ)(j!E:4KCa"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="FTtc9IzL,#7|7@:M;|h#"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="t3^uU`?7qM8|S,NHuq-?"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="nk3|QaDe]0JlMtc]`kj~"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Xo~iN~*^Xnt0P(zk};`k"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="30Amp1V/h6gj!5#[kIe_"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="X;KG2Sc2]tGkF,/ZSLY("> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="FkDsWc2P[PNCy=@3ae[r"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Fy)COP2ti!w_w=X|SevI"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="q^`qi.(M*$`X?#FpZD[4"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="[j8CM5Yxg/nIJQxi^A{y"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="!udUyEjuH2Df+GM(?r6~"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="Udo5W?O[hjo_Z:*}i?w`"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="Vp}1hVOG1koCX3D/y#ZJ"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="gdAQZ+.qY;Ry2pR610$("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="y5dwS7Z[d0c:Odc|uLzL"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="-tRl3r_7*Ajlwx1(oUP{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="D;!HMDfrN~7m%sl0pnhI"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V]y_{vL0$OhZ#Y4C+r{;"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id=",rD_tN|Rdpsz;#redWHj"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="H#w851jEyqW~Ub#o`6sJ"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="q(hTLe5^6W6cJ`YAb;Jd"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="[U#TVSVr%UU+/##%`k4W"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Ydw`0n3@0ftZ7+U,}r_R"> <field name="COMMENT">Badezimmer</field> <next> <block type="controls_if" id="N~CHU22_MkH*VAX5s!xV"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="x}0?B9a8/|)]2.^+G_34"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DtG7%]ZkM8OU4|T9[`FE"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="Sw[[2u%w5+Z)4y(D%F%C"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="b.oXNz.%{iH5vOAY+B_y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=")jM/7;BZrueDT|7q;iNV"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id=",hW}7cf`f=J}wH47muJ~"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="9QF7$`Z$s_D0$tkX(q=7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="JplL`/=~]iy(ITu;4=O7"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="sd7v+F0lh7jxlqTM@to7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="?Bc(bxJ11JWSIN][*7y+"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="Oad/M:ODDz971h$^61NP"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="m0u%$/QO(l1.:HO.E52="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6QSIvk^*{e=]o}^R;t;`"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="}wv/U0,ZMbo{RgpY=+B("> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="dD@_qbM.S50+o8m.SQ.."> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="x}cG;Xn|D^p*o5V#b5QU"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Soc/.;N~x~/LRHtvPmjW"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="ldC95^aPu9Kbi#!Oc1?9"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="ezL]})RnyA{n-.cd8M*_"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="-cb:g!o^6Hw2*X`[%wb6"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id=":1;@t*xz=1wAlXOHybqu"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="seAD)^$m9oNzOiYwDNrf"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="nX!K![C+S_b!s]OG)l;d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cK;^Bieg:3Zl3#!O4]-@"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="_,K4[X!l+]ssFD%e%ruG"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%eHLjzdIvjp]%OLF)Z9y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="*MkgG,L[XiNa^]16KcNr"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="ttfVeGya]{afz3JuF|N`"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="-^kT~z}~TfI8x{P-j|^N"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="4i@`tENHS^iX:zHs;9*b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="1j@V[[/5O+::UChH5RU2"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="[~/l(#$5e`uo-cG1##pC"> <field name="COMMENT">Werkstatt</field> <next> <block type="controls_if" id="OP7*#wSk;c#[e-B[A*2P"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="wnvMh(,O]Yh*i?iAI.qI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@89|YY-vGSv8I;as:6-o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id=")8j+4.iQrF3GOXoev,2("> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="ARUgXh?}4{8zUZZ`B5+@"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="0E7V~Hoh*)(31.qF8J($"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="v+sMTPj4Nb_zbqdx%),z"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="0)+.{tIs6a=_6;dcg1f7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="cUhl1{PO+M*=lU}54h7$"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id=":Na]Z.-?cD%{nrEWk.-A"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="m15IJ5^FwZk{}u-Asqhi"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="jA.BLs.}}lRtOWcE|5Dh"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v{VVz]f+7/^T83F;qwCh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="48Ue+W`T#5)$UvgB4CLV"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="PlAoGB3][LKO)FC-O!3D"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id=")VJa7kr26f1YX7tfK-p{"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="i})Q%_@#8`m+m=?XUOCQ"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id=":*_G+[%r$^3(|@BH+JKb"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="O6mrs=Xd`$p]8ZR65s@x"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="=gTS{(lJP:lV0%{[=lgR"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="n?R}PhCBY97J$RdxA6Ef"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="mG]hiRc_,.]b?^R5x13U"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="b?,{4rjg3,XM=*64+Inc"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="T5buE9$1:ZN^%B66`::Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TF!FzD^Rp#OX|x1/V0f-"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="e7i(0d85q`1$DCuR56;~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%~c$;JCReV$RsGh5NLv5"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vkLs,63Ib+s%yY{n@Kfi"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="W?uyh{av*NFFC{04|%k#"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="ZurkFDSHF}HjnaF2R.aH"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="qwEpW5DvWsvZ(hW|fulP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id=")}2T3DjV;)}0q`KjGvII"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="RDjYVBiEg%d{JKKqt*S9"> <field name="COMMENT">beschreibe Datenpunkte</field> <next> <block type="update" id="-3oB33jwlN508i-4E*}w"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geöffnet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="xR{gt@Ts~#^Q9n|/7Vu5"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> </block> </value> <next> <block type="update" id="a]e?hE7O*~=.S!87wjR:"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Y#BPd=k:t=5,G^{jnDF}"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> </block> </value> <next> <block type="update" id="dtp#.,MnI;VX2Y`qc.l7"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="bQa7LPM/k)+@]-qIjJ1w"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> </block> </value> <next> <block type="update" id="rZ}wkcie,QM7pcU`PLXB"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt_oder_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="i~|ae^TsBqjwX~vZW|o;"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> </block> </value> <next> <block type="control_ex" id="XCf64K3Gz~M:BgGeoa@y" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="?[X/29n;(u{TATZZ~dec"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_offen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="9H9%GpT0qgY10(~!Pm[f"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id=".5(:l[`30E{!?e+KIr^!"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="KC/3LpVl3Gd~F{CI@bWx"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> </block> </value> <value name="AT2"> <block type="math_number" id="A?H)rLu=IeK_o$IE^ZnH"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="fWhjNhW-*YLrfuSN]2A~"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="!9f|*xHYCwQc-|finaI]" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="K`xH0x_jw(QW|KiXN^*D"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_geschlossen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="VpfP}pqKK^lE{n`!NVNB"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="@gfzBds042An6nMOt:7y"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="mXvLHmk)x{ce!tghRB]n"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> </block> </value> <value name="AT2"> <block type="math_number" id="P`+^%vH?))MH*^ckJ||D"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="9_LY!)*l[asJ3JTwZFCx"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="m6^lw2,!JEE[tKI*-`l6" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="r;*JW6Hz*h7esb.hd3#B"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_gekippt</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="}lHR]LNW)UPqJ;(*DNu1"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="j}2kpDWLFmr5T(:J.Qte"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <shadow type="text" id="EteP_lG{uP,pZJaNsx*p"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="7tl#dIaPWqa:wQUSuZA,"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> </block> </value> <value name="AT2"> <block type="math_number" id="2yp=%?jUba8Rzi9:[Bc;"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="~9F(v:%Bs:++-1=IWv%p"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Ich habe mal drei Fenster von mir probiert....

-
@padrino
das klappt alles nicht,
entweder stehe ich hier total auf dem Schlauch, aber mir fehlt einfach der "Vorbau" um mit den Textblöcken zu arbeiten zu können.@dos1973
Vorbau?
Du hast doch den Text in der Variablen "var_fenster_...").
Also packste die da rein (grüne Pfeile) und setzt es zusammen und auf "nimm Teil ab erster" umstellen.
-
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Blockly_start">Blockly_start</variable> <variable type="" id="lORNh2Pt?czf/[Pfo.(1">var_fenster_offen</variable> <variable type="" id="6VGwAvuZ|naQs:$3=)Eu">var_fenster_gekippt</variable> <variable type="" id="DhL`*s-7|kUw=e@q/mo/">var_fenster_geschlossen</variable> <variable type="" id="Q!dr0|xbBMZfEjF}8{ex">var_gekippt_oder_offen</variable> <variable type="" id="b?%5%fXn!w`Ft,m~9C}C">var_text_fenster_offen</variable> <variable type="" id="6%kvOp_86|coob7n0tCg">var_text_fenster_geschlossen</variable> <variable type="" id="eVC#)Xjk3Fn4EhfdHvKE">var_text_fenster_gekippt</variable> </variables> <block type="procedures_defcustomnoreturn" id=".}seu`gD99^pXgi@37f:" disabled="true" x="13" y="63"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkt_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIAogICAgLy9GZW5zdGVyCiAgICBbJ1Rlc3QuRmVuc3Rlci5Lw7xjaGVuZmVuc3RlcicsIHsnbmFtZSc6J0vDvGNoZW5mZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5CYWRlemltbWVyZmVuc3RlcicsIHsnbmFtZSc6J0JhZGV6aW1tZXJmZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5XZXJrc3RhdHRmZW5zdGVyJywgeyduYW1lJzonV2Vya3N0YXR0ZmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonJ31dLAogICAgLy9BdXN3ZXJ0dW5nCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZcO2ZmZuZXQnLCB7J25hbWUnOidGZW5zdGVyX2dlw7ZmZm5ldCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dlw7ZmZm5ldCd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ3VuaXQnOidnZWtpcHB0J31dLAogICAgWydXb2hudW5nLlN0YXR1cy5GZW5zdGVyLkZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidGZW5zdGVyX2dlc2NobG9zc2VuJywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J251bWJlcicsICd1bml0JzonZ2VzY2hsb3NzZW4nfV0sCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZWtpcHB0X29kZXJfb2ZmZW4nLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHRfb2Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dla2lwcHQgb2RlciBvZmZlbid9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VraXBwdCcsIHsnbmFtZSc6J1RleHRfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0KICAgIApdOyAgICAKY3JlYXRlVXNlclN0YXRlcygnMF91c2VyZGF0YS4wJywgdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="geR:o({PyTnc(Sc5gB.:" x="13" y="113"> <field name="COMMENT">reagiere auf folgende Trigger</field> <next> <block type="procedures_callcustomnoreturn" id="Y(J+8eW-a^mbu))S=bB_" disabled="true"> <mutation name="Datenpunkt_erstellen"></mutation> <next> <block type="timeouts_settimeout" id="+Gk%Hxz^:(Vu2fU3uMOy"> <field name="NAME">Blockly_start</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="a%u~-DA;v9lz*7y_A:WS"> <mutation name="Fensterstatus"></mutation> </block> </statement> <next> <block type="comment" id="-[x6iQ8F2f/Qwfc!di@5"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id="w`V{-Z$TSJHD^w3Mhv[L"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="Z1]U/sdF5V*!~Ip5zG;n"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="WfxP0rlOpOKw)?Y3R7vR"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="1`$;p(lD.pfawVZ1!}IU"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="9qYGr4CdkO9)^sMLnwes"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="/00-df~G{q{oy$`Uh#kG"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="BKVG2gp$kl``tS32p,T4"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="XHe|v8~z%H}DdPk;Zp_r"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="Tdl3/XF*h}|M~s7K+_ZF"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`T;,z1M9sqS/R+@$}]T5"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="VMv-Y|2Q|j3`)gp,}9#b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="avcB2CO@{:|O49@D!$6^"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="!6|l#:oN0([^)$Yc^YH7"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="ExP%4X;!}S*9Ne)L815."> <field name="TEXT"></field> </block> </value> <next> <block type="on_ext" id="DgLM(@Y`m9+Ax*`]}ZYv"> <mutation items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="MccWTVNiQj=Ev_+^s,pL"> <field name="oid">hm-rpc.0.0000D709955B95.1.STATE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="Mrs,}xc]])?#Wa$w[FUu"> <field name="oid">hm-rpc.0.0000D709958ABE.1.STATE</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="hN3kCNp~e$@_2)VI6gB^"> <field name="oid">hm-rpc.0.0007D7099D0094.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="7?o_K3(srgL!,g:;gU-g"> <mutation name="Fensterstatus"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="Xk^vR39OPj@](zj0l0ie" x="537" y="138"> <field name="NAME">Fensterstatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="a@L9O?y5TLjU-LM5(Urk"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id=":H.wuG#*Yo7wd`F3{J#7"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="YarVMAh4Yxz188pV-xqH"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="y2WI?uN%yrW`vbHg`}1+"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="s7OCAH-QGxj4(49E_I[7"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="4YM9vFx)m%S/?|sy+L/K"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="xoOIp_`j%6Yvm)fO4H@b"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="(Gu9X1R-+OVV1||JYWoB"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="4J^L*J,iTc#?B`uw)VBV"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="2(lp]B!*k{s.{8][#iNn"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`O#o({1]d,CG)LDi9lvg"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="|18Gm{CeFWL@fP,_;yQP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="yR]le$Qehw6w=g*Q7x(_"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="^8D#R78R#fP@2mo38mQa"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="3?AaETaiw%+#1-;h1#`@"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="glO*z5IXA{#CYu{RMsIe"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="J2][l}#NSd|pngy0$L0="> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="mO]#1s+,MD,R8.Zq5nq6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I]jO~iP9%)1XhsK+q=gS"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="U.:8l|-o4c4p^Jgo*ZV?"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="V+Lqq?[{%#15_2gbKIst"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",~d%=[C#3~h8Z$5u~%+@"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="HCVS}^ZKI87xqXjC=/V8"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="-+LTb`4N`3J|O#Vb|9y#"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="3-V7%LW.j]:m8R?xm`D|"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="a%3x?`hhvQ)(j!E:4KCa"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="FTtc9IzL,#7|7@:M;|h#"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="t3^uU`?7qM8|S,NHuq-?"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="nk3|QaDe]0JlMtc]`kj~"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Xo~iN~*^Xnt0P(zk};`k"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="30Amp1V/h6gj!5#[kIe_"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="X;KG2Sc2]tGkF,/ZSLY("> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="FkDsWc2P[PNCy=@3ae[r"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Fy)COP2ti!w_w=X|SevI"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="q^`qi.(M*$`X?#FpZD[4"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="[j8CM5Yxg/nIJQxi^A{y"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="!udUyEjuH2Df+GM(?r6~"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="Udo5W?O[hjo_Z:*}i?w`"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="Vp}1hVOG1koCX3D/y#ZJ"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="gdAQZ+.qY;Ry2pR610$("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="y5dwS7Z[d0c:Odc|uLzL"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="-tRl3r_7*Ajlwx1(oUP{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="D;!HMDfrN~7m%sl0pnhI"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V]y_{vL0$OhZ#Y4C+r{;"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id=",rD_tN|Rdpsz;#redWHj"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="H#w851jEyqW~Ub#o`6sJ"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="q(hTLe5^6W6cJ`YAb;Jd"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="[U#TVSVr%UU+/##%`k4W"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Ydw`0n3@0ftZ7+U,}r_R"> <field name="COMMENT">Badezimmer</field> <next> <block type="controls_if" id="N~CHU22_MkH*VAX5s!xV"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="x}0?B9a8/|)]2.^+G_34"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DtG7%]ZkM8OU4|T9[`FE"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="Sw[[2u%w5+Z)4y(D%F%C"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="b.oXNz.%{iH5vOAY+B_y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=")jM/7;BZrueDT|7q;iNV"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id=",hW}7cf`f=J}wH47muJ~"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="9QF7$`Z$s_D0$tkX(q=7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="JplL`/=~]iy(ITu;4=O7"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="sd7v+F0lh7jxlqTM@to7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="?Bc(bxJ11JWSIN][*7y+"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="Oad/M:ODDz971h$^61NP"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="m0u%$/QO(l1.:HO.E52="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6QSIvk^*{e=]o}^R;t;`"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="}wv/U0,ZMbo{RgpY=+B("> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="dD@_qbM.S50+o8m.SQ.."> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="x}cG;Xn|D^p*o5V#b5QU"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Soc/.;N~x~/LRHtvPmjW"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="ldC95^aPu9Kbi#!Oc1?9"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="ezL]})RnyA{n-.cd8M*_"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="-cb:g!o^6Hw2*X`[%wb6"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id=":1;@t*xz=1wAlXOHybqu"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="seAD)^$m9oNzOiYwDNrf"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="nX!K![C+S_b!s]OG)l;d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cK;^Bieg:3Zl3#!O4]-@"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="_,K4[X!l+]ssFD%e%ruG"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%eHLjzdIvjp]%OLF)Z9y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="*MkgG,L[XiNa^]16KcNr"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="ttfVeGya]{afz3JuF|N`"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="-^kT~z}~TfI8x{P-j|^N"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="4i@`tENHS^iX:zHs;9*b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="1j@V[[/5O+::UChH5RU2"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="[~/l(#$5e`uo-cG1##pC"> <field name="COMMENT">Werkstatt</field> <next> <block type="controls_if" id="OP7*#wSk;c#[e-B[A*2P"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="wnvMh(,O]Yh*i?iAI.qI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@89|YY-vGSv8I;as:6-o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id=")8j+4.iQrF3GOXoev,2("> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="ARUgXh?}4{8zUZZ`B5+@"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="0E7V~Hoh*)(31.qF8J($"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="v+sMTPj4Nb_zbqdx%),z"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="0)+.{tIs6a=_6;dcg1f7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="cUhl1{PO+M*=lU}54h7$"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id=":Na]Z.-?cD%{nrEWk.-A"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="m15IJ5^FwZk{}u-Asqhi"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="jA.BLs.}}lRtOWcE|5Dh"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v{VVz]f+7/^T83F;qwCh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="48Ue+W`T#5)$UvgB4CLV"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="PlAoGB3][LKO)FC-O!3D"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id=")VJa7kr26f1YX7tfK-p{"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="i})Q%_@#8`m+m=?XUOCQ"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id=":*_G+[%r$^3(|@BH+JKb"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="O6mrs=Xd`$p]8ZR65s@x"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="=gTS{(lJP:lV0%{[=lgR"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="n?R}PhCBY97J$RdxA6Ef"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="mG]hiRc_,.]b?^R5x13U"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="b?,{4rjg3,XM=*64+Inc"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="T5buE9$1:ZN^%B66`::Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TF!FzD^Rp#OX|x1/V0f-"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="e7i(0d85q`1$DCuR56;~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%~c$;JCReV$RsGh5NLv5"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vkLs,63Ib+s%yY{n@Kfi"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="W?uyh{av*NFFC{04|%k#"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="ZurkFDSHF}HjnaF2R.aH"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="qwEpW5DvWsvZ(hW|fulP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id=")}2T3DjV;)}0q`KjGvII"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="RDjYVBiEg%d{JKKqt*S9"> <field name="COMMENT">beschreibe Datenpunkte</field> <next> <block type="update" id="-3oB33jwlN508i-4E*}w"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geöffnet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="xR{gt@Ts~#^Q9n|/7Vu5"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> </block> </value> <next> <block type="update" id="a]e?hE7O*~=.S!87wjR:"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Y#BPd=k:t=5,G^{jnDF}"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> </block> </value> <next> <block type="update" id="dtp#.,MnI;VX2Y`qc.l7"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="bQa7LPM/k)+@]-qIjJ1w"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> </block> </value> <next> <block type="update" id="rZ}wkcie,QM7pcU`PLXB"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt_oder_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="i~|ae^TsBqjwX~vZW|o;"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> </block> </value> <next> <block type="control_ex" id="XCf64K3Gz~M:BgGeoa@y" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="?[X/29n;(u{TATZZ~dec"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_offen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="9H9%GpT0qgY10(~!Pm[f"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id=".5(:l[`30E{!?e+KIr^!"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="KC/3LpVl3Gd~F{CI@bWx"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> </block> </value> <value name="AT2"> <block type="math_number" id="A?H)rLu=IeK_o$IE^ZnH"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="fWhjNhW-*YLrfuSN]2A~"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="!9f|*xHYCwQc-|finaI]" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="K`xH0x_jw(QW|KiXN^*D"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_geschlossen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="VpfP}pqKK^lE{n`!NVNB"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="@gfzBds042An6nMOt:7y"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="mXvLHmk)x{ce!tghRB]n"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> </block> </value> <value name="AT2"> <block type="math_number" id="P`+^%vH?))MH*^ckJ||D"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="9_LY!)*l[asJ3JTwZFCx"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="m6^lw2,!JEE[tKI*-`l6" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="r;*JW6Hz*h7esb.hd3#B"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_gekippt</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="}lHR]LNW)UPqJ;(*DNu1"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="j}2kpDWLFmr5T(:J.Qte"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <shadow type="text" id="EteP_lG{uP,pZJaNsx*p"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="7tl#dIaPWqa:wQUSuZA,"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> </block> </value> <value name="AT2"> <block type="math_number" id="2yp=%?jUba8Rzi9:[Bc;"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="~9F(v:%Bs:++-1=IWv%p"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Ich habe mal drei Fenster von mir probiert....

@dslraser
Oha, ah ja, "bis von hinten gibt's ja auch". :D
Aber wieso "3"? -
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Blockly_start">Blockly_start</variable> <variable type="" id="lORNh2Pt?czf/[Pfo.(1">var_fenster_offen</variable> <variable type="" id="6VGwAvuZ|naQs:$3=)Eu">var_fenster_gekippt</variable> <variable type="" id="DhL`*s-7|kUw=e@q/mo/">var_fenster_geschlossen</variable> <variable type="" id="Q!dr0|xbBMZfEjF}8{ex">var_gekippt_oder_offen</variable> <variable type="" id="b?%5%fXn!w`Ft,m~9C}C">var_text_fenster_offen</variable> <variable type="" id="6%kvOp_86|coob7n0tCg">var_text_fenster_geschlossen</variable> <variable type="" id="eVC#)Xjk3Fn4EhfdHvKE">var_text_fenster_gekippt</variable> </variables> <block type="procedures_defcustomnoreturn" id=".}seu`gD99^pXgi@37f:" disabled="true" x="13" y="63"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkt_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIAogICAgLy9GZW5zdGVyCiAgICBbJ1Rlc3QuRmVuc3Rlci5Lw7xjaGVuZmVuc3RlcicsIHsnbmFtZSc6J0vDvGNoZW5mZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5CYWRlemltbWVyZmVuc3RlcicsIHsnbmFtZSc6J0JhZGV6aW1tZXJmZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5XZXJrc3RhdHRmZW5zdGVyJywgeyduYW1lJzonV2Vya3N0YXR0ZmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonJ31dLAogICAgLy9BdXN3ZXJ0dW5nCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZcO2ZmZuZXQnLCB7J25hbWUnOidGZW5zdGVyX2dlw7ZmZm5ldCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dlw7ZmZm5ldCd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ3VuaXQnOidnZWtpcHB0J31dLAogICAgWydXb2hudW5nLlN0YXR1cy5GZW5zdGVyLkZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidGZW5zdGVyX2dlc2NobG9zc2VuJywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J251bWJlcicsICd1bml0JzonZ2VzY2hsb3NzZW4nfV0sCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZWtpcHB0X29kZXJfb2ZmZW4nLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHRfb2Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dla2lwcHQgb2RlciBvZmZlbid9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VraXBwdCcsIHsnbmFtZSc6J1RleHRfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0KICAgIApdOyAgICAKY3JlYXRlVXNlclN0YXRlcygnMF91c2VyZGF0YS4wJywgdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="geR:o({PyTnc(Sc5gB.:" x="13" y="113"> <field name="COMMENT">reagiere auf folgende Trigger</field> <next> <block type="procedures_callcustomnoreturn" id="Y(J+8eW-a^mbu))S=bB_" disabled="true"> <mutation name="Datenpunkt_erstellen"></mutation> <next> <block type="timeouts_settimeout" id="+Gk%Hxz^:(Vu2fU3uMOy"> <field name="NAME">Blockly_start</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="a%u~-DA;v9lz*7y_A:WS"> <mutation name="Fensterstatus"></mutation> </block> </statement> <next> <block type="comment" id="-[x6iQ8F2f/Qwfc!di@5"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id="w`V{-Z$TSJHD^w3Mhv[L"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="Z1]U/sdF5V*!~Ip5zG;n"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="WfxP0rlOpOKw)?Y3R7vR"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="1`$;p(lD.pfawVZ1!}IU"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="9qYGr4CdkO9)^sMLnwes"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="/00-df~G{q{oy$`Uh#kG"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="BKVG2gp$kl``tS32p,T4"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="XHe|v8~z%H}DdPk;Zp_r"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="Tdl3/XF*h}|M~s7K+_ZF"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`T;,z1M9sqS/R+@$}]T5"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="VMv-Y|2Q|j3`)gp,}9#b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="avcB2CO@{:|O49@D!$6^"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="!6|l#:oN0([^)$Yc^YH7"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="ExP%4X;!}S*9Ne)L815."> <field name="TEXT"></field> </block> </value> <next> <block type="on_ext" id="DgLM(@Y`m9+Ax*`]}ZYv"> <mutation items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="MccWTVNiQj=Ev_+^s,pL"> <field name="oid">hm-rpc.0.0000D709955B95.1.STATE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="Mrs,}xc]])?#Wa$w[FUu"> <field name="oid">hm-rpc.0.0000D709958ABE.1.STATE</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="hN3kCNp~e$@_2)VI6gB^"> <field name="oid">hm-rpc.0.0007D7099D0094.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="7?o_K3(srgL!,g:;gU-g"> <mutation name="Fensterstatus"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="Xk^vR39OPj@](zj0l0ie" x="537" y="138"> <field name="NAME">Fensterstatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="a@L9O?y5TLjU-LM5(Urk"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id=":H.wuG#*Yo7wd`F3{J#7"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="YarVMAh4Yxz188pV-xqH"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="y2WI?uN%yrW`vbHg`}1+"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="s7OCAH-QGxj4(49E_I[7"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="4YM9vFx)m%S/?|sy+L/K"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="xoOIp_`j%6Yvm)fO4H@b"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="(Gu9X1R-+OVV1||JYWoB"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="4J^L*J,iTc#?B`uw)VBV"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="2(lp]B!*k{s.{8][#iNn"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`O#o({1]d,CG)LDi9lvg"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="|18Gm{CeFWL@fP,_;yQP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="yR]le$Qehw6w=g*Q7x(_"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="^8D#R78R#fP@2mo38mQa"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="3?AaETaiw%+#1-;h1#`@"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="glO*z5IXA{#CYu{RMsIe"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="J2][l}#NSd|pngy0$L0="> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="mO]#1s+,MD,R8.Zq5nq6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I]jO~iP9%)1XhsK+q=gS"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="U.:8l|-o4c4p^Jgo*ZV?"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="V+Lqq?[{%#15_2gbKIst"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",~d%=[C#3~h8Z$5u~%+@"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="HCVS}^ZKI87xqXjC=/V8"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="-+LTb`4N`3J|O#Vb|9y#"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="3-V7%LW.j]:m8R?xm`D|"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="a%3x?`hhvQ)(j!E:4KCa"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="FTtc9IzL,#7|7@:M;|h#"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="t3^uU`?7qM8|S,NHuq-?"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="nk3|QaDe]0JlMtc]`kj~"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Xo~iN~*^Xnt0P(zk};`k"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="30Amp1V/h6gj!5#[kIe_"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="X;KG2Sc2]tGkF,/ZSLY("> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="FkDsWc2P[PNCy=@3ae[r"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Fy)COP2ti!w_w=X|SevI"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="q^`qi.(M*$`X?#FpZD[4"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="[j8CM5Yxg/nIJQxi^A{y"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="!udUyEjuH2Df+GM(?r6~"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="Udo5W?O[hjo_Z:*}i?w`"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="Vp}1hVOG1koCX3D/y#ZJ"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="gdAQZ+.qY;Ry2pR610$("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="y5dwS7Z[d0c:Odc|uLzL"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="-tRl3r_7*Ajlwx1(oUP{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="D;!HMDfrN~7m%sl0pnhI"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V]y_{vL0$OhZ#Y4C+r{;"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id=",rD_tN|Rdpsz;#redWHj"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="H#w851jEyqW~Ub#o`6sJ"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="q(hTLe5^6W6cJ`YAb;Jd"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="[U#TVSVr%UU+/##%`k4W"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Ydw`0n3@0ftZ7+U,}r_R"> <field name="COMMENT">Badezimmer</field> <next> <block type="controls_if" id="N~CHU22_MkH*VAX5s!xV"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="x}0?B9a8/|)]2.^+G_34"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DtG7%]ZkM8OU4|T9[`FE"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="Sw[[2u%w5+Z)4y(D%F%C"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="b.oXNz.%{iH5vOAY+B_y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=")jM/7;BZrueDT|7q;iNV"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id=",hW}7cf`f=J}wH47muJ~"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="9QF7$`Z$s_D0$tkX(q=7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="JplL`/=~]iy(ITu;4=O7"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="sd7v+F0lh7jxlqTM@to7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="?Bc(bxJ11JWSIN][*7y+"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="Oad/M:ODDz971h$^61NP"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="m0u%$/QO(l1.:HO.E52="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6QSIvk^*{e=]o}^R;t;`"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="}wv/U0,ZMbo{RgpY=+B("> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="dD@_qbM.S50+o8m.SQ.."> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="x}cG;Xn|D^p*o5V#b5QU"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Soc/.;N~x~/LRHtvPmjW"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="ldC95^aPu9Kbi#!Oc1?9"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="ezL]})RnyA{n-.cd8M*_"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="-cb:g!o^6Hw2*X`[%wb6"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id=":1;@t*xz=1wAlXOHybqu"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="seAD)^$m9oNzOiYwDNrf"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="nX!K![C+S_b!s]OG)l;d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cK;^Bieg:3Zl3#!O4]-@"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="_,K4[X!l+]ssFD%e%ruG"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%eHLjzdIvjp]%OLF)Z9y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="*MkgG,L[XiNa^]16KcNr"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="ttfVeGya]{afz3JuF|N`"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="-^kT~z}~TfI8x{P-j|^N"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="4i@`tENHS^iX:zHs;9*b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="1j@V[[/5O+::UChH5RU2"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="[~/l(#$5e`uo-cG1##pC"> <field name="COMMENT">Werkstatt</field> <next> <block type="controls_if" id="OP7*#wSk;c#[e-B[A*2P"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="wnvMh(,O]Yh*i?iAI.qI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@89|YY-vGSv8I;as:6-o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id=")8j+4.iQrF3GOXoev,2("> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="ARUgXh?}4{8zUZZ`B5+@"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="0E7V~Hoh*)(31.qF8J($"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="v+sMTPj4Nb_zbqdx%),z"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="0)+.{tIs6a=_6;dcg1f7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="cUhl1{PO+M*=lU}54h7$"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id=":Na]Z.-?cD%{nrEWk.-A"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="m15IJ5^FwZk{}u-Asqhi"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="jA.BLs.}}lRtOWcE|5Dh"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v{VVz]f+7/^T83F;qwCh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="48Ue+W`T#5)$UvgB4CLV"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="PlAoGB3][LKO)FC-O!3D"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id=")VJa7kr26f1YX7tfK-p{"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="i})Q%_@#8`m+m=?XUOCQ"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id=":*_G+[%r$^3(|@BH+JKb"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="O6mrs=Xd`$p]8ZR65s@x"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="=gTS{(lJP:lV0%{[=lgR"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="n?R}PhCBY97J$RdxA6Ef"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="mG]hiRc_,.]b?^R5x13U"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="b?,{4rjg3,XM=*64+Inc"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="T5buE9$1:ZN^%B66`::Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TF!FzD^Rp#OX|x1/V0f-"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="e7i(0d85q`1$DCuR56;~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%~c$;JCReV$RsGh5NLv5"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vkLs,63Ib+s%yY{n@Kfi"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="W?uyh{av*NFFC{04|%k#"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="ZurkFDSHF}HjnaF2R.aH"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="qwEpW5DvWsvZ(hW|fulP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id=")}2T3DjV;)}0q`KjGvII"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="RDjYVBiEg%d{JKKqt*S9"> <field name="COMMENT">beschreibe Datenpunkte</field> <next> <block type="update" id="-3oB33jwlN508i-4E*}w"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geöffnet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="xR{gt@Ts~#^Q9n|/7Vu5"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> </block> </value> <next> <block type="update" id="a]e?hE7O*~=.S!87wjR:"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Y#BPd=k:t=5,G^{jnDF}"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> </block> </value> <next> <block type="update" id="dtp#.,MnI;VX2Y`qc.l7"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="bQa7LPM/k)+@]-qIjJ1w"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> </block> </value> <next> <block type="update" id="rZ}wkcie,QM7pcU`PLXB"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt_oder_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="i~|ae^TsBqjwX~vZW|o;"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> </block> </value> <next> <block type="control_ex" id="XCf64K3Gz~M:BgGeoa@y" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="?[X/29n;(u{TATZZ~dec"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_offen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="9H9%GpT0qgY10(~!Pm[f"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id=".5(:l[`30E{!?e+KIr^!"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="KC/3LpVl3Gd~F{CI@bWx"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> </block> </value> <value name="AT2"> <block type="math_number" id="A?H)rLu=IeK_o$IE^ZnH"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="fWhjNhW-*YLrfuSN]2A~"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="!9f|*xHYCwQc-|finaI]" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="K`xH0x_jw(QW|KiXN^*D"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_geschlossen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="VpfP}pqKK^lE{n`!NVNB"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="@gfzBds042An6nMOt:7y"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="mXvLHmk)x{ce!tghRB]n"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> </block> </value> <value name="AT2"> <block type="math_number" id="P`+^%vH?))MH*^ckJ||D"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="9_LY!)*l[asJ3JTwZFCx"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="m6^lw2,!JEE[tKI*-`l6" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="r;*JW6Hz*h7esb.hd3#B"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_gekippt</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="}lHR]LNW)UPqJ;(*DNu1"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="j}2kpDWLFmr5T(:J.Qte"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <shadow type="text" id="EteP_lG{uP,pZJaNsx*p"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="7tl#dIaPWqa:wQUSuZA,"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> </block> </value> <value name="AT2"> <block type="math_number" id="2yp=%?jUba8Rzi9:[Bc;"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="~9F(v:%Bs:++-1=IWv%p"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Ich habe mal drei Fenster von mir probiert....

@dslraser : Vielen Dank!
ich hasse und liebe dieses Blockly ;-)
es klappt, endlich!das meine ich, ich habe den Einstige nicht gesehen - wo ich das grüne "text" puzzle reinsetzen muss.
ich habe auch nicht verstanden warum 3
ich habe den Text, ein Komma und ein Leerzeichen. ich hätte jetzt 2 erwartet?!?es klappt, ich darf gar nicht sagen wieviele Stunden ich heute und gestern an dem "Komma" gesessen habe. Dabei habe ich schon wieder einen neuen Wunsch erkannt - an dem versuche ich mich erst noch etwas ;-)
@padrino : Dir auch Danke
-
@dslraser : Vielen Dank!
ich hasse und liebe dieses Blockly ;-)
es klappt, endlich!das meine ich, ich habe den Einstige nicht gesehen - wo ich das grüne "text" puzzle reinsetzen muss.
ich habe auch nicht verstanden warum 3
ich habe den Text, ein Komma und ein Leerzeichen. ich hätte jetzt 2 erwartet?!?es klappt, ich darf gar nicht sagen wieviele Stunden ich heute und gestern an dem "Komma" gesessen habe. Dabei habe ich schon wieder einen neuen Wunsch erkannt - an dem versuche ich mich erst noch etwas ;-)
@padrino : Dir auch Danke
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauscht, da es eigene Datenpunkte sind. Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen. -
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauscht, da es eigene Datenpunkte sind. Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen.@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauschdas aktualisieren und schreiben meinst du, richtig?

@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen.das verstehe ich nicht?
-
@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauschdas aktualisieren und schreiben meinst du, richtig?

@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen.das verstehe ich nicht?
das hier hast Du in Deinem Blockly, die 2 hast Du als Text, ich als Zahl

Die Datenpunkte sind vom Typ number (in Deinem Vergleich hast Du aber string/Text)

Hier sind es auch Zahlen, das ist richtig

und das hier hast Du auch als steuere, ich als aktualisiere

-
Hallo
Hat das ganze hier noch irgendwas mit meiner Vorlage zutun?:face_with_rolling_eyes:
Rantanplan
CCU3 / MS Server 2019(VM) / Scripten mit Blockly