NEWS
Blockly Selektor u. Aufzählungen Geräte zählen
-
@dslraser sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
@Freaknet
wieso fängt in Deinem Bild die Liste 05 mit geschlossen an ? Ist das noch so ?Ich habe mir noch mal Deine Aufzählung angesehen. Das erste Fenster(Fenster WC open) hat keinen Punkt dazwischen, also kein .open ?
-
@dslraser said in Fenster zählen mit Blockly Selektor Aufzählungen:
@Freaknet
wieso fängt in Deinem Bild die Liste 05 mit geschlossen an ? Ist das noch so ?Hat sich mittlerweile auch geändert. Hat ein State (Fenster WC) noch nicht gestimmt gehabt bei einem Fenster., hast Du ja schon gemerkt
Das Blockly von @paul53 versuch ich später wenn ich vom Spaziergang zurück bin
-
@dslraser said in Fenster zählen mit Blockly Selektor Aufzählungen:
Und ein Hinweis für @Freaknet , wenn die Anzeige in den Objekten nicht direkt stimmt, dann aktualisiere mal den Browser. (nicht nur die Objekte aktualisieren) Am Besten Du übernimmst nochmal das Blockly von @paul53
Also es scheint das das Script von @paul53 genauso läuft wie Dein @dslraser.
Was ist da jetzt der Unterschied?Update: Ein Unterschied hab ich... 06_html_Fenster_Liste bleibt leer
-
@Freaknet
es gibt nur einen Unterschied in der Schleife.
Zu 06, es sieht so aus als hättest Du noch kein Fenster geöffnet ? (bei mir wurde die befüllt, sonst schaue ich später nochmal) -
Ok... alles grün
Hab nochmal ein Fenster geöffnet und jetzt kommt auch was in der html-Liste rüberMerci für die tolle Hilfe!
P.S.: Wenn ich das ganze für mein Licht nutzen will, muss ich da was beachten oder kann ich das "Standart" Skript nehmen und einfach die Datenpunkte ect. ändern?
-
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
P.S.: Wenn ich das ganze für mein Licht nutzen will, muss ich da was beachten oder kann ich das "Standart" Skript nehmen und einfach die Datenpunkte ect. ändern?
Kommt drauf an...
Was für Licht ? RAW ? -
@Freaknet sagte:
Was ist da jetzt der Unterschied?
Der wesentliche Unterschied ist, dass nur die Operationen in der Schleife ausgeführt (wiederholt) werden, die in der Schleife ausgeführt werden müssen.
-
@dslraser said in Fenster zählen mit Blockly Selektor Aufzählungen:
Kommt drauf an...
Was für Licht ? RAW ?Hab eigentlich nur 12 Hue´s und 9 Shelly-Switch für die Abfrage. Kann später mal die RAW´s der beiden schicken. Hab alle mit *.on geschrieben und als Aufzählung Lichter genommen.
@paul53
Das mit der Schleife habe ich gesehen, läuft alles stabil bis jetzt und alle Fenster/Türen werden erkannt -
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Hab eigentlich nur 12 Hue´s und 9 Shelly-Switch für die Abfrage.
Das zählen geht auf jeden Fall. Ob die dann gemeinsam in einer Liste darstellbar sind weiß ich noch nicht.
Ich habe z.B. HUE Lampen und Steckdosen wo Lampen drann sind in der Auswertung bei mir (aber nicht in einer Liste) -
Würde mir schon reichen wenn ich die Zahl der Lichter=on/off in eine Liste bekommen würde. Vielleicht mit Name noch. Muss ja keine iQontrol Liste sein
Kannst Du mir das Blockly ggf. zur Verfügung stellen mit deinen Hue´s? Dann muss ich vielleicht nicht soviel abändern wegen den Shelly´s, oder macht das keinen Sinn?
Kann ich die iQontroll Liste auch selber bearbeiten aus dem Blockly heraus (Aussehen)? Mit den 8 Fenstern klappt das noch recht gut in der VIS-Darstellung, aber wenn es mehr werden reicht der Platz nimmer ohne scrollen zu müssen.
-
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Kann ich die iQontroll Liste auch selber bearbeiten aus dem Blockly heraus
Hier wird die html-Liste erstellt
geöffnete Fenster
geschlossene Fenster
-
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Kannst Du mir das Blockly ggf. zur Verfügung stellen mit deinen Hue´s?
ich nehme .level (geht aber auch mit .on=wahr, mußt Du dann ändern)
-
@dslraser sagte:
Ob die dann gemeinsam in einer Liste darstellbar sind weiß ich noch nicht.
Wenn man mehrere Selektoren verwenden muss, kann man trotzdem gemeinsame Listen erzeugen. Prinzip:
-
@paul53
super, werde ich bei mir testen, wenn ich wieder Zeit finde, das vereinfacht einiges. Ich hatte schon gedacht das vielleicht mit alias zu lösen. -
@dslraser sagte:
das vielleicht mit alias zu lösen.
Das ist letztendlich die bessere Lösung, macht aber erst einmal mehr Arbeit.
-
Hey, erstmal Danke für das Script. Hab es etwas umgewandelt auf meine Bedürfnisse. Die Hue´s werden erkannt aber wie befürchtet erkennt das Skript die Shellys nicht.
Hier mal das RAW eines Shelly
{ "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" }
Jetzt wäre noch interessant, die Namen der Lichter zu bekommen, dann wäre ich erstmal glücklich
So sehen aktuell meine Datenpunkte aus:
Falls benötigt hier noch mein geändertes Script
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id=".2k]),Q$l|l%mJu)mo-e">Anzahl_Lichter_aktiv</variable> <variable type="" id=";ITUVe4B=QGVsc2VwzL7">Anzahl_Lichter_gesamt</variable> <variable type="" id="O.g)=vuxy/!=!?vJ]|ep">Lichter</variable> </variables> <block type="procedures_defcustomnoreturn" id="EJhG@Zv:/.r@(DzIU,:6" x="113" y="-87"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0X3phZWhsZW4uMDFMaWNodF9BbnphaGxfZWluZ2VzY2hhbHRldCcsIHsnbmFtZSc6JzAxTGljaHRfQW56YWhsX2Vpbmdlc2NoYWx0ZXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOiAnTGFtcGVuJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuLkxpY2h0X3phZWhsZW4uMDJMaWNodF9BbnphaGxfZ2VzYW10JywgeyduYW1lJzonMDJMaWNodF9BbnphaGxfZ2VzYW10JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzogJ0xhbXBlbicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodF96YWVobGVuLjA1TGljaHRfQW56YWhsX2Vpbmdlc2NoYWx0ZXQnLCB7J25hbWUnOicwNUxpY2h0X0FuemFobF9laW5nZXNjaGFsdGV0JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzogJ0xhbXBlbicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbi5MaWNodF96YWVobGVuLjA2TGljaHRfQW56YWhsX2dlc2FtdCcsIHsnbmFtZSc6JzA2TGljaHRfQW56YWhsX2dlc2FtdCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6ICdMYW1wZW4nLCAnZGVmJzowIH1dLAogICAgCl07ICAgIApjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="X+4?!FV=R(MUJl~Yi2L." x="108" y="-36"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="on_ext" id="hafx;Y{*x?Xn(,sMW.+n"> <mutation items="1"></mutation> <field name="CONDITION">any</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=on](functions='lichterstatus')</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="|8H=Pul|f.cr!UhJLN(H"> <field name="VAR" id=".2k]),Q$l|l%mJu)mo-e" variabletype="">Anzahl_Lichter_aktiv</field> <value name="VALUE"> <block type="math_number" id="JJ!;Yr|2GY(0JCOqtmzg"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="VX#)3TR!c*9V=CBCNN^~"> <field name="VAR" id=";ITUVe4B=QGVsc2VwzL7" variabletype="">Anzahl_Lichter_gesamt</field> <value name="VALUE"> <block type="math_number" id="JDNj8[~cqg4{)hPhqGfA"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_forEach" id="G!}uXUNe]!g=EHrV74L~"> <field name="VAR" id="O.g)=vuxy/!=!?vJ]|ep" variabletype="">Lichter</field> <value name="LIST"> <block type="selector" id="MONtf(uq5XEC}a_-xfMb"> <field name="TEXT">state[id=on](functions='lichterstatus')</field> </block> </value> <statement name="DO"> <block type="math_change" id="wX3a;:_:P|iF9au~5Rlr"> <field name="VAR" id=";ITUVe4B=QGVsc2VwzL7" variabletype="">Anzahl_Lichter_gesamt</field> <value name="DELTA"> <shadow type="math_number" id="EbsD?G]|b4O8WV1AD,Cd"> <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">GT</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="">Lichter</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="CsVX,!$C^/;xrvGNn*#M"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="KI|Fwv`!II[b[e{HUT-V"> <field name="VAR" id=".2k]),Q$l|l%mJu)mo-e" variabletype="">Anzahl_Lichter_aktiv</field> <value name="DELTA"> <shadow type="math_number" id="zA#pO8^NGsc3eI_hO}Dt"> <field name="NUM">1</field> </shadow> </value> </block> </statement> </block> </next> </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_zaehlen.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=".2k]),Q$l|l%mJu)mo-e" variabletype="">Anzahl_Lichter_aktiv</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_zaehlen.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=";ITUVe4B=QGVsc2VwzL7" variabletype="">Anzahl_Lichter_gesamt</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="E$Z4vn#Z:bfhp^7z}|.^"> <mutation items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="s~^C/kxgG|[(Uw]Ck3Lh"> <field name="oid">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.01Licht_Anzahl_eingeschaltet</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="3d]E6n8.*r^,m9):CG0P"> <field name="oid">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.02Licht_Anzahl_gesamt</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="MR7!7b=SJA]a{FOIv.W=" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.05Licht_Anzahl_eingeschaltet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="pOw@4)lFyKeaa^^jgAJo"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.01Licht_Anzahl_eingeschaltet</field> </block> </value> <next> <block type="update" id="=cOorr4^0Yf0|M5u-[!F" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.06Licht_Anzahl_gesamt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="XwO90#9e5:;gXwQjHr!f"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Geraete_zaehlen.Licht_zaehlen.02Licht_Anzahl_gesamt</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@Freaknet
schaue ich mir an -
Danke bis dahin!
-
@Freaknet
Hier mal HUE und Shelly gemischt für Dich. Ich habe mal einige HUE von mir und Deinen Shelly Küchenlicht probiert, alle in der gleichen Aufzählung: lichterstatus -
Du bist Spitze
Wenn das klappt schick ich Dir ein virtuelles Bier rüberMeld mich dann heute Nachmittag/Abend wenn ich getestet habe.