Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Verfügbarkeit von Sensoren über Node Red überwachen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Verfügbarkeit von Sensoren über Node Red überwachen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Schmetterfliege last edited by mickym

      @schmetterfliege das ist ja auch nur für die erstmalige Initialisierung gedacht - deswegen ist das ja auch im Namensstrang. Eventuell hättest Du einfach Deine Flow Variable löschen sollen. Dieser Ast wird dann ja auch nur 1 mal nach NR Start ausgeführt. Wenn da 2 mal Küche Küche drin steht, dann passt was am Flow nicht..

      S 1 Reply Last reply Reply Quote 0
      • S
        Schmetterfliege @mickym last edited by

        @mickym

        Okay, ja dann ist das wirklich ein selbstgemachtes Problem 🙂
        Dann lasse ich es - solange ich am basteln bin - noch ohne die if Abfrage.

        Ich bin nämlich gerade fleißig am Triggern verschiedener Äste um meine Änderungen direkt in der Tabelle anzuschauen und möchte nicht jedes Mal erst die Variablen löschen^^

        Aber dann füge ich das wieder hinzu sobald ich es nicht ständig wieder trigger 🙂

        Die Sache mit den 2 Zuordnungen in enums würde mich dennoch interessieren, ob das einen tieferen Sinn hat sowohl den Raum als auch die Wohnung anzugeben :D.

        mickym 1 Reply Last reply Reply Quote 0
        • S
          Schmetterfliege last edited by

          Hier mal mein aktueller Flow:
          (Ich hoffe ich crashe jetzt nicht das Forum, mein browser hängt nämlich brutal wenn ich das hier paste^^)

          [
             {
                 "id": "80964148.05ced",
                 "type": "ioBroker in",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "zigbee.0.*.temperature",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "x": 120,
                 "y": 1480,
                 "wires": [
                     [
                         "76dc3fa8.dbf32"
                     ]
                 ]
             },
             {
                 "id": "76dc3fa8.dbf32",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "/",
                         "fromt": "str",
                         "to": ".",
                         "tot": "str"
                     },
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "zigbee\\.0\\.(.*)\\.temperature",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 330,
                 "y": 1480,
                 "wires": [
                     [
                         "7b61cce2.860ba4"
                     ]
                 ]
             },
             {
                 "id": "95d362c7.9cfac",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "temperature",
                 "func": "flow.set('zigbee.' + msg.topic + '.temperature',msg.payload);\nflow.set('zigbee.' + msg.topic + '.ttimestamp',msg.timestamp);\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 830,
                 "y": 1480,
                 "wires": [
                     [
                         "4863b357.90db7c"
                     ]
                 ]
             },
             {
                 "id": "4863b357.90db7c",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "zigbee",
                         "tot": "flow"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1030,
                 "y": 1500,
                 "wires": [
                     [
                         "d3c173ae.ad1cf"
                     ]
                 ]
             },
             {
                 "id": "75196751.de96a8",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "/",
                         "fromt": "str",
                         "to": ".",
                         "tot": "str"
                     },
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "zigbee\\.0\\.(.*)\\.humidity",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 330,
                 "y": 1520,
                 "wires": [
                     [
                         "ee36bc0f.66ef5"
                     ]
                 ]
             },
             {
                 "id": "2659c837.1fab58",
                 "type": "ioBroker in",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "zigbee.0.*.humidity",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "x": 110,
                 "y": 1520,
                 "wires": [
                     [
                         "75196751.de96a8"
                     ]
                 ]
             },
             {
                 "id": "22d8d6e4.0dc77a",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "humidity",
                 "func": "flow.set('zigbee.' + msg.topic + '.humidity',msg.payload);\nflow.set('zigbee.' + msg.topic + '.htimestamp',msg.timestamp);\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 820,
                 "y": 1520,
                 "wires": [
                     [
                         "4863b357.90db7c"
                     ]
                 ]
             },
             {
                 "id": "d3c173ae.ad1cf",
                 "type": "split",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "splt": "\\n",
                 "spltType": "str",
                 "arraySplt": 1,
                 "arraySpltType": "len",
                 "stream": false,
                 "addname": "",
                 "x": 1190,
                 "y": 1500,
                 "wires": [
                     [
                         "be2b1f6.eaf54e"
                     ]
                 ]
             },
             {
                 "id": "be2b1f6.eaf54e",
                 "type": "join",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "mode": "custom",
                 "build": "array",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": false,
                 "timeout": "",
                 "count": "18",
                 "reduceRight": false,
                 "reduceExp": "",
                 "reduceInit": "",
                 "reduceInitType": "",
                 "reduceFixup": "",
                 "x": 1310,
                 "y": 1500,
                 "wires": [
                     [
                         "16c03ad2.0d8915"
                     ]
                 ]
             },
             {
                 "id": "7a2ab401.4b787c",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "Gerätenamen auslesen",
                 "func": "name = msg.payload.common.name;\nname = name.replace(\"Aqara Multisensor \", \"\");\nif (name.includes(\"Heizung\"))\n{\n   name = \"Heizung\";\n}\nelse {\n    name = \"Raum\";\n}\nflow.set('zigbee.' + msg.topic + '.name',name);\nflow.set('zigbee.' + msg.topic + '.id',msg.topic);\nreturn msg; ",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 790,
                 "y": 1580,
                 "wires": [
                     [
                         "92fd9730.823b98",
                         "1f8eb11.1a70a4f"
                     ]
                 ]
             },
             {
                 "id": "e1957bd4.48b138",
                 "type": "ioBroker list",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "zigbee.0.*",
                 "objType": "device",
                 "regex": "",
                 "asArray": "false",
                 "onlyIDs": "false",
                 "withValues": "false",
                 "x": 240,
                 "y": 1580,
                 "wires": [
                     [
                         "dc08c77d.a8e5e8",
                         "3645a027.601cf"
                     ]
                 ]
             },
             {
                 "id": "926be68c.f45c48",
                 "type": "switch",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "property": "payload.common.name",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "cont",
                         "v": "Multisensor",
                         "vt": "str"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 590,
                 "y": 1580,
                 "wires": [
                     [
                         "7a2ab401.4b787c"
                     ]
                 ]
             },
             {
                 "id": "989ce87e.fcffd8",
                 "type": "inject",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": true,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "true",
                 "payloadType": "bool",
                 "x": 90,
                 "y": 1580,
                 "wires": [
                     [
                         "e1957bd4.48b138"
                     ]
                 ]
             },
             {
                 "id": "92fd9730.823b98",
                 "type": "trigger",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "op1": "",
                 "op2": "true",
                 "op1type": "nul",
                 "op2type": "bool",
                 "duration": "250",
                 "extend": true,
                 "overrideDelay": false,
                 "units": "ms",
                 "reset": "",
                 "bytopic": "all",
                 "topic": "topic",
                 "outputs": 1,
                 "x": 1240,
                 "y": 1580,
                 "wires": [
                     [
                         "4863b357.90db7c"
                     ]
                 ]
             },
             {
                 "id": "7b61cce2.860ba4",
                 "type": "switch",
                 "z": "f24596d3.51bf08",
                 "name": "def IDs",
                 "property": "$exists($lookup($flowContext('zigbee'), topic))\t",
                 "propertyType": "jsonata",
                 "rules": [
                     {
                         "t": "true"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 500,
                 "y": 1480,
                 "wires": [
                     [
                         "7173350d.3ed7dc"
                     ]
                 ]
             },
             {
                 "id": "ee36bc0f.66ef5",
                 "type": "switch",
                 "z": "f24596d3.51bf08",
                 "name": "def IDs",
                 "property": "$exists($lookup($flowContext('zigbee'), topic))\t",
                 "propertyType": "jsonata",
                 "rules": [
                     {
                         "t": "true"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 500,
                 "y": 1520,
                 "wires": [
                     [
                         "191dd719.7cbce9"
                     ]
                 ]
             },
             {
                 "id": "191dd719.7cbce9",
                 "type": "moment",
                 "z": "f24596d3.51bf08",
                 "name": "-> Berlin",
                 "topic": "",
                 "input": "timestamp",
                 "inputType": "msg",
                 "inTz": "Europe/Berlin",
                 "adjAmount": 0,
                 "adjType": "days",
                 "adjDir": "add",
                 "format": "HH:mm - DD.MM",
                 "locale": "de-DE",
                 "output": "timestamp",
                 "outputType": "msg",
                 "outTz": "Europe/Berlin",
                 "x": 660,
                 "y": 1520,
                 "wires": [
                     [
                         "22d8d6e4.0dc77a"
                     ]
                 ]
             },
             {
                 "id": "7173350d.3ed7dc",
                 "type": "moment",
                 "z": "f24596d3.51bf08",
                 "name": "-> Berlin",
                 "topic": "",
                 "input": "timestamp",
                 "inputType": "msg",
                 "inTz": "Europe/Berlin",
                 "adjAmount": 0,
                 "adjType": "days",
                 "adjDir": "add",
                 "format": "HH:mm - DD.MM",
                 "locale": "de-DE",
                 "output": "timestamp",
                 "outputType": "msg",
                 "outTz": "Europe/Berlin",
                 "x": 660,
                 "y": 1480,
                 "wires": [
                     [
                         "95d362c7.9cfac"
                     ]
                 ]
             },
             {
                 "id": "2ac4d283.affd8e",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "ui_control",
                 "rules": [
                     {
                         "t": "set",
                         "p": "ui_control",
                         "pt": "msg",
                         "to": "topic",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 780,
                 "y": 1400,
                 "wires": [
                     [
                         "5496f3c3.02729c"
                     ]
                 ]
             },
             {
                 "id": "5496f3c3.02729c",
                 "type": "ui_table",
                 "z": "f24596d3.51bf08",
                 "group": "51ce6aa1.620754",
                 "name": "Thermostats",
                 "order": 1,
                 "width": "17",
                 "height": "12",
                 "columns": [],
                 "outputs": 1,
                 "cts": true,
                 "x": 930,
                 "y": 1400,
                 "wires": [
                     []
                 ]
             },
             {
                 "id": "16c03ad2.0d8915",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "func": "msg.topic = {\"tabulator\":{\"columnResized\":\"function(column){     var newColumn = {         field: column._column.field,         visible: column._column.visible,         width: column._column.width,         widthFixed: column._column.widthFixed,         widthStyled: column._column.widthStyled     }; this.send({topic:this.config.topic,ui_control:{callback:'columnResized',columnWidths:newColumn}}); }\",\"columnMoved\":\"function(column, columns){     var newColumns=[];     columns.forEach(function (column) {         newColumns.push({'field': column._column.field});     });     this.send({topic:this.config.topic,ui_control:{callback:'columnMoved',columns:newColumns}}); }\",\"groupHeader\":\"function (value, count, data, group) {return value + \\\"<span style='color:#d00; margin-left:10px;'>(\\\" + count + \\\" Termostat\\\"+((count>1) ? \\\"e\\\" : \\\"\\\") + \\\")</span>\\\";}\",\"columns\":[\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Room\",\"field\":\"room\",\"width\":100,\"frozen\":true},\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Ort\",\"field\":\"name\",\"width\":100,\"align\":\"center\"},\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Measurements\",\"columns\":[\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"min\":5,\"max\":25,\"color\":[\"#91bd00\",\"#b3bd00\",\"#bdad00\",\"#bd9700\",\"#bd8700\",\"#bd7e00\",\"#bd7100\",\"#bd6800\",\"#bd5b00\",\"#bd4500\",\"#bd2f00\"],\"legend\":\"function (value) {return '&nbsp;&nbsp;'+value+'°C';}\",\"legendColor\":\"#101010\",\"legendAlign\":\"left\"},\"title\":\"Temperatur\",\"field\":\"temperature\",\"formatter\":\"progress\",\"width\":100},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"legend\":\"function (value) {return '&nbsp;&nbsp;'+value;}\",\"legendColor\":\"#101010\",\"legendAlign\":\"left\"},\"title\":\"T_TS\",\"field\":\"ttimestamp\",\"formatter\":\"progress\",\"width\":100},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"min\":0,\"max\":100,\"color\":[\"#91bd00\",\"#b3bd00\",\"#bdad00\",\"#bd9700\",\"#bd8700\",\"#bd7e00\",\"#bd7100\",\"#bd6800\",\"#bd5b00\",\"#bd4500\",\"#bd2f00\"],\"legend\":\"function (value) {return '&nbsp;&nbsp;'+value+'%';}\",\"legendColor\":\"#101010\",\"legendAlign\":\"left\"},\"title\":\"Luftfeuchtigkeit\",\"field\":\"humidity\",\"formatter\":\"progress\",\"width\":100},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"legend\":\"function (value) {return '&nbsp;&nbsp;'+value;}\",\"legendColor\":\"#101010\",\"legendAlign\":\"left\"},\"title\":\"H_TS\",\"field\":\"htimestamp\",\"formatter\":\"progress\",\"width\":100},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"min\":1.5,\"max\":4.6,\"color\":[\"red\",\"orange\",\"green\"],\"legend\":\"function (value) {return value+' V';}\",\"legendColor\":\"#101010\",\"legendAlign\":\"center\"},\"title\":\"Voltage\",\"field\":\"voltage\",\"formatter\":\"progress\",\"width\":100}]},\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Settings\",\"columns\":[\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"allowTruthy\":true,\"tickElement\":\"<i class='fa fa-clock-o'></i>\",\"crossElement\":\"<i class='fa fa-ban'></i>\"},\"title\":\"Auto\",\"field\":\"AUTO_MODE-value\",\"formatter\":\"tickCross\",\"width\":100,\"align\":\"center\"},\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Auto\",\"field\":\"AUTO_MODE-value\",\"formatter\":\"tick\",\"width\":100,\"align\":\"center\"}]}],\"layout\":\"fitColumns\",\"movableColumns\":true,\"groupBy\":\"\"},\"customHeight\":12}\nreturn msg;\n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 640,
                 "y": 1400,
                 "wires": [
                     [
                         "2ac4d283.affd8e"
                     ]
                 ]
             },
             {
                 "id": "d3e3848c.f33718",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "func": "msg.topic = msg.topic + \".humidity\";\nreturn msg;",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 480,
                 "y": 1860,
                 "wires": [
                     [
                         "93d28fae.f749b"
                     ]
                 ]
             },
             {
                 "id": "93d28fae.f749b",
                 "type": "ioBroker get",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "",
                 "attrname": "payload",
                 "payloadType": "value",
                 "x": 640,
                 "y": 1860,
                 "wires": [
                     [
                         "c6dd57ad.468058"
                     ]
                 ]
             },
             {
                 "id": "f31f9bc1.550428",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "fulltopic",
                         "pt": "msg",
                         "to": "topic",
                         "tot": "msg"
                     },
                     {
                         "t": "change",
                         "p": "fulltopic",
                         "pt": "msg",
                         "from": "zigbee.0.(.*)",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     },
                     {
                         "t": "delete",
                         "p": "payload",
                         "pt": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 430,
                 "y": 1720,
                 "wires": [
                     [
                         "4fb04433.714c5c"
                     ]
                 ]
             },
             {
                 "id": "4fb04433.714c5c",
                 "type": "switch",
                 "z": "f24596d3.51bf08",
                 "name": "def IDs",
                 "property": "$exists($lookup($flowContext('zigbee'), fulltopic))\t",
                 "propertyType": "jsonata",
                 "rules": [
                     {
                         "t": "true"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 600,
                 "y": 1720,
                 "wires": [
                     [
                         "d3e3848c.f33718",
                         "b614d23b.e2de7",
                         "53b6b1a4.10efb"
                     ]
                 ]
             },
             {
                 "id": "c6dd57ad.468058",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "move",
                         "p": "fulltopic",
                         "pt": "msg",
                         "to": "topic",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 840,
                 "y": 1860,
                 "wires": [
                     [
                         "35fa5a1f.cc51a6"
                     ]
                 ]
             },
             {
                 "id": "dc08c77d.a8e5e8",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "/",
                         "fromt": "str",
                         "to": ".",
                         "tot": "str"
                     },
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": "zigbee\\.0\\.(.*)$",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 430,
                 "y": 1580,
                 "wires": [
                     [
                         "926be68c.f45c48"
                     ]
                 ]
             },
             {
                 "id": "e673a660.c153f8",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "humidity",
                 "func": "flow.set('zigbee.' + msg.topic + '.humidity',msg.payload);\nflow.set('zigbee.' + msg.topic + '.htimestamp',msg.timestamp);\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 1160,
                 "y": 1860,
                 "wires": [
                     [
                         "92fd9730.823b98"
                     ]
                 ]
             },
             {
                 "id": "35fa5a1f.cc51a6",
                 "type": "moment",
                 "z": "f24596d3.51bf08",
                 "name": "-> Berlin",
                 "topic": "",
                 "input": "timestamp",
                 "inputType": "msg",
                 "inTz": "Europe/Berlin",
                 "adjAmount": 0,
                 "adjType": "days",
                 "adjDir": "add",
                 "format": "HH:mm - DD.MM",
                 "locale": "de-DE",
                 "output": "timestamp",
                 "outputType": "msg",
                 "outTz": "Europe/Berlin",
                 "x": 1020,
                 "y": 1860,
                 "wires": [
                     [
                         "e673a660.c153f8"
                     ]
                 ]
             },
             {
                 "id": "b614d23b.e2de7",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "func": "msg.topic = msg.topic + \".temperature\";\nreturn msg;",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 480,
                 "y": 1900,
                 "wires": [
                     [
                         "959e474e.c1c0d8"
                     ]
                 ]
             },
             {
                 "id": "959e474e.c1c0d8",
                 "type": "ioBroker get",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "",
                 "attrname": "payload",
                 "payloadType": "value",
                 "x": 640,
                 "y": 1900,
                 "wires": [
                     [
                         "baeb3f33.088c"
                     ]
                 ]
             },
             {
                 "id": "baeb3f33.088c",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "move",
                         "p": "fulltopic",
                         "pt": "msg",
                         "to": "topic",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 840,
                 "y": 1900,
                 "wires": [
                     [
                         "23ef661a.10247a"
                     ]
                 ]
             },
             {
                 "id": "23ef661a.10247a",
                 "type": "moment",
                 "z": "f24596d3.51bf08",
                 "name": "-> Berlin",
                 "topic": "",
                 "input": "timestamp",
                 "inputType": "msg",
                 "inTz": "Europe/Berlin",
                 "adjAmount": 0,
                 "adjType": "days",
                 "adjDir": "add",
                 "format": "HH:mm - DD.MM",
                 "locale": "de-DE",
                 "output": "timestamp",
                 "outputType": "msg",
                 "outTz": "Europe/Berlin",
                 "x": 1020,
                 "y": 1900,
                 "wires": [
                     [
                         "df4fd1be.9759f"
                     ]
                 ]
             },
             {
                 "id": "df4fd1be.9759f",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "temperature",
                 "func": "flow.set('zigbee.' + msg.topic + '.temperature',msg.payload);\nflow.set('zigbee.' + msg.topic + '.ttimestamp',msg.timestamp);\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 1170,
                 "y": 1900,
                 "wires": [
                     [
                         "92fd9730.823b98"
                     ]
                 ]
             },
             {
                 "id": "53b6b1a4.10efb",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "func": "msg.topic = msg.topic + \".voltage\";\nreturn msg;",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 480,
                 "y": 1940,
                 "wires": [
                     [
                         "98fae069.a06d"
                     ]
                 ]
             },
             {
                 "id": "98fae069.a06d",
                 "type": "ioBroker get",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "topic": "",
                 "attrname": "payload",
                 "payloadType": "value",
                 "x": 640,
                 "y": 1940,
                 "wires": [
                     [
                         "c40b9a1e.cb5108"
                     ]
                 ]
             },
             {
                 "id": "c40b9a1e.cb5108",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "move",
                         "p": "fulltopic",
                         "pt": "msg",
                         "to": "topic",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 840,
                 "y": 1940,
                 "wires": [
                     [
                         "b3c5c50c.c59b48"
                     ]
                 ]
             },
             {
                 "id": "b3c5c50c.c59b48",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "temperature",
                 "func": "flow.set('zigbee.' + msg.topic + '.voltage',msg.payload);\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 1170,
                 "y": 1940,
                 "wires": [
                     [
                         "92fd9730.823b98"
                     ]
                 ]
             },
             {
                 "id": "1f8eb11.1a70a4f",
                 "type": "change",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.enums",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 550,
                 "y": 1640,
                 "wires": [
                     [
                         "59681b14.d1c474"
                     ]
                 ]
             },
             {
                 "id": "59681b14.d1c474",
                 "type": "split",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "splt": "\\n",
                 "spltType": "str",
                 "arraySplt": 1,
                 "arraySpltType": "len",
                 "stream": false,
                 "addname": "",
                 "x": 710,
                 "y": 1640,
                 "wires": [
                     [
                         "82b2a834.355758"
                     ]
                 ]
             },
             {
                 "id": "82b2a834.355758",
                 "type": "switch",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "property": "parts.key",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "cont",
                         "v": "enum.rooms",
                         "vt": "str"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 830,
                 "y": 1640,
                 "wires": [
                     [
                         "6407946c.27cc1c"
                     ]
                 ]
             },
             {
                 "id": "6407946c.27cc1c",
                 "type": "function",
                 "z": "f24596d3.51bf08",
                 "name": "Räume auslesen",
                 "func": "var room = flow.get('zigbee.' + msg.topic + '.room');\nroom = msg.payload; \n\nflow.set('zigbee.' + msg.topic + '.room',room);\n\nreturn msg; \n",
                 "outputs": 1,
                 "noerr": 0,
                 "initialize": "",
                 "finalize": "",
                 "libs": [],
                 "x": 990,
                 "y": 1640,
                 "wires": [
                     [
                         "92fd9730.823b98"
                     ]
                 ]
             },
             {
                 "id": "3645a027.601cf",
                 "type": "delay",
                 "z": "f24596d3.51bf08",
                 "name": "",
                 "pauseType": "delay",
                 "timeout": "200",
                 "timeoutUnits": "milliseconds",
                 "rate": "1",
                 "nbRateUnits": "1",
                 "rateUnits": "second",
                 "randomFirst": "1",
                 "randomLast": "5",
                 "randomUnits": "seconds",
                 "drop": false,
                 "x": 220,
                 "y": 1640,
                 "wires": [
                     [
                         "f31f9bc1.550428"
                     ]
                 ]
             },
             {
                 "id": "51ce6aa1.620754",
                 "type": "ui_group",
                 "name": "ui_control",
                 "tab": "3b08fac0.8f06b6",
                 "order": 1,
                 "disp": true,
                 "width": "22",
                 "collapse": false
             },
             {
                 "id": "3b08fac0.8f06b6",
                 "type": "ui_tab",
                 "name": "Home",
                 "icon": "track_changes",
                 "order": 1,
                 "disabled": false,
                 "hidden": false
             }
          ]
          

          Und so sieht die Tabelle aktuell aus:
          aad9b069-281e-475f-9e36-d589af46ace5-image.png
          Selbstverständlich alles in einem experimentellen Status!
          Farben werden noch angepasst, timestamps irgendwann entfernt, u.U. andere Werte noch mit angezeigt, "Auto" kommt whsl noch weg usw usf.

          1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Schmetterfliege last edited by mickym

            @schmetterfliege

            Hier mal die function Node - da kannst die Initialisierung öfters aufrufen und das Teil checkt nun, ob der Raum schon erfasst wurde. Aller dings wenn man einen Raum wieder wegnimmt, sollte man das ganze wirklich neu initialisieren.

            var rooms = flow.get('zigbee.' + msg.topic + '.rooms');
            if (rooms === undefined) rooms = msg.payload; else {
               rooms = rooms.split(',');
               rooms = rooms.filter( (v) => (v != msg.payload));
               rooms.push(msg.payload);
               rooms = rooms.toString();
            }
            flow.set('zigbee.' + msg.topic + '.rooms',rooms);
            
            return msg; 
            
            

            Manuelles Löschen einer Flow Variablen geht über ein Icon

            ed9f449a-4925-4212-b5d4-3c83dd51c0f6-image.png

            S 1 Reply Last reply Reply Quote 1
            • S
              Schmetterfliege @mickym last edited by

              @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

              @schmetterfliege

              Hier mal die function Node - da kannst die Initialisierung öfters aufrufen und das Teil checkt nun, ob der Raum schon erfasst wurde. Aller dings wenn man einen Raum wieder wegnimmt, sollte man das ganze wirklich neu initialisieren.

              var rooms = flow.get('zigbee.' + msg.topic + '.rooms');
              if (rooms === undefined) rooms = msg.payload; else {
                 rooms = rooms.split(',');
                 rooms = rooms.filter( (v) => (v != msg.payload));
                 rooms.push(msg.payload);
                 rooms = rooms.toString();
              }
              flow.set('zigbee.' + msg.topic + '.rooms',rooms);
              
              return msg; 
              
              

              Merci!
              Allerdings stelle ich mir immer noch die Frage, weshalb ich ein Gerät 2 Räumen zuweisen sollte? Weil nur dann macht es ja auch Sinn diese Abfrage mit einzubauen, oder?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Schmetterfliege last edited by

                @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                Merci!
                Allerdings stelle ich mir immer noch die Frage, weshalb ich ein Gerät 2 Räumen zuweisen sollte? Weil nur dann macht es ja auch Sinn diese Abfrage mit einzubauen, oder?

                Da hast Du Recht - ich hab deshalb mal Küche und Wohnung als Beispiel genommen. Theoretisch könnte man jedem Teil als Raum zusätzlich noch Etagen etc. hinzufügen. Ob das Sinn macht oder schön ist, ist eine andere Frage, ich mache das auch nicht.

                Trotzdem bin ich halt ein Freund davon, solche Situation abzufangen - sonst gibts irgendwelche Seiteneffekte später, wenn man mal nicht mehr dran denkt. In dem Fall nicht - aber Du siehst ja was bei Deinen HUE Nodes passiert - da treten einfach Situationen auf, an die evtl. niemand mehr gedacht hat.

                Das Problem ist also eher, dass der iobroker es zulässt mehrere Räume einem Datenpunkt zuzuordnen und nicht ob es Sinn macht. 😉

                5998c07a-89f1-4023-9ed4-2e358319e094-image.png

                S 1 Reply Last reply Reply Quote 1
                • S
                  Schmetterfliege @mickym last edited by

                  @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                  @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                  Merci!
                  Allerdings stelle ich mir immer noch die Frage, weshalb ich ein Gerät 2 Räumen zuweisen sollte? Weil nur dann macht es ja auch Sinn diese Abfrage mit einzubauen, oder?

                  Da hast Du Recht - ich hab deshalb mal Küche und Wohnung als Beispiel genommen. Theoretisch könnte man jedem Teil als Raum zusätzlich noch Etagen etc. hinzufügen. Ob das Sinn macht oder schön ist, ist eine andere Frage, ich mache das auch nicht.

                  Trotzdem bin ich halt ein Freund davon, solche Situation abzufangen - sonst gibts irgendwelche Seiteneffekte später, wenn man mal nicht mehr dran denkt. In dem Fall nicht - aber Du siehst ja was bei Deinen HUE Nodes passiert - da treten einfach Situationen auf, an die evtl. niemand mehr gedacht hat.

                  Das Problem ist also eher, dass der iobroker es zulässt mehrere Räume einem Datenpunkt zuzuordnen und nicht ob es Sinn macht. 😉

                  5998c07a-89f1-4023-9ed4-2e358319e094-image.png

                  Stimmt, valider Punkt!

                  Die Raumzuordnung ist allgemein ein wenig unglücklich implementiert.
                  Beispiel:
                  b22f3929-f162-441f-8683-f3e5bdfceccd-image.png
                  Anfangs hatte ich nur die Devices selbst einem Raum zugeordnet. Bis ich dann mal angefangen habe mit InfluxDB ein paar Sachen zu loggen und dann mit Echarts zu spielen.
                  Da kann man dann auch alles was man loggt in der Liste nach Räumen sortieren:
                  58ced9c9-3104-45ae-843e-c7178944d6e0-image.png
                  Aber: die einzelnen Datenpunkte sind gar nicht den Räumen zugeordnet, sondern nur das Device selbst.
                  Deshalb bin ich hingegangen und hab angefangen alle DP nochmal separat in die Räume gezogen.
                  Sieht dann ungefähr so in den Aufzählungen aus:
                  512437bf-df9b-48ee-ab26-5f6634d14db0-image.png

                  Mein Gott war das ätzend^^ Hab dann irgendwann aufgehört und nur noch das was ich loggen will in die Räume gezogen.
                  Im ersten screenshot sind die DP die den Raum "ausgegraut" haben nicht wirklich dem Raum zugeordnet, auch wenn der da dran steht.

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Schmetterfliege last edited by mickym

                    @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                    Aber: die einzelnen Datenpunkte sind gar nicht den Räumen zugeordnet, sondern nur das Device selbst.
                    Deshalb bin ich hingegangen und hab angefangen alle DP nochmal separat in die Räume gezogen.
                    Sieht dann ungefähr so in den Aufzählungen aus:

                    Das muss aber nicht. Normalerweise werden die Raum und Funktionszuordnungen des Gerätes auf die Datenpunkte vererbt und das scheint auch zu funktionieren:

                    58d6fa96-fc2d-4fd7-aba0-9502d484962a-image.png

                    Ich sehe eher umgekehrt das Problem, dass ich die Vererbung nicht aussetzen kann. Wenn ich bei diesen Multifunktionssensoren beim Gerät Funktionen Feuchtigkeit und Temperatur definiere - kann ich dann beim Datenpunkt humidity - die Temperatur nicht abwählen.

                    Aber wie gesagt eine Zuordnung der DAtenpunkte unter einem Device zu einem Raum ist nicht erforderlich.

                    Ich denke, dass es dann eher ein Problem des Influx Adapters war oder ist.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Schmetterfliege @mickym last edited by Schmetterfliege

                      @mickym
                      Stimmt, das scheint echt ein Problem von InfluxDB zu sein:
                      886a014a-82bc-4a0c-9c1e-ff645265c40c-image.png
                      Ich sehe ja dass die Räume vererbt wurden.
                      Ich schätze mal dass InfluxDB nicht die "Räume" anschaut, sondern die Auflistungen von Iobroker durchgeht.
                      Und da dürften in deinem Fall nur die Devices drin stehen, nicht aber die einzelnen Datenpunkte.
                      Doofes Influx! :D.

                      Wie hast du es eigentlich geschafft die Funktionen in enums zuzuweisen? Ist das auch ein Aqara Sensor?
                      Bei mir ist die einzige Funktion die ich bei so ziemlich allen Objekten habe "color" (was auch immer das sein soll?!)- und die ist default nicht aktiv:
                      ec224128-33d0-49c2-af99-9f2e8d9ebe7a-image.png
                      Entsprechend ist in meinen enums auch wirklich nur der Raum den ich zugewiesen habe drin.
                      a6ad6c51-35f2-4e19-8712-b271560241b4-image.png

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Schmetterfliege last edited by

                        @schmetterfliege Ja sind auch Aqara Sensoren

                        Die Funktionen ordnest Du doch einfach über die nächste Spalte zu:

                        66d8f2cc-fb46-4cca-b261-f48661ec90bd-image.png

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Schmetterfliege @mickym last edited by Schmetterfliege

                          @mickym

                          Oh man, mir wird erst gerade bewusst dass "Funktionen" ebenfalls eine Aufzählung wie Räume sind die man manuell definiert:
                          19e3af2a-1e06-4d86-a529-dfbc131a74d1-image.png

                          Aber ich glaube ich lasse da zur Sicherheit erst mal die Finger von weg.
                          Wäre zwar verlockend da jetzt Zeit zu investieren, aber damit fange ich mal lieber nicht morgens um 5 an :D.

                          Edit: "Color" habe ich aber nicht angelegt oO

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Schmetterfliege last edited by

                            @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                            "Color" habe ich aber nicht angelegt oO

                            Das war wahrscheinlich einer der Core Entwickler des iobrokers. Kannst aber auch Löschen. Und nein Du musst das nicht nutzen. Ich finde die Funktionen in der Form eh nicht so dolle. Ausser im Admin kannst zumindest im NodeRed nicht danach filtern und geben Dir somit erst mal keinen Mehrwert.

                            S 1 Reply Last reply Reply Quote 1
                            • S
                              Schmetterfliege @mickym last edited by

                              @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                              @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                              "Color" habe ich aber nicht angelegt oO

                              Das war wahrscheinlich einer der Core Entwickler des iobrokers. Kannst aber auch Löschen. Und nein Du musst das nicht nutzen. Ich finde die Funktionen in der Form eh nicht so dolle. Ausser im Admin kannst zumindest im NodeRed nicht danach filtern und geben Dir somit erst mal keinen Mehrwert.

                              Danke! 🙂
                              Schade eigentlich dass die keinen Mehrwert liefern, andererseits wüsste ich nicht welchen Mehrwert es für mich hätte.
                              Mir fällt spontan kein DP ein bei dem nicht im "Name" schon die Funktion steckt (*.humidity).

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Schmetterfliege last edited by

                                @schmetterfliege Na wäre doch toll, wenn man statt zigbee.0..humidity - mit function.humidity. alle Feuchtigkeitswerte bekäme egal von welchem Adapter. Aber wie gesagt, dass wird mit dem Design eher schwierig - außerdem ist der Admin5 mit seinen Prüfungen etc. eher eine Katastrophe als in meinen Augen ein Weg zu neuen Verbesserungen.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Schmetterfliege @mickym last edited by Schmetterfliege

                                  @mickym said in Verfügbarkeit von Sensoren über Node Red überwachen:

                                  @schmetterfliege Na wäre doch toll, wenn man statt zigbee.0..humidity - mit function.humidity. alle Feuchtigkeitswerte bekäme egal von welchem Adapter. Aber wie gesagt, dass wird mit dem Design eher schwierig - außerdem ist der Admin5 mit seinen Prüfungen etc. eher eine Katastrophe als in meinen Augen ein Weg zu neuen Verbesserungen.

                                  Ok das wäre echt genial. Manno!

                                  Bezüglich "zigbee.0..humidity" werde ich bald blöd...
                                  Wenn ich eine neue List Node setze und damit die Temp von allen Sensoren auslese, klappt das jetzt plötzlich.
                                  Wenn ich aber eine vorhandene List node aus dem "Flow" für die Tabelle kopieren, und statt "zigbee.0.
                                  " -> "zigbee.0.*.temperature" rein mache, bekomme ich gar keine Ausgabe...
                                  Bin ich doof und sehe den Unterschied zwischen den beiden Nodes nicht?
                                  f37ecf7b-e77f-468f-ae08-637128f0fba3-image.png cba73c04-f6e2-4e99-a1cf-e7f693b14609-image.png

                                  EDIT: nevermind.. "Device" vs. "State"...

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Schmetterfliege last edited by

                                    @schmetterfliege Weil Du im zweiten nach Device filterst. Im ersten State. 😉 Und Temperatur ist kein Device sondern ein State.

                                    S 1 Reply Last reply Reply Quote 1
                                    • S
                                      Schmetterfliege @mickym last edited by

                                      @mickym

                                      Wird glaube ich Zeit für's Bettchen 😵

                                      Gut's Nächtle, und vielen Dank für all deinen Input! 🙂

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Schmetterfliege last edited by

                                        @schmetterfliege Jo schlaf gut. 🛏

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Schmetterfliege last edited by Schmetterfliege

                                          @mickym

                                          Hi Micky,

                                          Ich habe mir mal noch eine zweite Tabelle erstellt in der ich von allen Zigbee Devices die Verfügbarkeit und Voltage anzeige.
                                          Funktioniert auch soweit, nur bekomme ich das mit den Farben für die Verfügbarkeit nicht wirklich hin.
                                          Die Funktion welche die Tabelle "baut" sieht so aus:

                                          [
                                             {
                                                 "id": "3ab0b5da.82b24a",
                                                 "type": "function",
                                                 "z": "7af551e7.0155e",
                                                 "name": "",
                                                 "func": "msg.topic = {\"tabulator\":{\"columnResized\":\"function(column){     var newColumn = {         field: column._column.field,         visible: column._column.visible,         width: column._column.width,         widthFixed: column._column.widthFixed,         widthStyled: column._column.widthStyled     }; this.send({topic:this.config.topic,ui_control:{callback:'columnResized',columnWidths:newColumn}}); }\",\"columnMoved\":\"function(column, columns){     var newColumns=[];     columns.forEach(function (column) {         newColumns.push({'field': column._column.field});     });     this.send({topic:this.config.topic,ui_control:{callback:'columnMoved',columns:newColumns}}); }\",\"groupHeader\":\"function (value, count, data, group) {return value + \\\"<span style='color:#d00; margin-left:10px;'>(\\\" + count + \\\" Termostat\\\"+((count>1) ? \\\"e\\\" : \\\"\\\") + \\\")</span>\\\";}\",\"columns\":[\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Gerät\",\"field\":\"name\",\"width\":300},\n{\"formatterParams\":{\"target\":\"_blank\"},\"title\":\"Raum\",\"field\":\"room\",\"width\":100},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"min\":2.9,\"max\":3.1,\"color\":[\"red\",\"orange\",\"green\"],\"legend\":\"function (value) {return value+' V';}\",\"legendColor\":\"#101010\",\"legendAlign\":\"center\"},\"title\":\"Voltage\",\"field\":\"voltage\",\"formatter\":\"progress\",\"width\":110},\n{\"formatterParams\":{\"target\":\"_blank\",\"allowEmpty\":true,\"legend\":\"function (value) {return '&nbsp;&nbsp;'+value;}\",\"legendColor\":\"#101010\",\"legendAlign\":\"left\"},\"title\":\"Verbunden?\",\"field\":\"available\",\"formatter\":\"progress\",\"width\":120},\n],\"layout\":\"fitColumns\",\"movableColumns\":true,\"groupBy\":\"\"},\"customHeight\":20}\nreturn msg;\n",
                                                 "outputs": 1,
                                                 "noerr": 0,
                                                 "initialize": "",
                                                 "finalize": "",
                                                 "libs": [],
                                                 "x": 600,
                                                 "y": 200,
                                                 "wires": [
                                                     [
                                                         "ab35ddda.e231e"
                                                     ]
                                                 ]
                                             }
                                          ]
                                          


                                          In der Tabelle sieht das Ganze so aus:
                                          0b33d01f-8709-4452-8147-4a1a8dd6d8f8-image.png
                                          Den Wert der Verfügbarkeit muss ich als String speichern, weil bei False ansonsten "0" angezeigt wird.
                                          Was ich nicht verstehe: wieso ist der Hintergrund bei der Verfügbarkeit überall Grün? Wo nimmt er diese Farbe her?
                                          Und wie schaffe ich es, dass bei "False" stattdessen Rot angezeigt wird? Habe einige Versuche gemacht, aber bekomme es nicht hin.
                                          Wenn ich den Wert als boolean speicher, wird bei dem einen der nicht verfügbar ist wie gesagt "0" angezeigt und der Hintergrund ist Grau. Warum, weiß ich allerdings nicht (also wieso dann kein Hintergrund da ist).

                                          Hast du da eine Idee?

                                          Edit: nur für den Fall dass du dich fragst wieso der nicht verfügbar ist wenn die Voltage so hoch ist: ich vermute ich habe den versehentlich mit einem Tradfri Device gepaired, weil der Motion Sensor direkt beim Zigbee Stick ist und man die Tradfri Dimmer paired indem man den beim pairen direkt an den Stick hält. Daher reportet der aktuell vermutlich nichts an den Stick, sondern fälschlicherweiße an einen der neu angelernten Dimmer. Muss den nur mal neu pairen, ist aber gerade gut um meine Tabelle testen zu können 🙂

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Schmetterfliege last edited by mickym

                                            @schmetterfliege sagte in Verfügbarkeit von Sensoren über Node Red überwachen:

                                            Was ich nicht verstehe: wieso ist der Hintergrund bei der Verfügbarkeit überall Grün? Wo nimmt er diese Farbe her?
                                            Und wie schaffe ich es, dass bei "False" stattdessen Rot angezeigt wird? Habe einige Versuche gemacht, aber bekomme es nicht hin.
                                            Wenn ich den Wert als boolean speicher, wird bei dem einen der nicht verfügbar ist wie gesagt "0" angezeigt und der Hintergrund ist Grau. Warum, weiß ich allerdings nicht (also wieso dann kein Hintergrund da ist).
                                            Hast du da eine Idee?

                                            Nun ich habe mich nich nicht in der Tiefe damit beschäftigt - aber für True/False finde ich einen Fortschrittsbalken als denkbar ungeeignet. Und das bei False dann 0 rauskommt und Grau ist auch richtig - weil es sich um einen Fortschrittsbalken handelt.
                                            Nachdem Du keine Farbe für den Fortschrittsbalken angegeben hast, ist es auch richtig dass er dann default nimmt. 😉

                                            1e8fa0d4-b40a-4ec9-b0d6-8874fcd1e97e-image.png

                                            Prüf mal den Color Picker - das Grün entspricht genau dem Default: #2DC214

                                            Wie gesagt, ich würde für true und false was anderes nehmen - wahrscheinlich ein Icon oder so - muss mal sehen. Wie gesagt ich hab mich damit noch nicht in der Tiefe beschäftigt, aber ein Fortschrittsbalken für true/false halte ich für denkbar ungeeignet. Hier übrigens mal die Formate alle aufgelistet: http://tabulator.info/docs/4.4/format.

                                            Das einfachste wäre wohl ein color formater indem Du true als green und false als red mit einer change Node übersetzt.

                                            5c8dfd93-6dad-4a45-acae-d5155c563f7c-image.png

                                            oder Du nimmst den HTML Formater um Text und Hintergrund darzustellen - dafür hab ich kein Beispiel gefunden - aber das Thermostat Beispiel hat ja auch funktionen - die anscheinend HTML Code ausspuken. An dem Beispiel werde ich aber selbst noch bissi rumprobieren, allerdings finde ich Deine Art über eine Function Node sehr unübersichtlich. Mit der Change NOde kann man das über den JSON Formatter viel schöner sehen.

                                            S 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            900
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            426
                                            49546
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo