- Home
- Deutsch
- Skripten / Logik
- Blockly
- Blockly Selektor u. Aufzählungen Geräte zählen
Blockly Selektor u. Aufzählungen Geräte zählen
-
@paul53 ja jetzt klappt es danke
-
@dslraser
Ja genau so habe ich es gemeint.
Bekomme allerdings noch eine Warnung im Log:javascript.3 2020-01-31 15:36:11.067 warn (24179) script.js.Alexa.Alexa_Lichtansage: Das angesprochene Gerät unterstützt kein ssml oder speak-volume !
-
@Conquest
auf was für einem Gerät soll die Ansage kommen ? Und kommt denn eine Ansage ? -
@dslraser sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
@Conquest
auf was für einem Gerät soll die Ansage kommen ? Und kommt denn eine Ansage ?Auf einem Amazon Echo. Ob eine Ansage kommt kann ich nicht sagen bin momentan nicht zu Hause. Der Fehler kam direkt nach Scriptstart.
-
@Conquest sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
Auf einem Amazon Echo. Ob eine Ansage kommt kann ich nicht sagen bin momentan nicht zu Hause. Der Fehler kam direkt nach Scriptstart.
Okay, das mit dem Scriptstart könnte sein, weil der Datenpunkt eventuell erstellt und dann aktualisiert wurde.
Diese Warnung habe ich absichtlich drinn, weil nicht alle Geräte ssml unterstützen, z.B. wenn Du die Ansage am Handy per Sprache startest. Eine Antwort soll am angesprochenen Gerät erfolgen, was ja eigentlich kein ECHO sein kann, wenn Du nicht zu Hause bist oder am Handy.
Probiere mal bitte eine echte Ansage wenn Du zu Hause bist. -
@tugsi sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
Kann man eigentlich in dem Selektor auch eine ODER-Verknüpfung einbringen, weil meine ZWAVE Fensterkontakte ja auf einen anderen Datenpunkt signalisieren (.SENSOR_1)
Sowas wie (state[id=.opened]ORstate[id=.SENSOR_1])(functions=fenster) ...
@paul53 vielleicht kannst Du was dazu sagen?,
kann ich im Selektor zwei verschiedene Datenpunkte abfragen, sodass ich mir eine erneute Schleife spare? -
@tugsi sagte:
kann ich im Selektor zwei verschiedene Datenpunkte abfragen, sodass ich mir eine erneute Schleife spare?
Das habe ich noch nicht getestet. Du kannst es mal so testen und berichten:
$('state[id=*.(opened|SENSOR_1)$](functions=fenster)')
Vermutlich wird es nicht funktionieren, da der Selektor nicht funktioniert, wenn die ID Klammern enthält.
-
@paul53 sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
Das habe ich noch nicht getestet. Du kannst es mal so testen und berichten:
$('state[id=*.(opened|SENSOR_1)$](functions=fenster)')
Vermutlich wird es nicht funktionieren, da der Selektor nicht funktioniert, wenn die ID Klammern enthält.
JS meckert:
Invalid selector: enum close bracket ")" cannot be found in "$('state[id=*.(opened|SENSOR_1)$](functions=fenster)')"
-
@tugsi sagte:
ohne Fenster öffnen, passiert keine Änderung
Du kannst so testen, ob alle passenden IDs gefunden werden:
$('state[id=*.(opened|SENSOR_1)$](functions=fenster)').each(function(id, i) { log(id); });
-
@paul53 Ok,
Aber der kommt schon mit dem $ nach dem SENSOR_1 nicht klar.
Und im Blockly kann ich die ' nicht mit reinpacken, dass bemängelt der auch.Ist der Ausdruck von Dir aus JS genommen?
Btw gibts ne gute Seite für JS, sodass ich da einiges nachlesen kann? -
-
-
@paul53 sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
@tugsi sagte:
der kommt schon mit dem $ nach dem SENSOR_1 nicht klar.
$ kannst Du weglassen.
Ich habe jetzt einiges probiert, aber er kommt nicht klar mit den Klammern.
Muss man wohl doch eine zweite Schleife mit einbauen -
Moin, erstmal Danke für die Mühe, die Du hier reinsteckst!
Jetzt zu meinem Anliegen, ich würde sehr gerne das blockly zum zählen meiner Beleuchtung ausprobieren jedoch bin ich mit den Einstellungen ein wenig überfordert. Ich weiß nicht wie ich es einstellen muss das es funktioniert. Ich sehe HMIP und HUE, das nutze ich alles nicht und meine Aufzählungen sehen so aus.
Das ich im Blockly dann bei stateid=*.STATE anstatt HUE, Licht eintragen muss kann ich mir denken, aber was ist mit id=level ? Brauch ich dass? Weiter unten im Blockly weiss ich auch nicht was ich bei den Variabeln auswählen muss?
Ausserdem möchte ich nicht das die Datenpunkte unter userdata.0.Geräte zählen angelegt werden. Ich hätte sie viel lieber hier.
Ist es möglich, dass Blockly so abzuändern das die Datenpunkte hier landen?
Vielen Dank im Voraus für eure Hilfe.
-
@Elektroniker86
was sind das denn für Geräte von Deinem Licht ? Poste mal einen Datenpunkt von so einem Gerät als RAW in Code Tags.möchte ich nicht das die Datenpunkte unter userdata.0.Geräte zählen angelegt werden
ja, das geht, in der Funktion Datenpunkte anlegen.
da rein klicklen </>
dann ganz unten in den Datenpunkten den / die Ordnerstruktur bestimmen. Ganz unten dann anstatt 0_userdata.0 Dein javascript.o eintragen.
-
@Elektroniker86 sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
Das ich im Blockly dann bei stateid=*.STATE anstatt HUE, Licht eintragen muss kann ich mir denken, aber was ist mit id=level ? Brauch ich dass? Weiter unten im Blockly weiss ich auch nicht was ich bei den Variabeln auswählen muss?
Du meinst den Selector. Was bei Dir anstatt id=*.STATE rein kommt sehe ich dann im Datenpunkt und die functions=HUE ist die Aufzählung, das wäre bei Dir dann functions=light
Das was hinten, hinter dem Punkt steht ist entscheidend
Weiter unten im Blockly weiss ich auch nicht was ich bei den Variabeln auswählen muss?
in diesem Beispiel werden zwei Selectoren verwendet, weil HUE und HMIP Geräte in einer Aufzählung sind.
-
Moin, danke für die schnelle Antwort.
Das sind in Javascript erstellte Geräte, denn ich habe bei mir Zuhause eine SPS /Siemens LOGO die liefert steuer id und status id separat und diese Datenpunkte habe ich in Javascript zusammengefasst.{ "common": { "def": false, "type": "boolean", "read": true, "write": true, "name": "Deckenleuchte Flur EG", "role": "switch", "unit": "", "custom": { "iot.0": { "smartName": { "de": "Licht Flur" } } } }, "native": { "name": "Deckenleuchte Flur EG", "role": "switch", "type": "boolean", "unit": "", "read": true, "write": true }, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1572017048211, "_id": "javascript.0.LOGO.s7-0.Deckenleuchte_Flur EG", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@Elektroniker86
Wenn es nur eine Sorte Geräte ist, dann nimm am Besten das Steckdosen Beispiel zum umarbeiten für Dich, da ist auch nur ein Selector drinn. Wie die Variablen heißen ist eigentlich egal, aber wenn Du die umbenennst, dann werden die dazu gehörigen auch umbenant, falls die mehrfach verwendet werden. Die Blöcke für die Ausgabe musst Du dann auch für Dich anpassen, wenn Du javascript.0 verwendest. -
So, hab jetzt das andere Blockly für Steckdosen importiert und dien Pfad wie oben beschrieben abgeändert, passt das so?
Die Selectoren habe ich nun auch auf light geändert, jedoch weiß ich nicht wie ich jetzt noch die anderen (rot eingekreisten) Punkte umstellen kann.
Danke im Vorraus!
-
probiere mal.....
<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="#8GHEd)j7S$#s,^/Sbk%">textAusgabe</variable> <variable type="" id=".Yia3JB]R6UM8||#rtEy">Anzahl_Licht_eingeschaltet</variable> <variable type="" id="GBP*^g/p%y(A!z9wYIAp">Anzahl_Licht_gesamt</variable> <variable type="" id="kf.|gUBRrt]]ET/7VV`i">Licht_eingeschaltet_Liste</variable> <variable type="" id="?Iruv;}=6m-+T=![x@`H">Licht_gesamt_Liste</variable> <variable type="" id="M#.~fDd[/KAfhHH%W2-K">Licht_html_Liste</variable> <variable type="undefined" id="timeout">timeout</variable> <variable type="" id="HYyl#n^=-9$2h^y`Y;N?">htmlText</variable> <variable type="" id="O.g)=vuxy/!=!?vJ]|ep">Licht_an</variable> <variable type="" id="s=n-:M5Oe8@rDy8F^Czv">Licht_aus</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">Ly92YXIgb2JqID0gZ2V0T2JqZWN0KGlkKTsNCi8vdmFyIG5hbWUgPSBnZXRPYmplY3QoaWQpLmNvbW1vbi5uYW1lOw0KLy92YXIgZGV2aWNlbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9uIikpOyAvLy5vbiBhdXMgVGV4dCBlbnRmZXJuZW4NCi8vcmV0dXJuIGdldE9iamVjdChpZCkuY29tbW9uLm5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9uIikpOw0KDQoNCi8vLy9pZihnZXRPYmplY3QoaWQuc3Vic3RyaW5nKDAsIGlkLmxhc3RJbmRleE9mKCcuJykpKSkgcmV0dXJuIGdldE9iamVjdChpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSkpLmNvbW1vbi5uYW1lOw0KLy9lbHNlIHJldHVybiBudWxsOw0KLy9pZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTsNCg0KdmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</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="hvz=#RO?t*_4B%(i4;;$" disabled="true" x="13" y="113"> <mutation statements="false"> <arg name="textAusgabe" varid="#8GHEd)j7S$#s,^/Sbk%"></arg> </mutation> <field name="NAME">iQontrol_File_schreiben</field> <field name="SCRIPT">ICBjb25zdCBwYXRoID0gIi9odG1sc3RlY2tkb3Nlbi5odG1sIjsNCiAgDQogIHdyaXRlRmlsZSgnaXFvbnRyb2wubWV0YScsIHBhdGggLHRleHRBdXNnYWJlLCBmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICBsb2coJ2lRb250cm9sIFN0ZWNrZG9zZW4gRGF0ZWkgZ2VzY2hyaWViZW4nKTsNCn0pOw==</field> <comment pinned="false" h="80" w="160">Funktion zum schreiben einer html Datei für iQontrol</comment> </block> <block type="procedures_defcustomnoreturn" id="EJhG@Zv:/.r@(DzIU,:6" x="13" y="163"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0X3phaGVsZW4uMDFMaWNodF9BbnphaGxfZWluZ2VzY2hhbHRldCcsIHsnbmFtZSc6JzAxTGljaHRfQW56YWhsX2Vpbmdlc2NoYWx0ZXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOiAnTGFtcGVuJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0X3phaGVsZW4uMDJMaWNodF9BbnphaGxfZ2VzYW10JywgeyduYW1lJzonMDJMaWNodF9BbnphaGxfZ2VzYW10JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzogJ0xhbXBlbicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodF96YWhlbGVuLjAzTGljaHRfdGV4dF9laW5nZXNjaGFsdGV0X0xpc3RlJywgeyduYW1lJzonMDNMaWNodF90ZXh0X2Vpbmdlc2NoYWx0ZXRfTGlzdGUnLCAndHlwZSc6J21peGVkJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sICAgICAgICAgCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodF96YWhlbGVuLjA0TGljaHRfdGV4dF9HZXNhbXRfTGlzdGUnLCB7J25hbWUnOicwNExpY2h0X3RleHRfR2VzYW10X0xpc3RlJywgJ3R5cGUnOidtaXhlZCcsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLCAgICAKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0X3phaGVsZW4uMDVMaWNodF9odG1sX0xpc3RlJywgeyduYW1lJzonMDVMaWNodF9odG1sX0xpc3RlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIApdOyAgICAKY3JlYXRlVXNlclN0YXRlcygnamF2YXNjcmlwdC4wJywgdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id=":$M_%{Ds0d-b,5nDEcL." x="13" y="213"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="variables_set" id="m{3CIJBGWgyR970.R?.8"> <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">Anzahl_Licht_eingeschaltet</field> <value name="VALUE"> <block type="math_number" id="@{xLucodgvjj5zwTIk+E"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="e??qlY4^1C,ST6I3@3Oo"> <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Licht_gesamt</field> <value name="VALUE"> <block type="math_number" id="_sj},NBYrXSWN8fg!cTK"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="|:0:NXviBH3ts|PxK|E["> <field name="VAR" id="kf.|gUBRrt]]ET/7VV`i" variabletype="">Licht_eingeschaltet_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="Bqe9#!`.vRu+(AZe8J2#"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="ch;k==7_X11LA3[*__@n"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="Ps*.9B^QUD?wJtCnX8jL"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="Ze3P{Jv`0,K34)]|4A8x"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="PnK._4y#V:}^D10q36@I"> <mutation items="0"></mutation> </block> </value> <next> <block type="on_ext" id="hafx;Y{*x?Xn(,sMW.+n"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="#4w([E@;X_!loV@[Dy]:"> <field name="oid">default</field> </shadow> <block type="selector" id="+{AR;_jRS67rU:cIQl%?"> <field name="TEXT">[id=*.LOGO.s7-0.*](functions=light)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="p=KHiUK+Y+|fQ)HcFDyO"> <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">Anzahl_Licht_eingeschaltet</field> <value name="VALUE"> <block type="math_number" id="[jU@VEbQfpj$4AXB1Hf1"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="P.1UaFjJOJP+NHRlsqPK"> <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Licht_gesamt</field> <value name="VALUE"> <block type="math_number" id=".Bxds~9rDXplhV2C)}x."> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=",I)$oiHDlf!``82c}Jr8"> <field name="VAR" id="kf.|gUBRrt]]ET/7VV`i" variabletype="">Licht_eingeschaltet_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="|uw:aJhFPc}JD~rwG#f?"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="[(`mc9Ts+WbCoPlHiF2}"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="Vh0bIxSdFaUUrynRZ^fa"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="kj9)qx1[rc,_^tzUf|k8"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="G9[si:i3V3IM8S=on#ga"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="Bee!z}f_8!1s@cHV4/Vm"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> <value name="VALUE"> <block type="text_join" id="p$RrX883u4,oKT*ew?jR"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="a:Ub=w1b*t!t_e`7!OUc"> <field name="TEXT"><!DOCTYPE html><html lang="de"><head><title>Licht</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body></field> </block> </value> <value name="ADD1"> <block type="text" id="vQ4-VDa*5hb|sv6:[@7#"> <field name="TEXT"><p style="color:#0000FF; font-family:Helvetica; font-weight: bold">Lichtstatus</p> </field> </block> </value> <value name="ADD2"> <block type="text" id="|F2=N*fP,:1#E[E:nzx]"> <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="!O)qFVPd9F4Y{c7sQqW/"> <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="|*GsEfGV1J*d`ZFXlDi,"> <field name="TEXT"> </p> </field> </block> </value> <value name="ADD5"> <block type="text" id="=2d-n1(V^qS_)EYA]f=_"> <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="fRZ.!bM#xY$BL?#_JkD."> <field name="TEXT"><tr style="color:#0000FF"; font-weight: bold"><td>Licht&ensp;&ensp;&ensp;</td><td>Status</td></tr></field> </block> </value> <value name="ADD7"> <block type="text" id="n#g5W5tqsLc{jJ@V#!wm"> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <next> <block type="controls_forEach" id="G!}uXUNe]!g=EHrV74L~"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Licht_an</field> <value name="LIST"> <block type="selector" id="z0W(;:pV^paS3QB6f{x#"> <field name="TEXT">[id=*.LOGO.s7-0.*](functions=light)</field> </block> </value> <statement name="DO"> <block type="math_change" id="bCX,Jrt-yTpU?qB#sR~5"> <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Licht_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="7`=B;!^UTT2{xL9KtsBf"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="}4vd1#YZDcH=oOE*8~0d"> <value name="IF0"> <block type="logic_compare" id="g4G|LhWTY!;.GG+z=J.F"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="E(cAi=#i)25dXS=XyKD,"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="H+Si!dLFm_55HjmGoqp+"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="Gt!b/b{W?Y~vWS@=09o*"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Licht_an</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="e./C[g0TvcNuG%N~mE`D"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="J/3_pk@bHqVZV9TkhWdM"> <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">Anzahl_Licht_eingeschaltet</field> <value name="DELTA"> <shadow type="math_number" id="%$(c9F?#C}Y-L0cd8+y["> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="1hr9X8pA*|4Q1zL}rBJ}"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="4mG9){=ao#FFx#8|$=x~"> <field name="VAR" id="kf.|gUBRrt]]ET/7VV`i" variabletype="">Licht_eingeschaltet_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="!BJ:wJ^yk_kad?pygD9]"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="]qjE%||0Ho+nX]p^Go?V"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="K!q*-#{vI|sJ37#D]{?6"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Licht_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="}Mt)bU3UI$dz(U[Hj^}5"> <field name="TEXT"> eingeschaltet</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="+ffyh?-1O7`uPjA)f?yK"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="vnrSS8[-bS_@$B45t)|v"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="5GN5`vhGS;:R+N;)s!;/"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="+GH1pLfc:-3a@KL@grP/"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="m|*sob7GthrzYTg~gQ=n"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Licht_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="mV+Rx.IK5_{`(/Pl3~)l"> <field name="TEXT"> an</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="Wswu+2xPDSi{!*V}$-Uw"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="a=@|uxl2b+@Xuiaud)ms"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="uF#1PVo@,S|XT%hZYbuC"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="/elCjez0c2QH1S%%-d}O"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="{sMf]2kObn^5nv?4CGc`"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Licht_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="y92n$gdgaAqLSSVYC*NM"> <field name="TEXT"><td><span style="color:#FF0000"> an 💡</span></field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="controls_forEach" id="tzCG{$=#M;w}6NzNokX6"> <field name="VAR" id="s=n-:M5Oe8@rDy8F^Czv" variabletype="">Licht_aus</field> <value name="LIST"> <block type="selector" id="2-0]Yu/8Q]v[_?W(f82E"> <field name="TEXT">[id=*.LOGO.s7-0.*](functions=light)</field> </block> </value> <statement name="DO"> <block type="controls_if" id="O8_g4Z[ppph)712s!4}j"> <value name="IF0"> <block type="logic_compare" id="/cYIgVH-nJmeDj2[(Sx*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="WQp$07`9U63Hj[3A}Gv]"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="H+Si!dLFm_55HjmGoqp+"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="X4~qu+|$t12Li!AzIlLb"> <field name="VAR" id="s=n-:M5Oe8@rDy8F^Czv" variabletype="">Licht_aus</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="W7.{5mp8PC}^y@LvCXfh"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="lists_setIndex" id="){683b+;[9t~jNdJOc?}"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="ZF3~TA%$xo0_y*dvJ~Dp"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="O;Y($KL{TMe@!uNBx0qn"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="Y{6Xl-|alG{Jbe59BMQ+"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="kD26(YC0Z]0$dXs1S=oc"> <field name="VAR" id="s=n-:M5Oe8@rDy8F^Czv" variabletype="">Licht_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="sx_pnh$4IUzyw.W^cxL3"> <field name="TEXT"> aus</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="WTHgF/ns$Hpx5m=8W/Q="> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="9Sw_}aQMd;iT3kmRGY{P"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="[hX4Scn#{MDwOc`$~BYd"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="D(E,397!R$CmCT1rR(U:"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Y*bH$f7%w+`fIWa.TCnc"> <field name="VAR" id="s=n-:M5Oe8@rDy8F^Czv" variabletype="">Licht_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="sq_YxxcNWvk~Evq{T)A%"> <field name="TEXT"><td>aus 👍</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="update" id="BRUEt{SxHthj,HJC;u0g"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.01Licht_Anzahl_eingeschaltet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="X`BV[yZwgx}QT2(f~3;a"> <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">Anzahl_Licht_eingeschaltet</field> </block> </value> <next> <block type="update" id="VnZud=~v2I?UkrzwyRSG"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.02Licht_Anzahl_gesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="2=ru[-MFb,Qz]kN(m_jT"> <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Licht_gesamt</field> </block> </value> <next> <block type="controls_if" id="7a03/(m4w0_5{)7++!j`"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="}oljbU;u0-Ps]?[zmt%e"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="Avxax[9?4idcrZ{~*O?_"> <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">Anzahl_Licht_eingeschaltet</field> </block> </value> <value name="B"> <block type="math_number" id="46}8y9!,uL/F[[#z)pD$"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="J+;HlsED3i(E5[nA;XMT"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.03Licht_text_eingeschaltet_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="9%wQA*VtZvVJ.~_C$xnY"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="lists_sort" id="A1|6Ct9eCV`yqXYDQ(If"> <field name="TYPE">TEXT</field> <field name="DIRECTION">1</field> <value name="LIST"> <block type="variables_get" id="$O/s~t^RpSUk4HOEA@`7"> <field name="VAR" id="kf.|gUBRrt]]ET/7VV`i" variabletype="">Licht_eingeschaltet_Liste</field> </block> </value> </block> </value> <value name="ARG1"> <block type="text" id="{l%(E:c!^]`oF%4j`!:2"> <field name="TEXT">, </field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="NIq@Ep$O[G`:%h2gi38x"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.03Licht_text_eingeschaltet_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="iCsJ:OXCcTlm(T%|m/Py"> <field name="TEXT">Alle Lampen sind ausgeschaltet.</field> </block> </value> </block> </statement> <next> <block type="update" id="SkC8k@_ho!#A[{if#9S/"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.04Licht_text_Gesamt_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="8XY6@y!(7EtlTui%Sl!s"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="vZ8nkQ~MvkvFUv2Df:lK"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="ARG1"> <block type="text" id="rwX])r?*]K%EMlH(T`S`"> <field name="TEXT">, </field> </block> </value> </block> </value> <next> <block type="update" id="WLR!ze5](]Hs8TX{|[rn"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.05Licht_html_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="qL)/)8Bp!XNXrDry%D:F"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="1Gd,]P|0}C0@DLdfn55B"> <field name="VAR" id="HYyl#n^=-9$2h^y`Y;N?" variabletype="">htmlText</field> </block> </value> <value name="ADD1"> <block type="procedures_callcustomreturn" id="eF2,7Unb/X#+~r8bZeD4"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="An8=VpH]rZw}lll!_LSI"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="ARG1"> <block type="text" id="+j[Pf^94lrYLPiIrtxm="> <field name="TEXT"><tr><td></field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="z1d/zrdGPfBiu+dF{!_="> <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> </statement> <next> <block type="on_ext" id="0QfC!m)[(ofB-v[%:|{P" disabled="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="whek(^?ZC85iamrP5:/-"> <field name="oid">javascript.0.Geraete_zaehlen.Licht_zahelen.05Licht_html_Liste</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="Cu.60D-p8xWhkJnHnRol"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="eMWZ_Dde4qR`n%o99$Et"> <field name="NAME">timeout</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="w0^g}FdxfJyZ3MC14WVn" disabled="true"> <mutation name="iQontrol_File_schreiben"> <arg name="textAusgabe"></arg> </mutation> <value name="ARG0"> <block type="get_value" id=":JXbmERS{@9iY$vW,M#p"> <field name="ATTR">val</field> <field name="OID">javascript.0.Geraete_zaehlen.Licht_zahelen.05Licht_html_Liste</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Edit:
Licht Symbol in html noch getauscht.
Ich habe in dem Selector von Dir Deinen ein RAW DP drinn...
Hier Deine Aufzählung
Einmal Licht an oder aus schalten nach dem Blockly Start.