- Home
- Deutsch
- Skripten / Logik
- Blockly
- Blockly Selektor u. Aufzählungen Geräte zählen
Blockly Selektor u. Aufzählungen Geräte zählen
-
Danke für den Hinweis und den Link... werd ich mir mal zu Gemüte führen wenn jetzt dann alle Abfragen laufen wie sie sollen
Wobei ich mit Deiner Anzeige von iQontrol schon sehr zufrieden bin
-
@Freaknet
Die Licht html Liste sieht jetzt bei mir so aus (ich muß scrollen, macht aber nix, ist ja nur fürs Handy bei mir) -
Das Skript von oben funktioniert hervorragend
Alle Lichter werden jetzt erkannt und die iQontroll passt auch.... aber Deine neue Liste schaut auch sehr nice aus!
Das scrollen ist nicht das Problem beim Tablet und Handy... muss nur am Tablet aufpassen das ich nicht aus versehen dann immer VIS aktualisiere
Hab aber denk ich schon die Lösung gefunden im Forum. Nutze ja den Fully Kiosk...
Hab einen Button angelegt falls ich manuell refreshen will und werde das nach unten wischen deaktiviert in den Einstellungen.Nochmal vielen lieben Dank dafür!
-
@paul53
Hast Du eine Idee wie ich die erstellten Listen nach "Zustand" der Geräte sortieren kann ?
Im Moment sortiere ich die Geräte in der Liste alphabetisch. Ich würde gern die aktiven Geräte immer oben haben, also nach an oder geöffnet usw.
Also sortiert nach dem angefügten Wort in den Listen.Im Moment wird nur hier sortiert
-
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Das Skript von oben funktioniert
Falls Du Deine Text Listen sortieren möchtest, das hatte ich bisher nicht im Blockly drinn, dann einfach ergänzen
Beispiel
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Listen nach "Zustand" der Geräte sortieren kann ?
2 Möglichkeiten:
- 2 Schleifen: erst Liste füllen mit Zustand "aktiv", anschließend füllen mit Zustand "inaktiv"
oder - jeweils 2 Listen die zum Schluss zusammengefügt werden
- 2 Schleifen: erst Liste füllen mit Zustand "aktiv", anschließend füllen mit Zustand "inaktiv"
-
@paul53 sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
2 Schleifen: erst Liste füllen mit Zustand "aktiv", anschließend füllen mit Zustand "inaktiv"
Das habe ich jetzt bei mir drinn
Danke, mal wieder. -
@dslraser said in Fenster zählen mit Blockly Selektor Aufzählungen:
Falls Du Deine Text Listen sortieren möchtest, das hatte ich bisher nicht im Blockly drinn, dann einfach ergänzen
Werd ich versuchen ob ich es hinbekomme
Kannst Du vielleicht noch nen Screen machen mit dem Thema sortiert "aktiv/inaktiv" bzw. "an/aus" mit den 2 Schleifen? Würde nämlich das ganze visuell dann besser aussehen lassen
-
@Freaknet
kann ich machen. -
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
<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="_(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="EJhG@Zv:/.r@(DzIU,:6" x="13" y="113"> <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="163"> <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="588"> <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="]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="">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="+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="">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="/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="">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="XNI*:`N8L.mMrvJDP6iU"> <mutation name="getParentName"> <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="*~Ul=mz|ETaZq9LSe2^="> <mutation name="getParentName"> <arg name="id"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="MyWR;`t.7bjc2!:#F$+1"> <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>
-
Hier das gleiche Für Deine Fenster
<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">dmFyIG9iaiA9IGdldE9iamVjdChpZCk7DQp2YXIgbmFtZSA9IGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7DQp2YXIgZGV2aWNlbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIG5hbWUuaW5kZXhPZigiLm9wZW4iKSk7IC8vLm9wZW4gYXVzIFRleHQgZW50ZmVybmVuDQpyZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZS5zdWJzdHJpbmcoMCwgbmFtZS5pbmRleE9mKCIub3BlbiIpKTsNCg0KLy9pZihleGlzdHNPYmplY3QoaWQpKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="_(a~5[lFS^_b-QSlk(!i" x="13" y="63"> <mutation statements="false"> <arg name="arry" varid="[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=*.open](functions=Fenster)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="qirpx07BoQ*?TV4gduet" collapsed="true"> <field name="VAR" id="[TAk8x}N*-*/aViN*mpm" variabletype="">anzahl_Fenster_offen</field> <value name="VALUE"> <block type="math_number" id="w/#SFT.RTD._k(}^!W$Q"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="kgM!sYoju}j!8=D*X[K_" collapsed="true"> <field name="VAR" id="0%(G)y@(ps#FB+i|^[Od" variabletype="">anzahl_Fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="6m:*Ze4Y$vni}hxX=)_Y"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="d]+swEgKe/XnMimCKY0l" collapsed="true"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="VALUE"> <block type="math_number" id="/oGIB[13KY!]2]iA^_i8"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=";30#Q`9DDf02i0ZFc+66" collapsed="true"> <field name="VAR" id="V%!;pB0[,[eHK8CniGE1" variabletype="">text_offene_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="RQWyZ1?XEp=u,8},x.O."> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="?AQPyg6j[kcY2KgXqFQv" collapsed="true"> <field name="VAR" id="UVcu;zpo3^E7FM(Nc,??" variabletype="">text_gesamt_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="GXB4~qw-@)tIXP#[i8]="> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id=")wqTS]oR-i%87uhNmC9l" collapsed="true"> <field name="VAR" id=":KX7~tPL%CGSc5%CKylU" variabletype="">html_Fenster_Liste</field> <value name="VALUE"> <block type="lists_create_with" id="8Tk0R,[pE^t/_M=4v_Ak"> <mutation items="0"></mutation> </block> </value> <next> <block type="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=*.open](functions=Fenster)</field> </block> </value> <statement name="DO"> <block type="math_change" id="P/GSBqX;OeOw_-At,B+y"> <field name="VAR" id="3=X9MAe.hq%CECAY8E{I" variabletype="">anzahl_Fenster_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="za5`#8E^=uh$7KSz).K;"> <field name="NUM">1</field> </shadow> </value> <next> <block type="controls_if" id="xLj1@;+3M|O{X;[xpM2y"> <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=*.open](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>
-
Bin Sprachlos!
Werde ich nach Heimkehr aus der Arbeit testen und berichten.1000 Dank! Das hätte bei mir bestimmt wieder Tage gedauert
-
@Freaknet @dslraser
Hallo,
erstmal vielen Dank an @dslraser für das Hue Shelly Blockly funktioniert auf Anhieb.
Jetzt hätte ich noch ein paar Wünsche und Fragen
Wäre es möglich bei diesem Blockly auch die Alexa ansage und Telegram Nachricht wie beim Fensterscript einzufügen?
Außerdem habe ich noch ein Problem mit den Shellys ich bekomme in der Liste nur "aus" angezeigt aber keine Namen ist das bei dir auch so?
Und bei den Hue Leuchten steht das "Philips_hue." vorne dran kann man das auch entfernen?So sieht bei mir die Liste aus:
aus, aus, aus, aus, aus, Philips_hue.Stehlampe aus
Gruß
-
@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.