NEWS
Blockly Selektor u. Aufzählungen Geräte zählen
-
@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.
-
-
-
@Freaknet
Nutzt Du eigentlch iQontrol ? Wenn ja, kannst Du auch das html File direkt in den iQontrol Ordner schreiben lassen. -
Ne, genau das ist mein Problem. Nutze nur VIS. Nehm dafür ein passende Widget her für die iQontrol-Liste.
Hab aber schon etwas experementiert mit den 2 Werten um die Blöcke kleiner gemacht
Zu klein kann und will ich sie aber auch nicht machen damit man auch noch was erkennen kann. -
@Freaknet sagte in Fenster zählen mit Blockly Selektor Aufzählungen:
Nutze nur VIS.
Du kannst ja für Dich auch andere Formate einbauen. Es gibt hier gerade eine Menge davon.
https://forum.iobroker.net/post/344576
Hier fing das mal an
-
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)