- Home
- Deutsch
- Skripten / Logik
- Blockly
- Blockly Selektor u. Aufzählungen Geräte zählen
Blockly Selektor u. Aufzählungen Geräte zählen
-
@Conquest sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
funktioniert auf Anhieb.
anscheinend funktioniert es ja nicht bei Dir....
Welches Blockly hast Du genommen ?
Sind die Shellys bei Dir anders angebunden ? Das hier war so ein Datenpunkt von @Freaknet{ "from": "system.adapter.shelly.0", "user": "system.user.admin", "ts": 1580001665289, "common": { "name": "Küchenlicht.on", "type": "boolean", "role": "switch", "def": false, "read": true, "write": true, "smartName": { "de": "Küchenlicht" }, "custom": { "statistics.0": { "enabled": true, "logName": "Strom Küchenlicht", "count": false, "sumCount": true, "timeCount": true, "fiveMin": false, "groupFactor": 0.005, "impUnit": "Wh", "impUnitPerImpulse": 1, "sumIgnoreMinus": true, "sumDelta": false, "avg": false, "minmax": false, "sumGroup": "Watt" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "shelly.0.SHSW-1#227D67#1.Relay0.Switch", "type": "state" }
-
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
ist es das
https://forum.iobroker.net/post/366425
oder das ?
Dieses habe ich genommen:
https://forum.iobroker.net/post/367745Shelly sind ganz normal über den Shelly-Adapter mit Coap angebunden. Aber der Datenpunkt sieht bei mir anders aus.
{ "type": "state", "common": { "type": "boolean", "read": true, "write": true, "name": "Gartenhaus_Decke", "role": "switch", "def": false }, "native": {}, "from": "system.adapter.shelly.0", "user": "system.user.admin", "ts": 1580332830908, "_id": "shelly.0.SHSW-1#22723A#1.Relay0.Switch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
Hi @dslraser ,
habe mich seit gestern auch mal Deinem Script hier zugewandt.
Allerdings bin ich mittlerweile doch etwas konfus mit den ganzen Skripten, die oben sind und dann mitten drin ...
Sind oben am Threadanfang auch alle Verbesserungen (wie zB die geänderte Schleife wegen CPU-Last) enthalten?Ausserdem klappt es nicht so ganz bei mir. Ich habe aber auch keine Homematic-Geräte, sondern Aqara-Zigbee und ZWaves, die nur true/false mir anbieten, keine Kippstellung.
Mir ist a) noch nicht ganz so klar, wo setze ich die Funktion "Fenster", nur bei dem einzelnen Datenpunkt oder gesamt bei dem Gerät?
Ich habe es mal gesamt gesetzt, wie hier:
Dies ist ein ZigBee-Aqara Fensterkontakt, würde ich jetzt den Punkt "opened" abfragen.
Hier mal das RAW-Format
{ "zigbee.0.00158d0002386175": { "type": "device", "common": { "name": "FKontakt.Bad.links", "type": "lumi.sensor_magnet.aq2", "icon": "img/sensor_magnet_aq2.png", "enums": [ { "_id": "enum.functions.fenster", "common": { "name": "Fenster", "icon": "", "color": false } } ] }, "native": { "id": "00158d0002386175" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1580327008742, "_id": "zigbee.0.00158d0002386175", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "zigbee.0.00158d0002386175.battery": { "type": "state", "common": { "name": "Kontakt.Bad.links", "type": "number", "unit": "%", "read": true, "write": false, "role": "battery.percent", "min": 0, "max": 100, "icon": "img/battery_p.png" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199182, "_id": "zigbee.0.00158d0002386175.battery", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "zigbee.0.00158d0002386175.contact": { "type": "state", "common": { "name": "Contact event", "type": "boolean", "read": true, "write": false, "role": "state" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199179, "_id": "zigbee.0.00158d0002386175.contact", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "zigbee.0.00158d0002386175.link_quality": { "type": "state", "common": { "name": "Link quality", "type": "number", "read": true, "write": false, "role": "state", "min": 0, "max": 254 }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199179, "_id": "zigbee.0.00158d0002386175.link_quality", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "zigbee.0.00158d0002386175.opened": { "type": "state", "common": { "name": "Bad Is open", "type": "boolean", "read": true, "write": false, "role": "state" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199181, "_id": "zigbee.0.00158d0002386175.opened", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "zigbee.0.00158d0002386175.voltage": { "type": "state", "common": { "name": "Battery voltage", "type": "number", "unit": "V", "read": true, "write": false, "role": "battery.voltage", "icon": "img/battery_v.png" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199181, "_id": "zigbee.0.00158d0002386175.voltage", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } } }
Dann muss ich in Deinem Script ja noch den Selektor anpassen, dies mache ich auf die Abfrage
state[id=*.opened](functions=Fenster)
Nur so bekomme ich keine Daten unter Objekte aufgelistet, auch kein Neustart etc hat geholfen.
Ich glaube ich habe da ein Denkfehler -
@tugsi
ich bin noch nicht zu Hause (wird später heute)
Und zigbee habe ich auch nicht, muss ich mal schauen... -
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@tugsi
ich bin noch nicht zu Hause (wird später heute)
Und zigbee habe ich auch nicht, muss ich mal schauen...Und oben im ersten Beitrag werde ich mal aufräumen...
-
@tugsi sagte:
Nur so bekomme ich keine Daten unter Objekte aufgelistet
Es wurde schon mal festgestellt, dass es nicht funktioniert, das Gewerk dem device zuzuordnen (zumindest, wenn es nicht zusätzlich channels gibt). Deshalb weise das Gewerk dem Datenpunkt ".opened" zu, dann sollte es funktionieren.
-
@paul53
Du meinst mit Gewerk die Funktion?
Also nur hinter den Datenpunkt opened dann die Funktion "Fenster" setzen?
-
-
@paul53
Ok, habe ich gemacht und der Selektor habe ich ja auch angepasst, aber nix passiert.
-
@tugsi sagte:
aber nix passiert.
Ist die ID "enum.functions.Fenster" oder "enum.functions.fenster" ? Im Selektor muss die Schreibweise wie in der ID sein.
-
@tugsi
wenn ich versuche Deinen Datenpunkt bei mir zu ein zu fügen kommt dasbei den RAW DP von @Conquest oder auch von @Freaknet
geht es, da wird dann der DP z.B. so erstellt.und der Grund, warum Du @Conquest Deine Geräte nicht angezeigt bekommst, sondern so
aus, aus, aus, aus, aus, Philips_hue.Stehlampe aus
wird sein, weil Dein DP keinen .on im Namen hinten hat, das passte bei @Freaknet bei beiden Lampen (HUE und Shelly). Das entfernen von .on passiert hier in der Funktion
damit
in den Schleifen wird dann diese Funktion benutzt. -
@Conquest sagte in Geräte zählen mit Blockly Selektor Aufzählungen:
So sieht bei mir die Liste aus:
aus, aus, aus, aus, aus, Philips_hue.Stehlampe ausversuche mal das hier
<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="s^g_cd%U/.iiN#+uA0!:">Anzahl_Licht_eingeschaltet</variable> <variable type="" id="rtfLle*]f_K|%$KK)r9i">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="" id="HYyl#n^=-9$2h^y`Y;N?">htmlText</variable> <variable type="" id="O.g)=vuxy/!=!?vJ]|ep">Shelly_an</variable> <variable type="" id="6iOe8s0aT$XGy[cfPo]I">HUE_an</variable> <variable type="" id="%/Y3*]b--QYTzdUiQI/4">Shelly_aus</variable> <variable type="" id="dNM(o:^(_Nu^Hwan,B?}">HUE_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">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQp2YXIgZGV2aWNlbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9uIikpOyAvLy5vbiBhdXMgVGV4dCBlbnRmZXJuZW4NCnJldHVybiBnZXRPYmplY3QoaWQpLmNvbW1vbi5uYW1lLnN1YnN0cmluZygwLCBuYW1lLmluZGV4T2YoIi5vbiIpKTsNCg0KDQovL2lmKGdldE9iamVjdChpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSkpKSByZXR1cm4gZ2V0T2JqZWN0KGlkLnN1YnN0cmluZygwLCBpZC5sYXN0SW5kZXhPZignLicpKSkuY29tbW9uLm5hbWU7DQovL2Vsc2UgcmV0dXJuIG51bGw7DQovL2lmKGV4aXN0c09iamVjdChpZCkpIHJldHVybiBnZXRPYmplY3QoaWQpLmNvbW1vbi5uYW1lOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="~W(Sn?T{G,GzSYmR-D`V" x="13" y="63"> <mutation statements="false"> <arg name="id" varid="E-2Ms[EQ*lEe7IRh*cIa"></arg> </mutation> <field name="NAME">getParentName2</field> <field name="SCRIPT">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTsNCg0KDQovL2lmKGdldE9iamVjdChpZC5zdWJzdHJpbmcoMCwgaWQubGFzdEluZGV4T2YoJy4nKSkpKSByZXR1cm4gZ2V0T2JqZWN0KGlkLnN1YnN0cmluZygwLCBpZC5sYXN0SW5kZXhPZignLicpKSkuY29tbW9uLm5hbWU7DQovL2Vsc2UgcmV0dXJuIG51bGw7DQovL2lmKGV4aXN0c09iamVjdChpZCkpIHJldHVybiBnZXRPYmplY3QoaWQpLmNvbW1vbi5uYW1lOw==</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="113"> <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="EJhG@Zv:/.r@(DzIU,:6" x="13" y="163"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0LjAxTGljaHRfQW56YWhsX2Vpbmdlc2NoYWx0ZXQnLCB7J25hbWUnOicwMUxpY2h0X0FuemFobF9laW5nZXNjaGFsdGV0JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzogJ0xhbXBlbicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodC4wMkxpY2h0X0FuemFobF9nZXNhbXQnLCB7J25hbWUnOicwMkxpY2h0X0FuemFobF9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOiAnTGFtcGVuJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0LjAzTGljaHRfdGV4dF9laW5nZXNjaGFsdGV0X0xpc3RlJywgeyduYW1lJzonMDNMaWNodF90ZXh0X2Vpbmdlc2NoYWx0ZXRfTGlzdGUnLCAndHlwZSc6J21peGVkJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sICAgICAgICAgCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodC4wNExpY2h0X3RleHRfR2VzYW10X0xpc3RlJywgeyduYW1lJzonMDRMaWNodF90ZXh0X0dlc2FtdF9MaXN0ZScsICd0eXBlJzonbWl4ZWQnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwgICAgCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodC4wNUxpY2h0X2h0bWxfTGlzdGUnLCB7J25hbWUnOicwNUxpY2h0X2h0bWxfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgCl07ICAgIApjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7Cg==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="m{3CIJBGWgyR970.R?.8" x="13" y="213"> <field name="VAR" id="s^g_cd%U/.iiN#+uA0!:" 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="rtfLle*]f_K|%$KK)r9i" 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="procedures_callcustomnoreturn" id="X+4?!FV=R(MUJl~Yi2L."> <mutation name="Datenpunkte_erstellen"></mutation> <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">state[id=*.Switch](functions=lichterstatus)</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="QJuBUpjNYuwQ!8_Znd@2"> <mutation name="zaehlen"></mutation> </block> </statement> <next> <block type="on_ext" id="Jw(x!wlhO.yeQ=i,i}wI"> <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="x:pT.)5(@wDY94Z=yBtH"> <field name="TEXT">state[id=*.on](functions=lichterstatus)</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="7r`7m7P`gI*fDHOpxNVc"> <mutation name="zaehlen"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="wVnH5gPZuaAiu?7AnlcP" x="13" y="638"> <field name="NAME">zaehlen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="p=KHiUK+Y+|fQ)HcFDyO"> <field name="VAR" id="s^g_cd%U/.iiN#+uA0!:" 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="rtfLle*]f_K|%$KK)r9i" 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" 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$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>HUE-Shelly&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="">Shelly_an</field> <value name="LIST"> <block type="selector" id="z0W(;:pV^paS3QB6f{x#"> <field name="TEXT">state[id=*.Switch](functions=lichterstatus)</field> </block> </value> <statement name="DO"> <block type="math_change" id="bCX,Jrt-yTpU?qB#sR~5"> <field name="VAR" id="rtfLle*]f_K|%$KK)r9i" 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="">Shelly_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="s^g_cd%U/.iiN#+uA0!:" 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="%{AEN_LbIX`=Gh3Uii@u"> <mutation name="getParentName2"> <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="">Shelly_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="}Mt)bU3UI$dz(U[Hj^}5"> <field name="TEXT"></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="=T^b@/Uo?/u9$5Mod^Q;"> <mutation name="getParentName2"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="ih9xqvC1jsu4C=1gGX9q"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Shelly_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="BM~M-6x)6DsxF2*%_%0v"> <mutation name="getParentName2"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="s$$%vQ^ZjOx?!2Kkxs6:"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Shelly_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="%8)**B:7sQay};J[-.nF"> <field name="VAR" id="6iOe8s0aT$XGy[cfPo]I" variabletype="">HUE_an</field> <value name="LIST"> <block type="selector" id="A,,JA4$XiZJ)OUbZ]XAf"> <field name="TEXT">state[id=*.on](functions=lichterstatus)</field> </block> </value> <statement name="DO"> <block type="math_change" id="R]{#Ir]9cng@V0^ti4|a"> <field name="VAR" id="rtfLle*]f_K|%$KK)r9i" variabletype="">Anzahl_Licht_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="~gBX9jq59:fIKpBGXk8o"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="LW%/+n9-DuoX(CcI;Nkc"> <value name="IF0"> <block type="logic_compare" id="bi8Ld?HJ69l1*XBC)Z`i"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="6MZ!x^Seinc4%iJ%Ne`b"> <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="3RrMBy07f?+%zCFlyowj"> <field name="VAR" id="6iOe8s0aT$XGy[cfPo]I" variabletype="">HUE_an</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="8pfoUn$u+rP7G0o[iZpr"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="3fv?{5{l5t]i.jF*8;uC"> <field name="VAR" id="s^g_cd%U/.iiN#+uA0!:" variabletype="">Anzahl_Licht_eingeschaltet</field> <value name="DELTA"> <shadow type="math_number" id=")^Nk+[J4b@a6lSmiyQ{E"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="G-@G69A,wi;4_%*E9OGo"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="y376$v=D=_9G`@UwX2+c"> <field name="VAR" id="kf.|gUBRrt]]ET/7VV`i" variabletype="">Licht_eingeschaltet_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="8Ij_SdK~!Dka1~v-4,YP"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="X++LpB!I6f*JaQ+8L5PY"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="1{;%^qnR.063Cx~wi%ZI"> <field name="VAR" id="6iOe8s0aT$XGy[cfPo]I" variabletype="">HUE_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="2ndr7n:_Le@8Fd*w}_Pu"> <field name="TEXT"></field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="B?YV%hcX7it)?Z#y0b9R"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="FC+Y(G*@G0H*Pvf(C8zB"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="rey#$u?Sh/7e;bU7jTak"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="b8UFcuV/6;m@II$WCYdA"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="MmN],9YiPSXVk7WWT)vB"> <field name="VAR" id="6iOe8s0aT$XGy[cfPo]I" variabletype="">HUE_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="o}[!%w*v#]Pa;#;vSpw#"> <field name="TEXT"> an</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="hsrzrQOPBh7SPCnzyk3p"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="ZsGn,gViq|kS~(!IzkgR"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="(PQsd:?6L$zi~z85i{^:"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="W@]U%JrC1h.O!V1fT*CG"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Xw{ddsW9:_5BQml/1#={"> <field name="VAR" id="6iOe8s0aT$XGy[cfPo]I" variabletype="">HUE_an</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="V~O{@n2veh6LnyX_)Z:A"> <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="o|9WMG[VkOyzL{86M[Q8"> <field name="VAR" id="%/Y3*]b--QYTzdUiQI/4" variabletype="">Shelly_aus</field> <value name="LIST"> <block type="selector" id="$l(O]~tpaV26HnJ5HZmE"> <field name="TEXT">state[id=*.Switch](functions=lichterstatus)</field> </block> </value> <statement name="DO"> <block type="controls_if" id="I3N,iHY1ERXu8E6`!NJz"> <value name="IF0"> <block type="logic_compare" id="/!O0aGpyAvN.Ew2Bu;xW"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="q.[aG^!+*u9R{v8^*S,u"> <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=";09z_5H^yFGk:dqylNfW"> <field name="VAR" id="%/Y3*]b--QYTzdUiQI/4" variabletype="">Shelly_aus</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="$r/#I7==7lIS!IU]=`d!"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="lists_setIndex" id="wSj|49/r1=2vwGBbijCI"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="`0]y($ww3kx6n_]-j+BM"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="s7Jdt2BKRI|-(4j[(_WV"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="/BM:~+weLh~)B1nHLl)["> <mutation name="getParentName2"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="70kzx2k.}jo]c!w:U6%S"> <field name="VAR" id="%/Y3*]b--QYTzdUiQI/4" variabletype="">Shelly_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="?u.N1}R]|FEj|B1!E,lS"> <field name="TEXT"> aus</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="h1:|2?EAMJeFw%+$7m$C"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="v?pPpi+Q2+,pg9fz%GY+"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="I11#m[3B_KUJ@Jpib@WC"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="LkI4:X?gRHOu|6!M*_|)"> <mutation name="getParentName2"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="-X(YahblVgVOj?{l.}vV"> <field name="VAR" id="%/Y3*]b--QYTzdUiQI/4" variabletype="">Shelly_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id=",f!Yor$:]J}W2}*c34rH"> <field name="TEXT"><td>aus 👍</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="controls_forEach" id="0=Z3*}N|V$9M]U$o-#d*"> <field name="VAR" id="dNM(o:^(_Nu^Hwan,B?}" variabletype="">HUE_aus</field> <value name="LIST"> <block type="selector" id="XBvU%JuNCrAi4aI5X%Fd"> <field name="TEXT">state[id=*.on](functions=lichterstatus)</field> </block> </value> <statement name="DO"> <block type="controls_if" id="4T(@BO.$S7ZE.t5Ne,|P"> <value name="IF0"> <block type="logic_compare" id="`_RSPA8vCT$}0g8w!4LH"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="BOY6jrb?xoYF?~B]*.P{"> <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="I#Ep*{CG-q5nT|q!hUf4"> <field name="VAR" id="dNM(o:^(_Nu^Hwan,B?}" variabletype="">HUE_aus</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="q_$~488Vfu:1~%f.jKP%"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="lists_setIndex" id="1up9`VYFjQ]:T}6XA,NT"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="LV8s;2g3]G3In{CmtZ[A"> <field name="VAR" id="?Iruv;}=6m-+T=![x@`H" variabletype="">Licht_gesamt_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="3Dr63TKWPLll2vMoQQ]j"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="}$^NnuM`Ev1f7Cz(r,?a"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=")yk}]?A3F9!+M4iySU%t"> <field name="VAR" id="dNM(o:^(_Nu^Hwan,B?}" variabletype="">HUE_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id=");(5@(H_XI41buw$/yb2"> <field name="TEXT"> aus</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id=":QDFaHEv.l8zBs|qAtKC"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id=",KgJCdRa{SQkxuc4-Ry_"> <field name="VAR" id="M#.~fDd[/KAfhHH%W2-K" variabletype="">Licht_html_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="}zAw(=fh@Oevq79O?kg~"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="j5skk18$S:`btDl]DA^6"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="e-go[q0GPsf;Ci|xiip9"> <field name="VAR" id="dNM(o:^(_Nu^Hwan,B?}" variabletype="">HUE_aus</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="[5B[k/9k2^.Wz_C$W!y:"> <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">0_userdata.0.Geraete_zaehlen.Licht.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="s^g_cd%U/.iiN#+uA0!:" variabletype="">Anzahl_Licht_eingeschaltet</field> </block> </value> <next> <block type="update" id="VnZud=~v2I?UkrzwyRSG"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht.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="rtfLle*]f_K|%$KK)r9i" 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="s^g_cd%U/.iiN#+uA0!:" 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">0_userdata.0.Geraete_zaehlen.Licht.03Licht_text_eingeschaltet_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="}F!/Py5fbJ6~nLCo9;?3"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <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> <value name="ARG1"> <block type="text" id="gb8J?P0~XCvz(8Asll(R"> <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">0_userdata.0.Geraete_zaehlen.Licht.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">Das Licht ist überall aus.</field> </block> </value> </block> </statement> <next> <block type="update" id="SkC8k@_ho!#A[{if#9S/"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht.04Licht_text_Gesamt_Liste</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="L{x+}7*cU^@70o~-IViI"> <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="+AxK/tq[}AI181aw6QHU"> <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">0_userdata.0.Geraete_zaehlen.Licht.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> </next> </block> </next> </block> </statement> </block> </xml>
-
@paul53
Ich hatte Fenster groß geschrieben, weil in der Liste es halt so war, gar nicht drauf geachtet, dass es ja 'enum.functions.fenster' heißt
Geändert , aber keine Änderung.@dslraser
Ich hatte dir den JSONvom ganzen Device gegeben, hier ist nur der Datenpunkt 'opened'.{ "type": "state", "common": { "name": "Badfenster_links", "type": "boolean", "read": true, "write": false, "role": "state" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1559042199181, "_id": "zigbee.0.00158d0002386175.opened", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} }
-
versuch das mal, bei mir funktioniert Dein DP
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="=QYu;YrGz;alhjJ*P60l">id</variable> <variable type="" id="[A*(}S#kR2/X()q4*tT:">arry</variable> <variable type="" id="e?In;7NAu;9b$tfC1Xqk">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="HYyl#n^=-9$2h^y`Y;N?">htmlText</variable> <variable type="" id="5sx0p-H2UR:qGkILu12b">Fenster_auf</variable> <variable type="" id="B$Q;zQRz:1Y|52D2M_{-">Fenster_zu</variable> </variables> <block type="procedures_defcustomreturn" id="!N6;}kSECsPgA~=}mQv" x="13" y="13"> <mutation statements="false"> <arg name="id" varid="=QYu;YrGz;alhjJ*P60l"></arg> </mutation> <field name="NAME">getParentName</field> <field name="SCRIPT">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZQ==</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="[A*(}S#kR2/X()q4*tT:"></arg> <arg name="trenner" varid="e?In;7NAu;9b$tfC1Xqk"></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=*.opened](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="variables_set" id="|~K|WpGs7ZuBG2wTto`l" 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?!=$.*ALzY|7$*fF|?h"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="9sAlP)Y%!(mC!Y)]g:!G"> <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="t#dm,ro.U$DIf*-5MpC="> <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="57rc];dt3Z!gwe$1`^QO"> <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="Qfe/pK?[K`|mnY-:nJ%%"> <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="~E%GtcDPbV5O_t;iMx+v"> <field name="TEXT"> </p> </field> </block> </value> <value name="ADD5"> <block type="text" id="-nr%Z[bY$1s_8,.,kcxS"> <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="UShZS$+~HBb5=/Q(lz,0"> <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=",lSE1px+q`H~l8!aOLd="> <field name="TEXT"><tr><td></field> </block> </value> </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="">Fenster_auf</field> <value name="LIST"> <block type="selector" id="C?:@?Eho-`=l}!p-E%Nu"> <field name="TEXT">state[id=*.opened](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"> <value name="IF0"> <block type="logic_compare" id="nk~*s~c55PgT~IyQ9vBA"> <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="">Fenster_auf</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="l7EHfqu_~D+R+%R0BzL2"> <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="">Fenster_auf</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="MnJ-tOwgh]opb|{d6%sp"> <field name="TEXT"></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="">Fenster_auf</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="">Fenster_auf</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> </block> </next> </block> </statement> <next> <block type="controls_forEach" id=".PLo*wJ6UG:S(g~/*3nb"> <field name="VAR" id="B$Q;zQRz:1Y|52D2M_{-" variabletype="">Fenster_zu</field> <value name="LIST"> <block type="selector" id="oQ%C5VvL01VFNo;oY_F+"> <field name="TEXT">state[id=*.opened](functions=fenster)</field> </block> </value> <statement name="DO"> <block type="controls_if" id=",T=h!w-5vzjVEE4pX/0/"> <value name="IF0"> <block type="logic_compare" id="@R?lq8hnQpokD]{(/cCP"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="H:310DheKDUMNtUiT7XO"> <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="q3xx|dzF19Bn]Ob}0E[H"> <field name="VAR" id="B$Q;zQRz:1Y|52D2M_{-" variabletype="">Fenster_zu</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="MoT0I-gX*tPI;_*dHm^E"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="c,s[JZk##zU_UGSj8[=,"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="^E^7l3!-_Dd3O#zOU9=B"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="?uxY7V%@~gAw3{(zut9b"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="U$/(Nj)lz[4^~g_#d-Df"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="#x3%-VzzkUI/?Iwy+~@%"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="N.@M]:{QU=je0kraOC5T"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="/4*W/V=%,aSzK:h5@IcT"> <field name="VAR" id="B$Q;zQRz:1Y|52D2M_{-" variabletype="">Fenster_zu</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="mopeyC5EcA)_ubs_5}])"> <field name="TEXT"> geschlossen</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="^=H8qN_k2_BkwtT5!uPQ"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="BJ~{sifMF/rx8jA1D^D@"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </block> </value> <value name="TO"> <block type="text_join" id="B|Zom%.S%e7/?#7mcnz*"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="SDKpN}y|aSlrY1n0G.kC"> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="/=GTT3UYbPll{_jR$B9{"> <field name="VAR" id="B$Q;zQRz:1Y|52D2M_{-" variabletype="">Fenster_zu</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="h*bN*WuD/C^upPH(u@*d"> <field name="TEXT"><td>geschlossen 👍</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </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="procedures_callcustomreturn" id="/Ie^38*kja2Vfp1/|mNi"> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <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> <value name="ARG1"> <block type="text" id="ZUraB;{kRx-vG!1Ko0Sq"> <field name="TEXT">, </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="procedures_callcustomreturn" id="fK+j@W#O1+K`pY1^oRa("> <mutation name="arry, trenner"> <arg name="arry"></arg> <arg name="trenner"></arg> </mutation> <value name="ARG0"> <block type="lists_sort" id="hW!HN[|zU_1RQOJmY7ii"> <field name="TYPE">TEXT</field> <field name="DIRECTION">1</field> <value name="LIST"> <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> <value name="ARG1"> <block type="text" id="pC~$D$r|Oot=CU8ztZ?s"> <field name="TEXT">, </field> </block> </value> </block> </value> </block> </statement> <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="variables_get" id="~NFN4XiuFz@b%Pydm!7x"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> </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> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@dslraser
Klappt, Danke dafür, sehe keinen Unterschied zu meinem alten Script auf Anhieb, aber ich habe gestern Abend nicht mehr die Fenster geöffnet, sondern nur die Adapter JS und Admin neugestartet, vielleicht lag es daran.Kann man eigentlich in dem Selektor auch eine ODER-Verknüpfung einbringen, weil meine ZWAVE Fensterkontakte ja auf einen anderen Datenpunkt signalisieren.
{ "from": "system.adapter.zwave.0", "user": "system.user.admin", "ts": 1575070298734, "common": { "name": "Sensor", "type": "boolean", "role": "sensor", "read": true, "write": false }, "native": { "value_id": "4-48-1-0", "type": "bool", "genre": "user", "label": "Sensor", "units": "", "help": "Binary Sensor State", "node_id": 4, "class_id": 48, "instance": 1, "index": 0, "min": 0, "max": 0, "read_only": true, "write_only": false, "is_polled": false }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "zwave.0.NODE4.SENSOR_BINARY.Sensor_1", "type": "state" }
Sowas wie (state[id=.opened]ORstate[id=.SENSOR_1])(functions=fenster) ...
-
@tugsi sagte in Geräte zählen mit Blockly Selektor Aufzählungen:
Kann man eigentlich in dem Selektor auch eine ODER-Verknüpfung einbringen, weil meine ZWAVE Fensterkontakte ja auf einen anderen Datenpunkt signalisieren.
Das weiß ich nicht, ich nehme einen zweiten Selctor und eine zweite Schleife dafür. Ich habe z.B. bei meinem Licht HUE Lampen und auch Steckdosen für Licht in einer Aufzählung, da mache ich das auch so. (HMIP Steckdosen mit .STATE und HUE mit .on oder .level usw...)
-
@dslraser
Hallo,
hab das neue Script getestet funktioniert. Musste bei den Hue Leuchten nur noch das "Philips_hue." entfernen.Sieht jetzt so aus:
Gartenhaus_Decke aus, Gartenhaus_Wandlampe aus, Küche aus, Wohnzimmer aus, Esszimmer aus, Stehlampe aus
Vielen Dank für deine Hilfe.
Wäre es jetzt auch noch möglich die Alexa und Telegram-Funktion einzufügen?
Und noch eine Frage wenn ich das Script neu starte werden die Objekte zurückgesetzt muss ich nach dem Anlegen der Datenpunkte irgendwas deaktivieren?Gruß
-
@dslraser said in Fenster zählen mit Blockly Selektor Aufzählungen:
Hier mal Dein Licht (ungetestet, ich habe das Blockly nicht gestartet, da ich alle Deine RAW DP und Aufzählungen bei mir schon wieder gelöscht habe) In der Textliste der geöffneten Fenster habe ich den Zusatz geöffnet entfernt, falls Du diesen DP für eine Ansage mit Alexa nutzen willst ist es vielleicht einfacher)
Probiere mal
Hey, beide Script funktionieren Super!
Danke nochmal für die ganze Hilfe! -
@Conquest sagte in Geräte zählen mit Blockly Selektor u. Aufzählungen:
Wäre es jetzt auch noch möglich die Alexa und Telegram-Funktion einzufügen?
ja, klar...ich überlege ein Blockly dafür hier einzeln rein zu stellen, da nicht jeder alles benutzt. Wenn ich das alles in einem Blockly mache, so wie oben im ersten, für mich habe ich das in allen Blocklys so, dann gibt es event. wieder Fehler beim Import, weil nicht Jeder iQontrol, oder Alexa2, oder Telegram oder E-Mail Adapter usw. installiert hat.