- Home
- Deutsch
- Skripten / Logik
- Blockly
- Blockly Selektor u. Aufzählungen Geräte zählen
Blockly Selektor u. Aufzählungen Geräte zählen
-
Oh Mann, seit dem javascript Neustart kommt jetzt immer folgende Meldung
host.debian-iobroker 2020-01-25 19:40:31.198 info Restart adapter system.adapter.javascript.0 because enabled host.debian-iobroker 2020-01-25 19:40:31.198 error instance system.adapter.javascript.0 terminated with code 156 (156) ``` Der Adapter startet immer neu :-(
-
@Freaknet
dann starte mal Dein System ganz neu. (dieser Fehler dürfte aber nichts mit dem Blockly zu tun haben) -
Nach Neustart scheint zumindest das Problem erledigt zu sein...
Trotzdem läuft das Script nicht... -
@Freaknet
ich muss Dich auf später oder morgen vertrösten...(ich bin nur am Handy) -
Kein Thema...
Trotzdem Danke bis dahin -
@Freaknet
zwei Fragen noch...Hast Du nach dem Blockly Start mal ein Fenster geöfnnet oder geschlossen ?
Was sagt eigentlich das Log, werden da Geräte gefunden ? -
Ja, nach jeder Änderung des Scripts hab ich mal ein Fenster geöffnet um zu testen. Leider steht alles immer auf 0 bzw. "liste leer".
Wann müssten die Geräte gefunden werden? Bei Script Start oder wenn ich ein Fenster öffne?
Muss ich dazu Javascript auf Debug stellen?
Hab bis jetzt noch nichts gesehen das Geräte gefunden wurden. -
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Wann müssten die Geräte gefunden werden?
Beim öffnen oder schließen, halt wenn sich was ändert.
Der Selektor findet so halt noch nichts, so wie es aussieht.
Mit Log meinte ich, wenn Du das Blockly startest steht unten im Log halt das x Geräte registriert wurden, oder so ähnlich.Aber erstmal muss der Selektor was finden, daran liegt es erstmal.
-
Ne im Log beim Blockly kommt nix rüber...
Du meinst das Protokoll?
Muss eigentlich der kpl. Ordner als Fenster markiert sein oder reicht der State "open" für die Aufzählung?
-
probiere mal den hier gezeigten Selektor für deconz
-
-
@Freaknet
nein, so wie er da steht, ohne functions (also quasi ohne die Aufzählung Fenster)probiere mal so
state.id=deconz.0.*.open
oder so
state[state.id=deconz.0.*.open]
-
-
state.id=deconz.0..open
state[state.id=deconz.0..open]beides nicht funktioniert... oder muss ich jedesmal javascript und admin adapter neu starten?
Denk für heute ist genug getestet. Vielleicht morgen nochmal mit frischem Elan
Danke nochmal für die Hilfe bis dahin! -
Bitte lösche mal die erstellten Datenpunkte. (die erstellt das Blockly ja neu)
Ich habe mir mal Deinen RAW eingebaut und noch einen zweiten erstellt.Die erstellten Datenpunkte vom Blockly sehen dann so aus.
Die erstellte html Datei sieht dann so aus
Versuche es mal damit, bei mir funktioniert es.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="E-2Ms[EQ*lEe7IRh*cIa">id</variable> <variable type="" id=",CKGwqCVMH?=oFfDM}">arry</variable> <variable type="" id="9,LX9Q_^1Zm.XL]5L%Y">trenner</variable> <variable type="" id="[TAk8x}N*-*/aViN*mpm">anzahl_Fenster_offen</variable> <variable type="" id="0%(G)y@(ps#FB+i|^[Od">anzahl_Fenster_geschlossen</variable> <variable type="" id="3=X9MAe.hq%CECAY8E{I">anzahl_Fenster_gesamt</variable> <variable type="" id="V%!;pB0[,[eHK8CniGE1">text_offene_Fenster_Liste</variable> <variable type="" id="UVcu;zpo3^E7FM(Nc,??">text_gesamt_Fenster_Liste</variable> <variable type="" id=":KX7~tPL%CGSc5%CKylU">html_Fenster_Liste</variable> <variable type="" id="5sx0p-H2UR:qGkILu12b">idFenster</variable> <variable type="" id="HYyl#n^=-9$2h^y`Y;N?">htmlText</variable> </variables> <block type="procedures_defcustomreturn" id="!N6;}kSECsPgA~=}mQv" x="13" y="13"> <mutation statements="false"> <arg name="id" varid="E-2Ms[EQ*lEe7IRh*cIa"></arg> </mutation> <field name="NAME">getParentName</field> <field name="SCRIPT">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQp2YXIgZGV2aWNlbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9wZW4iKSk7IC8vLm9wZW4gYXVzIFRleHQgZW50ZmVybmVuDQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZS5zdWJzdHJpbmcoMCwgbmFtZS5pbmRleE9mKCIub3BlbiIpKTsNCg0KLy9pZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="_(a~5[lFS^_b-QSlk(!i" x="13" y="63"> <mutation statements="false"> <arg name="arry" varid=",CKGwqCVMH?=oFfDM}"></arg> <arg name="trenner" varid="9,LX9Q_^1Zm.XL]5L%Y"></arg> </mutation> <field name="NAME">arry, trenner</field> <field name="SCRIPT">cmV0dXJuIGFycnkuam9pbih0cmVubmVyKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="RNp5O@$XFY~1TyEGm,2," x="13" y="113"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAxX0FuemFobF9GZW5zdGVyX29mZmVuJywgeyduYW1lJzonMDFfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAyX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJywgeyduYW1lJzonMDJfQW56YWhsX0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAzX0FuemFobF9GZW5zdGVyX2dlc2FtdCcsIHsnbmFtZSc6JzAzX0FuemFobF9GZW5zdGVyX2dlc2FtdCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J0ZlbnN0ZXInLCAnZGVmJzowIH1dLAogICAgWydGZW5zdGVyX3phZWhsZW4uMDRfdGV4dF9vZmZlbmVfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA0X3RleHRfb2ZmZW5lX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgWydGZW5zdGVyX3phZWhsZW4uMDVfdGV4dF9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNV90ZXh0X2dlc2FtdGVfRmVuc3Rlcl9MaXN0ZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgICBbJ0ZlbnN0ZXJfemFlaGxlbi4wNl9odG1sX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNl9odG1sX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgCl07ICAgIApjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7Cg==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="`Y#pZGzBi4#6FyJ[V8~l" x="13" y="163"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="comment" id="F_ne1?(C{bV)b~x7T@@s"> <field name="COMMENT">Selektor an die eigene Aufzählung anpassen</field> <next> <block type="on_ext" id="E4B[]DA%?ZuNC}AEtZTH"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="^t*7Z~XrlBXT[L,98=n*"> <field name="oid">default</field> </shadow> <block type="selector" id="y[jJ;,(-]Db*{}^y#F3v"> <field name="TEXT">state[id=*.open](functions=Fenster)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="qirpx07BoQ*?TV4gduet" collapsed="true"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> <value name="VALUE"> <block type="math_number" id="w/#SFT.RTD._k(}^!W$Q"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="kgM!sYoju}j!8=D*X[K_" collapsed="true"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="6m:*Ze4Y$vni}hxX=)_Y"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="d]+swEgKe/XnMimCKY0l" collapsed="true"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="VALUE"> <block type="math_number" id="/oGIB[13KY!]2]iA^_i8"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=";30#Q`9DDf02i0ZFc+66" collapsed="true"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="RQWyZ1?XEp=u,8},x.O."> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="?AQPyg6j[kcY2KgXqFQv" collapsed="true"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="GXB4~qw-@)tIXP#[i8]="> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id=")wqTS]oR-i%87uhNmC9l" collapsed="true"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="8Tk0R,[pE^t/_M=4v_Ak"> <mutation items="0"></mutation> </block> </value> <next> <block type="comment" id="|Kr/eN(s#WuE|=U1GZm!"> <field name="COMMENT">Selektor an die eigene Aufzählung anpassen</field> <next> <block type="controls_forEach" id="rME5WFeagxOZg6Gr{xzO"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> <value name="LIST"> <block type="selector" id="C?:@?Eho-`=l}!p-E%Nu"> <field name="TEXT">state[id=*.open](functions=Fenster)</field> </block> </value> <statement name="DO"> <block type="math_change" id="P/GSBqX;OeOw_-At,B+y"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="za5`#8E^=uh$7KSz).K;"> <field name="NUM">1</field> </shadow> </value> <next> <block type="variables_set" id="G8Tm[:wx%E{5.tB$}G6]" collapsed="true"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> <value name="VALUE"> <block type="text_join" id="p!!Lmz*Mn~#a3qD$~BfC"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="8~by}}vJ8,!0b@!Y]lLn"> <field name="TEXT"><!DOCTYPE html><html lang="de"><head><title>Fenster</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body></field> </block> </value> <value name="ADD1"> <block type="text" id="xLwsfenlO-x?[!nPY/RT"> <field name="TEXT"><p style="color:#0000FF; font-family:Helvetica; font-weight: bold">Fensterstatus</p> </field> </block> </value> <value name="ADD2"> <block type="text" id="U)aPat`w:x6)n%+Q,.a@"> <field name="TEXT"><p style="color:#ff0000; font-family:Helvetica; font-weight: bold">letze Änderung: </field> </block> </value> <value name="ADD3"> <block type="time_get" id="i_N@zC{#VU?.Nu:}@d/%"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field> </block> </value> <value name="ADD4"> <block type="text" id="~P[e^49s89A6I]N^nwG{"> <field name="TEXT"> </p> </field> </block> </value> <value name="ADD5"> <block type="text" id="87e{-VI:u.ht)`~fVl(G"> <field name="TEXT"><table border="8" cellspacing="10" cellpadding="20" style="color:black; font-family:Helvetica;background-image: linear-gradient(42deg,transparent,lightblue);"></field> </block> </value> <value name="ADD6"> <block type="text" id="M.plPqnkqp0(WgjLCE)i"> <field name="TEXT"><tr style="color:#0000FF"; font-weight: bold"><td>Fenster-Türen&ensp;&ensp;&ensp;</td><td>Status</td></tr></field> </block> </value> <value name="ADD7"> <block type="text" id="ij-Y|ofel++]5@^-]zW1"> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <next> <block type="controls_if" id="xLj1@;+3M|O{X;[xpM2y" collapsed="true"> <value name="IF0"> <block type="logic_compare" id="jD}f))zVfiNVEfU0#C.,"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="$o8Tz6gu!~s?t~-kMs)E"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="U,(7MAg#UIbc9rg?oCN;"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="jI+dHc;A3L2=@+`hdC,Y"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="P:l,KPktzyJ$b[6Q4]-+"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="E+C7io7^yQ}y%=:`g5CU"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="Jx//mw-@`.DJzx?-eE}8"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="u.=h^J7FiPd@5^0%##r$"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="zmbI3~X9qFV]:6,kYP2p"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="bPRw~Z3+N/7UnU]8Xbm0"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="/Md#U:;tJFsOyw0+hxnf"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="JsU[}Hc0LvLc7=}oO#M6"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="MnJ-tOwgh]opb|{d6%sp"> <field name="TEXT"> geöffnet</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="JUhajq:b(vW`p:/IKO(t"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="ZPnv}ix9f5Rk!NQ$3?3r"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="{G*b[pnUc0GL#`2KEb]!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="yyOs36_-|Yu-65E=!w5/"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="?KKl4aY,cua!K%VzIy81"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="D(Cb,M`,BVlp=QRd7TyS"> <field name="TEXT"> geöffnet</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="UDBE^HWdtWg5.=4-7$zR"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="3i@j$ng`t`0.u$3FnhC9"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="PFG704EpAutejvI7jp5H"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="[ZFN~Rb`h(Xujw81Mw70"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="UL/DlhD~QhvM-=,tj3#V"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="3eyp.IRej:Yv+YFx;D#}"> <field name="TEXT"><td><span style="color:#FF0000"> geöffnet </span></field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="^o{G81g(aI(sn8@Mwb=1" collapsed="true"> <value name="IF0"> <block type="logic_compare" id="%kW+p{j%;c3u7|sXj.4S"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="PY.Yk2-M_!-Cxvj;{[sO"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="U,(7MAg#UIbc9rg?oCN;"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="z4NbAZ[?hF{Z:e!K{j}!"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="Y#_wy+$.CGzl)G#Vi`qL"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="Or#k;HL?z.(o~6A{^K!$"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="~e0UyUfUc:23iOLg+%RC"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="Ix7lOh,i!cCC7@NrrqTG"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="uq}lnZO;MqtB;iVHJAp:"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="9zg?_;h,{av!lPgI1F`b"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="cs+Z_lIA#0}[Dl04k8O`"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="BJ.5b(7Gtai(/eSon7;5"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="WIGEv9%{c]*Mo6BVk]I7"> <field name="TEXT"> geschlossen</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="V|q-jH:]HuWsIcQI*3l["> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="X@%gZ#Dn.zc!EdGjcU.N"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="n^hjv@;@y~S5f!8=F,eY"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="Fyzb!BW2D~-`P0Wd@RK2"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="SZH$dy8:seb,cOmv3NB%"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="vxLHv-Jo:s0-M{CYT$[i"> <field name="TEXT"><td>geschlossen</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="update" id="{E63Wl8tzwY%YckA]?Vb" collapsed="true"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.01_Anzahl_Fenster_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="qQ,oOO~.s*XO8Ssw$Ao#"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> </block> </value> <next> <block type="update" id="WyF$571G1#KpN-Er:wE%" collapsed="true"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=":@8~s2A%OUB^jin-Q:WN"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> </block> </value> <next> <block type="update" id="g3YDEerSj_sOlgGqI#4~" collapsed="true"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.03_Anzahl_Fenster_gesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="{m,C9W4ul)/W6W|6HZDv"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> </block> </value> <next> <block type="update" id="YG1Kl9T^Ud,g?i(;e!%Q" collapsed="true"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.05_text_gesamte_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="nLv*WKB{CDe]fUNkj^`O"> <mutation items="1"></mutation> <value name="ADD0"> <block type="variables_get" id="6o4D|0.w3#6%BM,6_?-`"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> </block> </value> <next> <block type="controls_if" id="rQ$!??i)`Ny(R#ffu%~j" collapsed="true"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id=".TH:dX(/+DDnsOplTBm7" inline="false"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=".j(IQ#b)e/W!Ok!Jv*R*"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> <value name="B"> <block type="text" id="hSj{|K,tA}{P%EBCv~E`"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="_~BsH#CC2]W7uh9YBh7t"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.04_text_offene_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="ASjo8@rDhzXC9RZ#r%eY"> <field name="TEXT">Aktuell sind alle Fenster oder Türen geschlossen.</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="`[cgrj?ltES7x:H3w*5b"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.04_text_offene_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="W*,K#FuU@/_ZJl*e=U5!"> <mutation items="1"></mutation> <value name="ADD0"> <block type="variables_get" id=".#xqS2_LQte;Up!=%O%v"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> </block> </value> </block> </statement> <next> <block type="update" id="WLR!ze5](]Hs8TX{|[rn" collapsed="true"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.06_html_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="4vX-D:LE7{DX^J!E.YZ9"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="hNP!9v*s,u~YJ.roiEyH"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="7.rh3H:PU%D/C%QPp.:N"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="lists_sort" id="QQ25wyL6U=Op$hO7,O7c"> <field name="TYPE">TEXT</field> <field name="DIRECTION">1</field> <value name="LIST"> <block type="variables_get" id="~NFN4XiuFz@b%Pydm!7x"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> </block> </value> <value name="ARG1"> <block type="text" id="IcziA#@UNL)dXDH*)cg}"> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="p1eGAr:e-Zc]6B_8h5]J"> <field name="TEXT"></table></body></field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
Bist der BESTE
Scheint zu funktionieren!!!
Nur zeigt es unter 01_Anzahl_Fenster_offen 0 an obwohl 1 Fenster geöffnet (Speis).
Beim Text Datenpunkt wird es erkannt als offen.
Nachtrag: Hab Script nochmal gestartet und Fenster geöffnet, jetzt zeigt er auch das Fenster als offen an unter 01_Anzahl_Fenster_offen
-
@Freaknet
sehr schön. -
@Freaknet
wieso fängt in Deinem Bild die Liste 05 mit geschlossen an ? Ist das noch so ? -
@Freaknet
und Du kannst jetzt mal in die Funktion Datenpunkte_erstellen gehen und das ganz unten, das letzte auf false setzen(true überschreiben), sonst werden die Datenpunkte bei jeden Blockly Neustart überschrieben. -
@dslraser
Hinweis: Es finden zu viele Aktionen innerhalb der Schleife statt, was unnötig die CPU-Last erhöht. Teste bitte, ob es auch so funktioniert:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="E-2Ms[EQ*lEe7IRh*cIa">id</variable> <variable type="" id=",CKGwqCVMH?=oFfDM}">arry</variable> <variable type="" id="9,LX9Q_^1Zm.XL]5L%Y">trenner</variable> <variable type="" id="[TAk8x}N*-*/aViN*mpm">anzahl_Fenster_offen</variable> <variable type="" id="0%(G)y@(ps#FB+i|^[Od">anzahl_Fenster_geschlossen</variable> <variable type="" id="3=X9MAe.hq%CECAY8E{I">anzahl_Fenster_gesamt</variable> <variable type="" id="V%!;pB0[,[eHK8CniGE1">text_offene_Fenster_Liste</variable> <variable type="" id="UVcu;zpo3^E7FM(Nc,??">text_gesamt_Fenster_Liste</variable> <variable type="" id=":KX7~tPL%CGSc5%CKylU">html_Fenster_Liste</variable> <variable type="" id="5sx0p-H2UR:qGkILu12b">idFenster</variable> <variable type="" id="HYyl#n^=-9$2h^y`Y;N?">htmlText</variable> </variables> <block type="procedures_callcustomnoreturn" id="`Y#pZGzBi4#6FyJ[V8~l" x="-337" y="188"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="comment" id="F_ne1?(C{bV)b~x7T@@s"> <field name="COMMENT">Selektor an die eigene Aufzählung anpassen</field> <next> <block type="on_ext" id="E4B[]DA%?ZuNC}AEtZTH"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="^t*7Z~XrlBXT[L,98=n*"> <field name="oid">default</field> </shadow> <block type="selector" id="y[jJ;,(-]Db*{}^y#F3v"> <field name="TEXT">state[id=*.open](functions=Fenster)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="qirpx07BoQ*?TV4gduet"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> <value name="VALUE"> <block type="math_number" id="w/#SFT.RTD._k(}^!W$Q"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="kgM!sYoju}j!8=D*X[K_"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="6m:*Ze4Y$vni}hxX=)_Y"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="d]+swEgKe/XnMimCKY0l"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="VALUE"> <block type="math_number" id="/oGIB[13KY!]2]iA^_i8"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=";30#Q`9DDf02i0ZFc+66"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="RQWyZ1?XEp=u,8},x.O."> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="?AQPyg6j[kcY2KgXqFQv"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="GXB4~qw-@)tIXP#[i8]="> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id=")wqTS]oR-i%87uhNmC9l"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="8Tk0R,[pE^t/_M=4v_Ak"> <mutation items="0"></mutation> </block> </value> <next> <block type="comment" id="|Kr/eN(s#WuE|=U1GZm!"> <field name="COMMENT">Selektor an die eigene Aufzählung anpassen</field> <next> <block type="controls_forEach" id="rME5WFeagxOZg6Gr{xzO"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> <value name="LIST"> <block type="selector" id="C?:@?Eho-`=l}!p-E%Nu"> <field name="TEXT">state[id=*.open](functions=Fenster)</field> </block> </value> <statement name="DO"> <block type="math_change" id="P/GSBqX;OeOw_-At,B+y"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="za5`#8E^=uh$7KSz).K;"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="xLj1@;+3M|O{X;[xpM2y"> <mutation else="1"></mutation> <value name="IF0"> <block type="get_value_var" id="$o8Tz6gu!~s?t~-kMs)E"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="U,(7MAg#UIbc9rg?oCN;"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="jI+dHc;A3L2=@+`hdC,Y"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="E+C7io7^yQ}y%=:`g5CU"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="Jx//mw-@`.DJzx?-eE}8"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="u.=h^J7FiPd@5^0%##r$"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="zmbI3~X9qFV]:6,kYP2p"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="bPRw~Z3+N/7UnU]8Xbm0"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="/Md#U:;tJFsOyw0+hxnf"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="JsU[}Hc0LvLc7=}oO#M6"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="MnJ-tOwgh]opb|{d6%sp"> <field name="TEXT"> geöffnet</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="JUhajq:b(vW`p:/IKO(t"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="ZPnv}ix9f5Rk!NQ$3?3r"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="{G*b[pnUc0GL#`2KEb]!"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="yyOs36_-|Yu-65E=!w5/"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="?KKl4aY,cua!K%VzIy81"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="D(Cb,M`,BVlp=QRd7TyS"> <field name="TEXT"> geöffnet</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="UDBE^HWdtWg5.=4-7$zR"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="3i@j$ng`t`0.u$3FnhC9"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="PFG704EpAutejvI7jp5H"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="[ZFN~Rb`h(Xujw81Mw70"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="UL/DlhD~QhvM-=,tj3#V"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="3eyp.IRej:Yv+YFx;D#}"> <field name="TEXT"><td><span style="color:#FF0000"> geöffnet </span></field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="math_change" id="Or#k;HL?z.(o~6A{^K!$"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="~e0UyUfUc:23iOLg+%RC"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="Ix7lOh,i!cCC7@NrrqTG"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="uq}lnZO;MqtB;iVHJAp:"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="9zg?_;h,{av!lPgI1F`b"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="cs+Z_lIA#0}[Dl04k8O`"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="BJ.5b(7Gtai(/eSon7;5"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="WIGEv9%{c]*Mo6BVk]I7"> <field name="TEXT"> geschlossen</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="V|q-jH:]HuWsIcQI*3l["> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="X@%gZ#Dn.zc!EdGjcU.N"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="n^hjv@;@y~S5f!8=F,eY"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="Fyzb!BW2D~-`P0Wd@RK2"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="SZH$dy8:seb,cOmv3NB%"> <field name="VAR" id="5sx0p-H2UR:qGkILu12b" variabletype="">idFenster</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="vxLHv-Jo:s0-M{CYT$[i"> <field name="TEXT"><td>geschlossen</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="update" id="{E63Wl8tzwY%YckA]?Vb"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.01_Anzahl_Fenster_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="qQ,oOO~.s*XO8Ssw$Ao#"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> </block> </value> <next> <block type="update" id="WyF$571G1#KpN-Er:wE%"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=":@8~s2A%OUB^jin-Q:WN"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> </block> </value> <next> <block type="update" id="g3YDEerSj_sOlgGqI#4~"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.03_Anzahl_Fenster_gesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="{m,C9W4ul)/W6W|6HZDv"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> </block> </value> <next> <block type="update" id="YG1Kl9T^Ud,g?i(;e!%Q"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.05_text_gesamte_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="nLv*WKB{CDe]fUNkj^`O"> <mutation items="1"></mutation> <value name="ADD0"> <block type="variables_get" id="6o4D|0.w3#6%BM,6_?-`"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> </block> </value> <next> <block type="controls_if" id="rQ$!??i)`Ny(R#ffu%~j"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id=".TH:dX(/+DDnsOplTBm7" inline="false"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=".j(IQ#b)e/W!Ok!Jv*R*"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> <value name="B"> <block type="text" id="hSj{|K,tA}{P%EBCv~E`"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="_~BsH#CC2]W7uh9YBh7t"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.04_text_offene_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="ASjo8@rDhzXC9RZ#r%eY"> <field name="TEXT">Aktuell sind alle Fenster oder Türen geschlossen.</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="`[cgrj?ltES7x:H3w*5b"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.04_text_offene_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="W*,K#FuU@/_ZJl*e=U5!"> <mutation items="1"></mutation> <value name="ADD0"> <block type="variables_get" id=".#xqS2_LQte;Up!=%O%v"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> </block> </value> </block> </value> </block> </statement> <next> <block type="variables_set" id="G8Tm[:wx%E{5.tB$}G6]"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> <value name="VALUE"> <block type="text_join" id="p!!Lmz*Mn~#a3qD$~BfC"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="8~by}}vJ8,!0b@!Y]lLn"> <field name="TEXT"><!DOCTYPE html><html lang="de"><head><title>Fenster</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body></field> </block> </value> <value name="ADD1"> <block type="text" id="xLwsfenlO-x?[!nPY/RT"> <field name="TEXT"><p style="color:#0000FF; font-family:Helvetica; font-weight: bold">Fensterstatus</p> </field> </block> </value> <value name="ADD2"> <block type="text" id="U)aPat`w:x6)n%+Q,.a@"> <field name="TEXT"><p style="color:#ff0000; font-family:Helvetica; font-weight: bold">letze Änderung: </field> </block> </value> <value name="ADD3"> <block type="time_get" id="i_N@zC{#VU?.Nu:}@d/%"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field> </block> </value> <value name="ADD4"> <block type="text" id="~P[e^49s89A6I]N^nwG{"> <field name="TEXT"> </p> </field> </block> </value> <value name="ADD5"> <block type="text" id="87e{-VI:u.ht)`~fVl(G"> <field name="TEXT"><table border="8" cellspacing="10" cellpadding="20" style="color:black; font-family:Helvetica;background-image: linear-gradient(42deg,transparent,lightblue);"></field> </block> </value> <value name="ADD6"> <block type="text" id="M.plPqnkqp0(WgjLCE)i"> <field name="TEXT"><tr style="color:#0000FF"; font-weight: bold"><td>Fenster-Türen&ensp;&ensp;&ensp;</td><td>Status</td></tr></field> </block> </value> <value name="ADD7"> <block type="text" id="ij-Y|ofel++]5@^-]zW1"> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <next> <block type="update" id="WLR!ze5](]Hs8TX{|[rn"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Fenster_zaehlen.06_html_Fenster_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="4vX-D:LE7{DX^J!E.YZ9"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="hNP!9v*s,u~YJ.roiEyH"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="7.rh3H:PU%D/C%QPp.:N"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="lists_sort" id="QQ25wyL6U=Op$hO7,O7c"> <field name="TYPE">TEXT</field> <field name="DIRECTION">1</field> <value name="LIST"> <block type="variables_get" id="~NFN4XiuFz@b%Pydm!7x"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> </block> </value> <value name="ARG1"> <block type="text" id="IcziA#@UNL)dXDH*)cg}"> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="p1eGAr:e-Zc]6B_8h5]J"> <field name="TEXT"></table></body></field> </block> </value> </block> </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> </statement> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="RNp5O@$XFY~1TyEGm,2," x="37" y="187"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAxX0FuemFobF9GZW5zdGVyX29mZmVuJywgeyduYW1lJzonMDFfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAyX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJywgeyduYW1lJzonMDJfQW56YWhsX0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnRmVuc3Rlcl96YWVobGVuLjAzX0FuemFobF9GZW5zdGVyX2dlc2FtdCcsIHsnbmFtZSc6JzAzX0FuemFobF9GZW5zdGVyX2dlc2FtdCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J0ZlbnN0ZXInLCAnZGVmJzowIH1dLAogICAgWydGZW5zdGVyX3phZWhsZW4uMDRfdGV4dF9vZmZlbmVfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA0X3RleHRfb2ZmZW5lX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgWydGZW5zdGVyX3phZWhsZW4uMDVfdGV4dF9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNV90ZXh0X2dlc2FtdGVfRmVuc3Rlcl9MaXN0ZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgICBbJ0ZlbnN0ZXJfemFlaGxlbi4wNl9odG1sX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNl9odG1sX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgCl07ICAgIApjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7Cg==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="_(a~5[lFS^_b-QSlk(!i" x="62" y="287"> <mutation statements="false"> <arg name="arry" varid=",CKGwqCVMH?=oFfDM}"></arg> <arg name="trenner" varid="9,LX9Q_^1Zm.XL]5L%Y"></arg> </mutation> <field name="NAME">arry, trenner</field> <field name="SCRIPT">cmV0dXJuIGFycnkuam9pbih0cmVubmVyKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="!N6;}kSECsPgA~=}mQv" x="62" y="338"> <mutation statements="false"> <arg name="id" varid="E-2Ms[EQ*lEe7IRh*cIa"></arg> </mutation> <field name="NAME">getParentName</field> <field name="SCRIPT">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQp2YXIgZGV2aWNlbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9wZW4iKSk7IC8vLm9wZW4gYXVzIFRleHQgZW50ZmVybmVuDQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZS5zdWJzdHJpbmcoMCwgbmFtZS5pbmRleE9mKCIub3BlbiIpKTsNCg0KLy9pZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>