Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

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

      @oli Dann kann ich es nicht erklären - Syntax oder keine Ahnung - ich hab dir ja paar Flows zum Import angeboten. Fang halt Schritt für Schritt an. Zähl erst alles, dann alle batterie elemente und dann die Differenz. Ich kann Dir auch nicht helfen. Bei mir gehts. Hilft Dir zwar nicht, aber das musst du selbst lösen.

      O 1 Reply Last reply Reply Quote 0
      • O
        Oli @mickym last edited by

        @mickym

        habs gefunden, wenn kein Wert von der Batterie da ist, schreibe ich "Keine Batterie" rein, darum funktioniert das nicht

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

          @oli Na das habe ich Dir ja gesagt, dass das nur funktioniert wenn ohne Batterie Eigenschaft.

          Dann brauchst aber auch nichts abziehen, dann kannst doch gleich filtern

          $count(payload[battery="Keine Batterie"])
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @mickym last edited by mickym

            @mickym Dann schreibst halt

            @oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:

            @mickym

            nochmals vielen Dank für deine Hilfe, hier jetzt mal der komplette Flow, sowie er jetzt aussieht

            [
               {
                   "id": "b8ad42061a6d5f2e",
                   "type": "tab",
                   "label": "homee Geräteliste",
                   "disabled": false,
                   "info": "",
                   "env": []
               },
               {
                   "id": "bc383b50669e8145",
                   "type": "junction",
                   "z": "b8ad42061a6d5f2e",
                   "x": 960,
                   "y": 660,
                   "wires": [
                       [
                           "99528e0bbb0f2491",
                           "afc0236a6dc34b6c",
                           "3baf2b45228f3514",
                           "61efee2e1293f2f8",
                           "18ed2cb5de54b4e1",
                           "8bc0a02357eaa25a",
                           "6624873c35b06eae",
                           "dfb85691acadb5e8"
                       ]
                   ]
               },
               {
                   "id": "99528e0bbb0f2491",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle inaktiven Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[state = 2]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "homee.inactive",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1140,
                   "y": 380,
                   "wires": [
                       [
                           "79c90e3a205144c8",
                           "1a49f3e7a72eeb98"
                       ]
                   ]
               },
               {
                   "id": "79c90e3a205144c8",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 380,
                   "wires": [
                       [
                           "6636132bd627fd5a",
                           "a5ac3eaebc5a142d"
                       ]
                   ]
               },
               {
                   "id": "6636132bd627fd5a",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl inaktive Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 320,
                   "wires": []
               },
               {
                   "id": "afc0236a6dc34b6c",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle Z-Wave Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[protocol = 1]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 520,
                   "wires": [
                       [
                           "3f5d54fa1161d7c3",
                           "fb541319f5065b26"
                       ]
                   ]
               },
               {
                   "id": "3f5d54fa1161d7c3",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte mit Z-Wave",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1370,
                   "y": 460,
                   "wires": []
               },
               {
                   "id": "fb541319f5065b26",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 520,
                   "wires": [
                       [
                           "8b5f07919d5020d8",
                           "27bd5b6a0a11f64b"
                       ]
                   ]
               },
               {
                   "id": "8b5f07919d5020d8",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Geräte Z-Wave",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 460,
                   "wires": []
               },
               {
                   "id": "27bd5b6a0a11f64b",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Z-Wave Geräte",
                   "topic": "0_userdata.0.System.homee.ZWave",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.ZWave",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1620,
                   "y": 520,
                   "wires": []
               },
               {
                   "id": "3baf2b45228f3514",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle ZigBee Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[protocol = 2]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 660,
                   "wires": [
                       [
                           "b0d34d08416e6c10",
                           "adb5799593bc282a"
                       ]
                   ]
               },
               {
                   "id": "b0d34d08416e6c10",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte mit ZigBee",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1370,
                   "y": 600,
                   "wires": []
               },
               {
                   "id": "adb5799593bc282a",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 660,
                   "wires": [
                       [
                           "b553c35fe84e7ff1",
                           "a722c9c32ead9437"
                       ]
                   ]
               },
               {
                   "id": "b553c35fe84e7ff1",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Geräte ZigBee",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 600,
                   "wires": []
               },
               {
                   "id": "a722c9c32ead9437",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl ZigBee Geräte",
                   "topic": "0_userdata.0.System.homee.ZigBee",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.ZigBee",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1620,
                   "y": 660,
                   "wires": []
               },
               {
                   "id": "306e283de06793a5",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "",
                   "rules": [
                       {
                           "t": "move",
                           "p": "payload",
                           "pt": "msg",
                           "to": "device",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 380,
                   "y": 1080,
                   "wires": [
                       [
                           "3fcd14dd3eda98a3"
                       ]
                   ]
               },
               {
                   "id": "3fcd14dd3eda98a3",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "hole alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "{}",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "msg",
                           "to": "homee.nodes",
                           "tot": "global"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 600,
                   "y": 1080,
                   "wires": [
                       [
                           "3981f0834f60fe3d"
                       ]
                   ]
               },
               {
                   "id": "3981f0834f60fe3d",
                   "type": "switch",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Nur wenn Gerätestatus geändert",
                   "property": "payload.nodes[id=$$.device.node.id].state = device.node.state",
                   "propertyType": "jsonata",
                   "rules": [
                       {
                           "t": "false"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 250,
                   "y": 820,
                   "wires": [
                       [
                           "84e0be29a596b9f6"
                       ]
                   ]
               },
               {
                   "id": "e565ecbc06eb639f",
                   "type": "switch",
                   "z": "b8ad42061a6d5f2e",
                   "name": "verify device",
                   "property": "payload.node",
                   "propertyType": "msg",
                   "rules": [
                       {
                           "t": "nnull"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 170,
                   "y": 1080,
                   "wires": [
                       [
                           "306e283de06793a5"
                       ]
                   ]
               },
               {
                   "id": "61efee2e1293f2f8",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle EnOcean Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[protocol = 3]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1140,
                   "y": 800,
                   "wires": [
                       [
                           "6174c1fb73ccadf7",
                           "6bf0970636cc1e4a"
                       ]
                   ]
               },
               {
                   "id": "6174c1fb73ccadf7",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte mit EnOcean",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1380,
                   "y": 740,
                   "wires": []
               },
               {
                   "id": "6bf0970636cc1e4a",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 800,
                   "wires": [
                       [
                           "ec17a4f04cc1f205",
                           "39049bb60e657627"
                       ]
                   ]
               },
               {
                   "id": "ec17a4f04cc1f205",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Geräte EnOcean",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1630,
                   "y": 740,
                   "wires": []
               },
               {
                   "id": "39049bb60e657627",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl EnOcean Geräte",
                   "topic": "0_userdata.0.System.homee.EnOcean",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.EnOcean",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1630,
                   "y": 800,
                   "wires": []
               },
               {
                   "id": "18ed2cb5de54b4e1",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle WLan Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[protocol = 9]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 940,
                   "wires": [
                       [
                           "73232d6356145c91",
                           "1f89021c7a98c311"
                       ]
                   ]
               },
               {
                   "id": "73232d6356145c91",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte mit WLan",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1370,
                   "y": 880,
                   "wires": []
               },
               {
                   "id": "1f89021c7a98c311",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 940,
                   "wires": [
                       [
                           "1294df0c49809c46",
                           "ab79ca8d13f7e817"
                       ]
                   ]
               },
               {
                   "id": "1294df0c49809c46",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Geräte WLan",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 880,
                   "wires": []
               },
               {
                   "id": "ab79ca8d13f7e817",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl WLan Geräte",
                   "topic": "0_userdata.0.System.homee.WLan",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.WLan",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1620,
                   "y": 940,
                   "wires": []
               },
               {
                   "id": "d8d565711fe0dd22",
                   "type": "link in",
                   "z": "b8ad42061a6d5f2e",
                   "name": "",
                   "links": [
                       "d87f2174cf715cf2"
                   ],
                   "x": 75,
                   "y": 940,
                   "wires": [
                       [
                           "e565ecbc06eb639f"
                       ]
                   ]
               },
               {
                   "id": "95b979349f1fd3f0",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräteliste",
                   "topic": "0_userdata.0.System.homee.Tabelle",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.Tabelle",
                   "role": "",
                   "payloadType": "array",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1590,
                   "y": 1220,
                   "wires": []
               },
               {
                   "id": "a5ac3eaebc5a142d",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl nicht verfügbarer Geräte",
                   "topic": "0_userdata.0.System.homee.NichtVerfügbar",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.NichtVerfügbar",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1650,
                   "y": 380,
                   "wires": []
               },
               {
                   "id": "1a49f3e7a72eeb98",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "inaktive Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1360,
                   "y": 320,
                   "wires": []
               },
               {
                   "id": "33dcf435082928a3",
                   "type": "comment",
                   "z": "b8ad42061a6d5f2e",
                   "name": "homee Geräteliste",
                   "info": "",
                   "x": 150,
                   "y": 80,
                   "wires": []
               },
               {
                   "id": "1b3e55fcd8eadc58",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "VIS Tabelle",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1350,
                   "y": 1160,
                   "wires": []
               },
               {
                   "id": "9c7798317b60270e",
                   "type": "json",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Tabelle JSON",
                   "property": "payload",
                   "action": "str",
                   "pretty": false,
                   "x": 1360,
                   "y": 1220,
                   "wires": [
                       [
                           "95b979349f1fd3f0"
                       ]
                   ]
               },
               {
                   "id": "8bc0a02357eaa25a",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 240,
                   "wires": [
                       [
                           "33eeadb2829047fd",
                           "858928dd781c86a9"
                       ]
                   ]
               },
               {
                   "id": "33eeadb2829047fd",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Alle Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1370,
                   "y": 180,
                   "wires": []
               },
               {
                   "id": "858928dd781c86a9",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Aller Geräte",
                   "topic": "0_userdata.0.System.homee.GeräteAnzahl",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.GeräteAnzahl",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1370,
                   "y": 240,
                   "wires": []
               },
               {
                   "id": "6624873c35b06eae",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle Batterie Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[attributes[type =  8] or attributes[type =  69]]",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 1080,
                   "wires": [
                       [
                           "0c5dce5940776e17",
                           "676c2655140cea7e"
                       ]
                   ]
               },
               {
                   "id": "0c5dce5940776e17",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte mit Batterie",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1370,
                   "y": 1020,
                   "wires": []
               },
               {
                   "id": "676c2655140cea7e",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 1080,
                   "wires": [
                       [
                           "7cb6f5cee79a8d0b",
                           "841edb859544f935"
                       ]
                   ]
               },
               {
                   "id": "7cb6f5cee79a8d0b",
                   "type": "debug",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Geräte Batterie",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 1020,
                   "wires": []
               },
               {
                   "id": "841edb859544f935",
                   "type": "ioBroker out",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Anzahl Baterrie Geräte",
                   "topic": "0_userdata.0.System.homee.GeräteBatterie",
                   "ack": "true",
                   "autoCreate": "true",
                   "stateName": "0_userdata.0.System.homee.GeräteBatterie",
                   "role": "",
                   "payloadType": "number",
                   "readonly": "false",
                   "stateUnit": "",
                   "stateMin": "",
                   "stateMax": "",
                   "x": 1620,
                   "y": 1080,
                   "wires": []
               },
               {
                   "id": "84e0be29a596b9f6",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "decodeUrlComponents",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ~> |$.nodes|{\"name\":$decodeUrlComponent(name),\t\"note\":$decodeUrlComponent(note),\t\"phonetic_name\":$decodeUrlComponent(phonetic_name)},\"attributes\"|",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 420,
                   "y": 400,
                   "wires": [
                       [
                           "8d240adaebd74c1b"
                       ]
                   ]
               },
               {
                   "id": "8d240adaebd74c1b",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.nodes",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 530,
                   "y": 660,
                   "wires": [
                       [
                           "76924e9c23983f3d"
                       ]
                   ]
               },
               {
                   "id": "76924e9c23983f3d",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "Geräte ausschliessen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ~> $filter(function($value){$value.id in [-1] != true})",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 740,
                   "y": 660,
                   "wires": [
                       [
                           "bc383b50669e8145"
                       ]
                   ]
               },
               {
                   "id": "1e1eba7ac4087fac",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "hole alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "{}",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "msg",
                           "to": "homee.nodes",
                           "tot": "global"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 180,
                   "y": 400,
                   "wires": [
                       [
                           "84e0be29a596b9f6"
                       ]
                   ]
               },
               {
                   "id": "bf1c7f792a4007cf",
                   "type": "inject",
                   "z": "b8ad42061a6d5f2e",
                   "name": "trigger",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 130,
                   "y": 180,
                   "wires": [
                       [
                           "1e1eba7ac4087fac"
                       ]
                   ]
               },
               {
                   "id": "dfb85691acadb5e8",
                   "type": "change",
                   "z": "b8ad42061a6d5f2e",
                   "name": "VIS Tabelle 6",
                   "rules": [
                       {
                           "t": "set",
                           "p": "protocols",
                           "pt": "msg",
                           "to": "[{\"id\":1,\"name\":\"Z-Wave\",\"color\":\"#886fa9\"},{\"id\":2,\"name\":\"ZigBee\",\"color\":\"#ee6c1e\"},{\"id\":3,\"name\":\"EnOcean\",\"color\":\"#44abb2\"},{\"id\":9,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"},{\"id\":12,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"}]",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "states",
                           "pt": "msg",
                           "to": "[{\"id\":1,\"name\":\"aktiv\",\"color\":\"green\"},{\"id\":2,\"name\":\"inaktiv\",\"color\":\"red\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "battery",
                           "pt": "msg",
                           "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.{\"name\" :name,\t        \"type\" : note,\t        \"protocol\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = protocol}).color & '\\\"> ' & $single($$.protocols, function($v){$v.id = protocol}).name,\t        \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t        \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value : \t        (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value = 0 ? 100 : 0\t} ~> |$|{\"battery\" : $exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\" : \"Keine Batterie\"}|",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1110,
                   "y": 1220,
                   "wires": [
                       [
                           "9c7798317b60270e",
                           "1b3e55fcd8eadc58"
                       ]
                   ]
               }
            ]
            

            Ein paar Sachen sind aber noch unklar

            1. Bei mir werden die Batteriewerte nicht mehr abgefragt, um den Fehler einzugrenzen, habe ich mal einen extra Flow gebaut und etwas gespielt
              5ae0a92b-50a6-4295-984e-abdea1188d0a-image.png

            [
               {
                   "id": "c507c28e5ed6a166",
                   "type": "tab",
                   "label": "Flow 2",
                   "disabled": false,
                   "info": "",
                   "env": []
               },
               {
                   "id": "208825e13d14540f",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "decodeUrlComponents",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ~> |$.nodes|{\"name\":$decodeUrlComponent(name),\t\"note\":$decodeUrlComponent(note),\t\"phonetic_name\":$decodeUrlComponent(phonetic_name)},\"attributes\"|",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 480,
                   "y": 160,
                   "wires": [
                       [
                           "0076bb0c1e2fd9bc"
                       ]
                   ]
               },
               {
                   "id": "0076bb0c1e2fd9bc",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "Alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.nodes",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 690,
                   "y": 160,
                   "wires": [
                       [
                           "1ae07a0e011d9194"
                       ]
                   ]
               },
               {
                   "id": "1ae07a0e011d9194",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "Geräte ausschliessen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ~> $filter(function($value){$value.id in [-1] != true})",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 900,
                   "y": 160,
                   "wires": [
                       [
                           "abed858e371852a5"
                       ]
                   ]
               },
               {
                   "id": "9f4ebda01b1eec38",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "hole alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "{}",
                           "tot": "json"
                       },
                       {
                           "t": "set",
                           "p": "payload.nodes",
                           "pt": "msg",
                           "to": "homee.nodes",
                           "tot": "global"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 280,
                   "y": 160,
                   "wires": [
                       [
                           "208825e13d14540f"
                       ]
                   ]
               },
               {
                   "id": "1edb395448d6c77b",
                   "type": "inject",
                   "z": "c507c28e5ed6a166",
                   "name": "trigger",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 130,
                   "y": 160,
                   "wires": [
                       [
                           "9f4ebda01b1eec38"
                       ]
                   ]
               },
               {
                   "id": "abed858e371852a5",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "Alle Batterie Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[attributes[type =  8]]",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1130,
                   "y": 160,
                   "wires": [
                       [
                           "6c6e91e9d10ad002"
                       ]
                   ]
               },
               {
                   "id": "6c6e91e9d10ad002",
                   "type": "change",
                   "z": "c507c28e5ed6a166",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : 0",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1310,
                   "y": 160,
                   "wires": [
                       [
                           "f4714e42703b6af2"
                       ]
                   ]
               },
               {
                   "id": "f4714e42703b6af2",
                   "type": "debug",
                   "z": "c507c28e5ed6a166",
                   "name": "Anzahl Geräte Batterie",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1500,
                   "y": 160,
                   "wires": []
               },
               {
                   "id": "ebeb0ab972189145",
                   "type": "function",
                   "z": "c507c28e5ed6a166",
                   "name": "Abfrage Batterie",
                   "func": "const attributes = global.get('homee.attributes');\nconst nodes = global.get('homee.nodes');\nvar batterie = 0;\n\nvar test = attributes.filter(attribute => ((attribute.type === 8) || (attribute.type === 69)))\n\ntest.forEach(function (attribute){\n    if (attribute.type === 8) {\n        batterie ++\n    } \n})\n\nreturn {\n    \"payload\": batterie\n}\n\n",
                   "outputs": 1,
                   "noerr": 0,
                   "initialize": "",
                   "finalize": "",
                   "libs": [],
                   "x": 360,
                   "y": 280,
                   "wires": [
                       [
                           "d5179d2b54717b77"
                       ]
                   ]
               },
               {
                   "id": "d5179d2b54717b77",
                   "type": "debug",
                   "z": "c507c28e5ed6a166",
                   "name": "debug 5",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "false",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 620,
                   "y": 280,
                   "wires": []
               },
               {
                   "id": "6bfceebfb28b5d8f",
                   "type": "inject",
                   "z": "c507c28e5ed6a166",
                   "name": "trigger",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 130,
                   "y": 280,
                   "wires": [
                       [
                           "ebeb0ab972189145"
                       ]
                   ]
               }
            ]
            

            Dabei ist mir aufgefallen, dass in der Funktions Node folgendes Global geladen wird:

            const attributes = global.get('homee.attributes');
            const nodes = global.get('homee.nodes');
            

            Es wird zwar im oberen Flow die "nodes" geladen, aber die "attributes" habe ich nicht gefunden, kann darin der Fehler liegen?

            1. Was ist der Unterschied "hole alle Geräte" und "Alle Geräte"? Nach meiner Ansicht machen die beide das Gleiche und man könnte "Alle Geräte" herausnehmen

            Was ich bei Deiner funktion Node nicht verstehe, warum Du immer durch das Array iterierst, um die Anzahl der Geräte zu ermitteln. Du filterst doch immer, das sind doch Kopien deiner Arrays.

            413f52e6-46ac-448e-b9a0-1fb641900dd8-image.png

            Also wie gesagt - wenn Du lieber JS Code schreiben willst, dann mach das halt:

            [
               {
                   "id": "8209578814cd81f9",
                   "type": "function",
                   "z": "9c280ddf049b2b4d",
                   "name": "Abfrage Batterie",
                   "func": "var battery_devices = msg.payload.filter(device => (device.attributes.filter(attribute => ((attribute.type === 8) || (attribute.type === 69))).length));\nvar battery_devices_type8 = battery_devices.filter(device => (device.attributes.filter(attribute => (attribute.type === 8)).length));\nmsg.payload = {\n    \"Alle Batteriegeräte\": battery_devices.length,\n    \"Nur Typ8 Geräte\": battery_devices_type8.length\n}\n\nreturn msg",
                   "outputs": 1,
                   "noerr": 0,
                   "initialize": "",
                   "finalize": "",
                   "libs": [],
                   "x": 1400,
                   "y": 3400,
                   "wires": [
                       [
                           "35cb9381e4704b7a"
                       ]
                   ]
               }
            ]
            

            var battery_devices = msg.payload.filter(device => (device.attributes.filter(attribute => ((attribute.type === 8) || (attribute.type === 69))).length));
            var battery_devices_type8 = battery_devices.filter(device => (device.attributes.filter(attribute => (attribute.type === 8)).length));
            msg.payload = {
                "Alle Batteriegeräte": battery_devices.length,
                "Nur Typ8 Geräte": battery_devices_type8.length
            }
            
            return msg
            

            Meines Erachtens geht das ganze auch ohne Schleifen zum zählen.

            Wie gesagt - schreibe JS Code wenn Du willst, ich will Dich nicht davon abhalten.

            Solche Schleifen

            test.forEach(function (attribute){
                if (attribute.type === 8) {
                    batterie ++
                } 
            })
            

            sind doch unnötig wenn ich über ein filter das bereits gefilterte Array nochmal filtern und nur die Anzahl der Elemente ausgeben.

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

              @oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:

              @mickym

              Sorry, jetzt habe ich doch noch eine Frage, wie kann ich in Node Red rechnen?

              Geräte Gesamt - Geräte Batterie = Geräte Strom

              491d001b-a1b4-4821-9aaa-a169fb848683-image.png

              Anstelle Deine Tabelle zu analysieren kann Du aber auch direkt Deine Geräte abfragen.

              Aber nochmal - wenn Du lieber codieren und JS schreiben willst, dann mach das ruhig, ich will Dich nicht dazu überreden JSONATA zu nutzen. Deswegen hier eine Version mit einer function Node:

              [
                 {
                     "id": "43da9c222d7086f2",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "decodeUrlComponents",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload ~> |$.nodes|{\"name\":$decodeUrlComponent(name),\t\"note\":$decodeUrlComponent(note),\t\"phonetic_name\":$decodeUrlComponent(phonetic_name)}|",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 840,
                     "y": 3180,
                     "wires": [
                         [
                             "1e48720df6900f86"
                         ]
                     ]
                 },
                 {
                     "id": "1e48720df6900f86",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Alle Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.nodes",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1050,
                     "y": 3180,
                     "wires": [
                         [
                             "2cea4e8be5a4069e"
                         ]
                     ]
                 },
                 {
                     "id": "2cea4e8be5a4069e",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Geräte ausschliessen",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload ~> $filter(function($value){$value.id in [-1] != true})",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1260,
                     "y": 3180,
                     "wires": [
                         [
                             "36b53e3276c727d9",
                             "64292bbbaf8bfe9f",
                             "0491ed58a98c8bdf",
                             "8209578814cd81f9"
                         ]
                     ]
                 },
                 {
                     "id": "c6b56326d0c8cdc9",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "hole alle Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{}",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "payload.nodes",
                             "pt": "msg",
                             "to": "homee.nodes",
                             "tot": "global"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 600,
                     "y": 3180,
                     "wires": [
                         [
                             "43da9c222d7086f2"
                         ]
                     ]
                 },
                 {
                     "id": "8d512f0feef390b1",
                     "type": "inject",
                     "z": "9c280ddf049b2b4d",
                     "name": "trigger",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "true",
                     "payloadType": "bool",
                     "x": 430,
                     "y": 3180,
                     "wires": [
                         [
                             "c6b56326d0c8cdc9"
                         ]
                     ]
                 },
                 {
                     "id": "dfd67d5090a5ee3c",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "rules": [
                         {
                             "t": "move",
                             "p": "payload",
                             "pt": "msg",
                             "to": "device",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 700,
                     "y": 3280,
                     "wires": [
                         [
                             "40ce65fe6c573d84"
                         ]
                     ]
                 },
                 {
                     "id": "40ce65fe6c573d84",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "hole alle Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{}",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "payload.nodes",
                             "pt": "msg",
                             "to": "homee.nodes",
                             "tot": "global"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 920,
                     "y": 3280,
                     "wires": [
                         [
                             "8d51d3dcf40934ba"
                         ]
                     ]
                 },
                 {
                     "id": "8d51d3dcf40934ba",
                     "type": "switch",
                     "z": "9c280ddf049b2b4d",
                     "name": "Nur wenn Gerätestatus geändert",
                     "property": "payload.nodes[id=$$.device.node.id].state = device.node.state",
                     "propertyType": "jsonata",
                     "rules": [
                         {
                             "t": "false"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 1170,
                     "y": 3280,
                     "wires": [
                         [
                             "43da9c222d7086f2"
                         ]
                     ]
                 },
                 {
                     "id": "ce392b92472130c0",
                     "type": "switch",
                     "z": "9c280ddf049b2b4d",
                     "name": "verify device",
                     "property": "payload.node",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "nnull"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 490,
                     "y": 3280,
                     "wires": [
                         [
                             "dfd67d5090a5ee3c"
                         ]
                     ]
                 },
                 {
                     "id": "5af35c4e9a5c92c8",
                     "type": "link in",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "links": [
                         "d87f2174cf715cf2"
                     ],
                     "x": 355,
                     "y": 3280,
                     "wires": [
                         [
                             "ce392b92472130c0"
                         ]
                     ]
                 },
                 {
                     "id": "36b53e3276c727d9",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "VIS Tabelle 6",
                     "rules": [
                         {
                             "t": "set",
                             "p": "protocols",
                             "pt": "msg",
                             "to": "[{\"id\":1,\"name\":\"ZWave\"},{\"id\":2,\"name\":\"Zigbee\"},{\"id\":3,\"name\":\"EnOcean\"},{\"id\":9,\"name\":\"WLan\"}]",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "states",
                             "pt": "msg",
                             "to": "[{\"id\":1,\"name\":\"aktiv\",\"color\":\"green\"},{\"id\":2,\"name\":\"inaktiv\",\"color\":\"rot\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "battery",
                             "pt": "msg",
                             "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]",
                             "tot": "json"
                         },
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.{\"name\" :name,\t        \"type\" : cube_type,\t        \"protocol\" : $single($$.protocols, function($v){$v.id = protocol}).name,\t        \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t        \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value : \t        (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value = 0 ? 100 : 0\t} ~> |$|{\"battery\" : $exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\"}|",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1490,
                     "y": 3180,
                     "wires": [
                         [
                             "39141a4dea9b6dfe",
                             "be5b77b1fa74bc57"
                         ]
                     ]
                 },
                 {
                     "id": "39141a4dea9b6dfe",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "VIS Tabelle 6",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1690,
                     "y": 3180,
                     "wires": []
                 },
                 {
                     "id": "be5b77b1fa74bc57",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "d": true,
                     "name": "Analysiere Tabelle",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{\t   \"alle Geräte\": $count(payload),\t   \"stromgebundene Geräte\" : $count(payload) - $count(payload[battery]),\t   \"batteriegebundene Geräte\" : $count(payload[battery]),\t   \"aktive Geräte\" : $count(payload[$contains(state, \" aktiv\")]),\t   \"inaktive Geräte\" : $count(payload[$contains(state, \" inaktiv\")]),\t   \"aktualisierende Geräte\" : $count(payload[$contains(state, \" wird aktualisiert\")]),\t   \"Protokolle\" : {\t       \"ZWave\" : $count(payload[protocol = \"ZWave\"]),\t       \"Zigbee\" : $count(payload[protocol = \"Zigbee\"]),\t       \"EnOcean\" : $count(payload[protocol = \"EnOcean\"]),\t       \"WLan\": $count(payload[protocol = \"WLan\"]) \t   }\t}",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1690,
                     "y": 3240,
                     "wires": [
                         [
                             "f889528021dc2fb8"
                         ]
                     ]
                 },
                 {
                     "id": "f889528021dc2fb8",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "d": true,
                     "name": "Statistik",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1900,
                     "y": 3240,
                     "wires": []
                 },
                 {
                     "id": "64292bbbaf8bfe9f",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Analysiere Objekte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{\t   \"alle Geräte\": $count(payload),\t   \"stromgebundene Geräte\" : $count(payload) - $count(payload[attributes[type =  8] or  attributes[type =  69]]),\t   \"batteriegebundene Geräte\" : $count(payload[attributes[type =  8] or  attributes[type =  69]]),\t   \"aktive Geräte\" : $count(payload[state = 1]),\t   \"inaktive Geräte\" : $count(payload[state = 2]),\t   \"aktualisierende Geräte\" : $count(payload[state = 12]),\t   \"Protokolle\" : {\t       \"ZWave\" : $count(payload[protocol = 1]),\t       \"Zigbee\" : $count(payload[protocol = 2]),\t       \"EnOcean\" : $count(payload[protocol = 3]),\t       \"WLan\": $count(payload[protocol = 9]) \t   }\t}",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1510,
                     "y": 3300,
                     "wires": [
                         [
                             "87c117cf7391af3e"
                         ]
                     ]
                 },
                 {
                     "id": "87c117cf7391af3e",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Statistik",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1720,
                     "y": 3300,
                     "wires": []
                 },
                 {
                     "id": "0491ed58a98c8bdf",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "all",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1490,
                     "y": 3120,
                     "wires": []
                 },
                 {
                     "id": "8209578814cd81f9",
                     "type": "function",
                     "z": "9c280ddf049b2b4d",
                     "name": "Abfrage Batterie",
                     "func": "var battery_devices = msg.payload.filter(device => (device.attributes.filter(attribute => ((attribute.type === 8) || (attribute.type === 69))).length));\nvar battery_devices_type8 = battery_devices.filter(device => (device.attributes.filter(attribute => (attribute.type === 8)).length));\nmsg.payload = {\n    \"Alle Batteriegeräte\": battery_devices.length,\n    \"Nur Typ8 Geräte\": battery_devices_type8.length\n}\n\nreturn msg",
                     "outputs": 1,
                     "noerr": 0,
                     "initialize": "",
                     "finalize": "",
                     "libs": [],
                     "x": 1520,
                     "y": 3400,
                     "wires": [
                         [
                             "35cb9381e4704b7a"
                         ]
                     ]
                 },
                 {
                     "id": "35cb9381e4704b7a",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "function ",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1700,
                     "y": 3400,
                     "wires": []
                 }
              ]
              

              O 1 Reply Last reply Reply Quote 0
              • O
                Oli @mickym last edited by

                @mickym
                kann ich auch nach Wörtern im Namen suchen? So wie ich es versucht habe klappt es nicht

                "test" : $count(payload[note = note.indexof("Plug")])
                
                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Oli last edited by mickym

                  @oli wenn du meine Flows importiert hättest: https://forum.iobroker.net/post/962432

                  dann hättest Du gesehen, dass ich aus der Tabelle den Status der aktiven, inaktiven Geräte über die Stringsuche $contains durchgeführt habe.

                  In meinem letzten Posting habe ich Dir übrigens auch mit einer function Node gezeigt, wie Du auf das Array mit den Geräten zugreifst. Dann nimm halt das, wenn Du lieber Javascript nimmst.

                  Es zwingt Dich niemand JSONATA zu nutzen:

                  2e131243-ebdd-4a84-b45b-0a6dc25bad68-image.png

                  Nur auch bei JavaScript musst Du bei indexOf auf ungleich -1 abprüfen, da -1 nicht falsch ist (also nicht 0) würde Deine Abfrage eh nicht gehen.

                  Hier der Javascript Code:

                  msg.payload = msg.payload.filter(device => (device.note.indexOf("Plug") !== -1)).length;
                  return msg;
                  
                  O 1 Reply Last reply Reply Quote 0
                  • O
                    Oli @mickym last edited by

                    @mickym

                    aber wie setzte ich das in eine Change Node?

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

                      @oli Gar nicht. Wenn Du in Javascript programmieren willst dann nimmst du eine function Node so wie ich unten.

                      Wenn Du eine ChangeNode verwenden willst dann JSONATA und wie gesagt in dem Flow den ich Dir gepostet habe ist die Syntax mit $contains.

                      Wie gesagt, wenn Du mit Javascript besser zurecht kommst, dann das halt. In der function Node habe ich Dir ja auch gezeigt, wie Du auf die Objekte aus der Change Node zugreifst. Es ist alles in der msg.payload. Deine function Node - ist im Grunde Deine Change Node mit der Du das Nachrichtenobjekt so veränderst, wie Du es haben willst.

                      Oder ich verstehe Deine Frage nicht, aber letztlich ging es Dir doch darum, wie Du die Anzahl der Geräte zurückbekommst, in den "Plug" in der note des Gerätes enthalten ist und das gibt doch die function Node unten aus???

                      O 1 Reply Last reply Reply Quote 0
                      • O
                        Oli @mickym last edited by

                        @mickym
                        Eigentlich wollte ich in der Tabelle unter Batterie noch zusätzlich überprüfen, ob in der "note" das Wort "Plug" vorkommt, wenn ja ,dann Text "Strombetrieben", wenn nein, dann Text "Keine Information vorhanden".

                        mickym 2 Replies Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Oli last edited by

                          @oli Wie gesagt mir wird das selbst unter JSONATA zu kompliziert, in diesem Fall nimmst Du wohl wirklich besser Javascript. Ich empfehle Dir dann einfach, wie ich mit der function Node direkt das Array mit allen Geräten als Basis zu nehmen und dann Dein JSON Array für die Tabelle in einer function Node aufzubauen. Da Du ja eh mit Javascript besser vertraut bist und das immer komplizierter wird, ist das sicher der bessere Ansatz.

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

                            @oli sagte in Benötige Hilfe mit Node-Red in Verbindung mit homee:

                            @mickym
                            Eigentlich wollte ich in der Tabelle unter Batterie noch zusätzlich überprüfen, ob in der "note" das Wort "Plug" vorkommt, wenn ja ,dann Text "Strombetrieben", wenn nein, dann Text "Keine Information vorhanden".

                            Was steht denn jetzt in Deiner Tabelle für battery drin?

                            "Keine Batterie" oder gar nichts? Dann versuche ich es ein letztes Mal noch mit meinen Mitteln.

                            O 1 Reply Last reply Reply Quote 0
                            • O
                              Oli @mickym last edited by

                              @mickym

                              Danke

                              [
                                 {
                                     "id": "95b979349f1fd3f0",
                                     "type": "ioBroker out",
                                     "z": "b8ad42061a6d5f2e",
                                     "name": "Geräteliste",
                                     "topic": "0_userdata.0.System.homee.Tabelle",
                                     "ack": "true",
                                     "autoCreate": "true",
                                     "stateName": "0_userdata.0.System.homee.Tabelle",
                                     "role": "",
                                     "payloadType": "array",
                                     "readonly": "false",
                                     "stateUnit": "",
                                     "stateMin": "",
                                     "stateMax": "",
                                     "x": 1570,
                                     "y": 1500,
                                     "wires": []
                                 },
                                 {
                                     "id": "1b3e55fcd8eadc58",
                                     "type": "debug",
                                     "z": "b8ad42061a6d5f2e",
                                     "name": "Geräte Tabelle",
                                     "active": false,
                                     "tosidebar": true,
                                     "console": false,
                                     "tostatus": false,
                                     "complete": "payload",
                                     "targetType": "msg",
                                     "statusVal": "",
                                     "statusType": "auto",
                                     "x": 1380,
                                     "y": 1440,
                                     "wires": []
                                 },
                                 {
                                     "id": "9c7798317b60270e",
                                     "type": "json",
                                     "z": "b8ad42061a6d5f2e",
                                     "name": "Tabelle JSON",
                                     "property": "payload",
                                     "action": "str",
                                     "pretty": false,
                                     "x": 1380,
                                     "y": 1500,
                                     "wires": [
                                         [
                                             "95b979349f1fd3f0"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "dfb85691acadb5e8",
                                     "type": "change",
                                     "z": "b8ad42061a6d5f2e",
                                     "name": "Geräte Tabelle",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "protocols",
                                             "pt": "msg",
                                             "to": "[{\"id\":1,\"name\":\"Z-Wave\",\"color\":\"#886fa9\"},{\"id\":2,\"name\":\"ZigBee\",\"color\":\"#ee6c1e\"},{\"id\":3,\"name\":\"EnOcean\",\"color\":\"#44abb2\"},{\"id\":9,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"},{\"id\":12,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"}]",
                                             "tot": "json"
                                         },
                                         {
                                             "t": "set",
                                             "p": "states",
                                             "pt": "msg",
                                             "to": "[{\"id\":1,\"name\":\"aktiv\",\"color\":\"green\"},{\"id\":2,\"name\":\"inaktiv\",\"color\":\"red\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]",
                                             "tot": "json"
                                         },
                                         {
                                             "t": "set",
                                             "p": "battery",
                                             "pt": "msg",
                                             "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]",
                                             "tot": "json"
                                         },
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload.{\"name\" :name,\t        \"type\" : note,\t        \"protocol\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = protocol}).color & '\\\"> ' & $single($$.protocols, function($v){$v.id = protocol}).name,\t        \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t        \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value : \t        (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value = 0 ? 100 : 10\t} ~> |$|{\"battery\" : $exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\" : \"Keine Batterie\"}|",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 1120,
                                     "y": 1500,
                                     "wires": [
                                         [
                                             "9c7798317b60270e",
                                             "1b3e55fcd8eadc58"
                                         ]
                                     ]
                                 }
                              ]
                              

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

                                @oli

                                Bitte sehr:

                                [
                                   {
                                       "id": "ec3a06e2c6315f14",
                                       "type": "change",
                                       "z": "9c280ddf049b2b4d",
                                       "name": "VIS Tabelle 7",
                                       "rules": [
                                           {
                                               "t": "set",
                                               "p": "protocols",
                                               "pt": "msg",
                                               "to": "[{\"id\":1,\"name\":\"ZWave\"},{\"id\":2,\"name\":\"Zigbee\"},{\"id\":3,\"name\":\"EnOcean\"},{\"id\":9,\"name\":\"WLan\"}]",
                                               "tot": "json"
                                           },
                                           {
                                               "t": "set",
                                               "p": "states",
                                               "pt": "msg",
                                               "to": "[{\"id\":1,\"name\":\"aktiv\",\"color\":\"green\"},{\"id\":2,\"name\":\"inaktiv\",\"color\":\"rot\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]",
                                               "tot": "json"
                                           },
                                           {
                                               "t": "set",
                                               "p": "battery",
                                               "pt": "msg",
                                               "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]",
                                               "tot": "json"
                                           },
                                           {
                                               "t": "set",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "payload.{\"name\" :name,\t        \"type\" : cube_type,\t        \"note\" : note,\t        \"protocol\" : $single($$.protocols, function($v){$v.id = protocol}).name,\t        \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t        \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value : \t        (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value = 0 ? 100 : 0\t} ~> |$|{\"battery\" : $exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\" : \t$contains(note,\"Plug\") ? \"Strombetrieben\": \"Keine Information vorhanden\"},\"note\"|\t",
                                               "tot": "jsonata"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 1550,
                                       "y": 3220,
                                       "wires": [
                                           [
                                               "04161f23a6913ee8"
                                           ]
                                       ]
                                   }
                                ]
                                

                                41b8d610-dd93-497a-8e00-82d062fcd5df-image.png

                                O 1 Reply Last reply Reply Quote 0
                                • O
                                  Oli @mickym last edited by

                                  @mickym

                                  Vielen Dank, noch eine letzte Fragen und dann bist du mich los, versprochen!!!!!

                                  Wenn der Flow nicht nur bei einer State Änderung ausgeführt werden soll, sondern auch, wenn sich an den Batterien was ändert, oder sich die Anzahl der Gräte ändert.

                                  Wie muss ich das schreiben?

                                  09045ec1-4792-427c-a1cb-856dfdd2126a-image.png

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

                                    @oli Ich bin mir nicht mal sicher ob der Filter funktioniert, da ich keine Ahnung habe wann Du wo den globalen Kontext schreibst. Wenn der Kontext noch alt ist und das Gerät neue Information hat dann geht es. Es funktioniert auch jetzt schon bei neuen Geräten, da dann ja im Kontext das Gerät noch nicht enthalten ist und in sofern der state nicht gleich sein kann.

                                    [
                                       {
                                           "id": "8d51d3dcf40934ba",
                                           "type": "switch",
                                           "z": "9c280ddf049b2b4d",
                                           "name": "Nur wenn Gerätestatus geändert",
                                           "property": "(\t   payload.nodes[id=$$.device.node.id].state = device.node.state\t) and (\t   payload.nodes[id=$$.device.node.id].attributes[type=8].current_value = device.node.attributes[type=8].current_value\t)",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "false"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1170,
                                           "y": 3280,
                                           "wires": [
                                               [
                                                   "43da9c222d7086f2",
                                                   "43fca4060b0a75d7"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    7baddeb4-3099-4983-8da3-11a7a75f0d43-image.png

                                    (
                                       payload.nodes[id=$$.device.node.id].state = device.node.state
                                    ) and (
                                       payload.nodes[id=$$.device.node.id].attributes[type=8].current_value = device.node.attributes[type=8].current_value
                                    )
                                    

                                    Wie gesagt - ich habe momentan nicht das Gefühl dass Du was zu NodeRed lernen möchtest, sondern dass ich Deine vis Tabelle perfektioniere.

                                    O 1 Reply Last reply Reply Quote 0
                                    • O
                                      Oli @mickym last edited by

                                      @mickym said in Benötige Hilfe mit Node-Red in Verbindung mit homee:

                                      payload.nodes[id=$$.device.node.id].attributes[type=8].current_value = device.node.attributes[type=8].current_value

                                      Jetzt noch eine Verständnisfrage, warum schreibst du "and" und nicht "or"

                                      mickym 2 Replies Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @Oli last edited by

                                        @oli Ja im Moment funktioniert mein Test nicht mehr - muss noch mal schauen. Ich denke es muss and sein, da ja nur wenn beide Bedingungen wahr sind, nichts geändert wurde. Ich muss das aber nochmal testen, wie es sich mit nicht batteriebetriebenen Geräten verhält.

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

                                          @oli So ich habs jetzt getestet musste nochmal geändert werden. Wie gesagt es muss AND sein, weil ja nur dann nichts geändert wurde, wenn beide Parameter nicht geändert wurden.

                                          So um das für strom und batteriegebundenen Geräten zu gültig zu machen, ist die Bedingung doch etwas komplizierter:

                                          7028dbec-d0f6-425b-b5dc-42357d41383d-image.png

                                          Du kannst selbst testen: Gerät 62 ist batteriegebunden, Gerät 71 strom. Wenn Du state änderst funktioniert es und wenn Du current_value im attribute type 8 änderst.

                                          [
                                             {
                                                 "id": "dfd67d5090a5ee3c",
                                                 "type": "change",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "move",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "device",
                                                         "tot": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 700,
                                                 "y": 3280,
                                                 "wires": [
                                                     [
                                                         "40ce65fe6c573d84"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "40ce65fe6c573d84",
                                                 "type": "change",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "hole alle Geräte",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "{}",
                                                         "tot": "json"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "payload.nodes",
                                                         "pt": "msg",
                                                         "to": "homee.nodes",
                                                         "tot": "global"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 920,
                                                 "y": 3280,
                                                 "wires": [
                                                     [
                                                         "8d51d3dcf40934ba"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "8d51d3dcf40934ba",
                                                 "type": "switch",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "Nur wenn Gerätestatus geändert",
                                                 "property": "(\t   payload.nodes[id=$$.device.node.id].state = device.node.state\t) and (\t   device.node.attributes[type=8] ? payload.nodes[id=$$.device.node.id].attributes[type=8].current_value = device.node.attributes[type=8].current_value : true\t)",
                                                 "propertyType": "jsonata",
                                                 "rules": [
                                                     {
                                                         "t": "false"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 1170,
                                                 "y": 3280,
                                                 "wires": [
                                                     [
                                                         "43da9c222d7086f2",
                                                         "43fca4060b0a75d7"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "ce392b92472130c0",
                                                 "type": "switch",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "verify device",
                                                 "property": "payload.node",
                                                 "propertyType": "msg",
                                                 "rules": [
                                                     {
                                                         "t": "nnull"
                                                     }
                                                 ],
                                                 "checkall": "true",
                                                 "repair": false,
                                                 "outputs": 1,
                                                 "x": 490,
                                                 "y": 3280,
                                                 "wires": [
                                                     [
                                                         "dfd67d5090a5ee3c"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "5af35c4e9a5c92c8",
                                                 "type": "link in",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "",
                                                 "links": [
                                                     "d87f2174cf715cf2"
                                                 ],
                                                 "x": 355,
                                                 "y": 3280,
                                                 "wires": [
                                                     [
                                                         "ce392b92472130c0"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "c89774bbb921130b",
                                                 "type": "inject",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "Gerät 62",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "",
                                                 "payload": "{\"node\":{\"added\":1646555512,\"attributes\":[{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"4.61\",\"editable\":0,\"id\":398,\"instance\":0,\"last_changed\":0,\"last_value\":0,\"maximum\":0,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":44,\"unit\":\"text\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"0.16\",\"editable\":0,\"id\":399,\"instance\":0,\"last_changed\":0,\"last_value\":0,\"maximum\":0,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":45,\"unit\":\"text\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":1,\"id\":400,\"instance\":0,\"last_changed\":1675339200,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":91,\"unit\":\"\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":20,\"data\":\"\",\"editable\":0,\"id\":401,\"instance\":0,\"last_changed\":1678481730,\"last_value\":22,\"maximum\":100,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"options\":{\"automations\":[\"step\"]},\"state\":1,\"step_value\":1,\"target_value\":20,\"type\":18,\"unit\":\"%25\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":55,\"data\":\"\",\"editable\":0,\"id\":402,\"instance\":0,\"last_changed\":1678428470,\"last_value\":85,\"maximum\":100,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"options\":{\"history\":{\"day\":182,\"month\":6,\"week\":26}},\"state\":1,\"step_value\":1,\"target_value\":55,\"type\":8,\"unit\":\"%25\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":1,\"id\":403,\"instance\":0,\"last_changed\":1678428470,\"last_value\":1,\"maximum\":4,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":258,\"unit\":\"\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":1,\"id\":404,\"instance\":0,\"last_changed\":1646555513,\"last_value\":0,\"maximum\":180,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":180,\"target_value\":0,\"type\":90,\"unit\":\"%C2%B0\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":1,\"id\":405,\"instance\":0,\"last_changed\":1646555513,\"last_value\":0,\"maximum\":30,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":5,\"target_value\":0,\"type\":259,\"unit\":\"s\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":1,\"id\":406,\"instance\":0,\"last_changed\":1646555513,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":260,\"unit\":\"\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":2,\"data\":\"\",\"editable\":1,\"id\":407,\"instance\":0,\"last_changed\":1646555513,\"last_value\":0,\"maximum\":3,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":2,\"type\":261,\"unit\":\"\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":1,\"id\":408,\"instance\":0,\"last_changed\":1646555513,\"last_value\":0,\"maximum\":5,\"minimum\":-5,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":0.1,\"target_value\":0,\"type\":64,\"unit\":\"%C2%B0C\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":20.87,\"data\":\"\",\"editable\":0,\"id\":409,\"instance\":0,\"last_changed\":1678481730,\"last_value\":20.78,\"maximum\":125,\"minimum\":-50,\"name\":\"\",\"node_id\":62,\"options\":{\"can_observe\":[5],\"history\":{\"day\":1,\"month\":6,\"week\":26}},\"state\":1,\"step_value\":1,\"target_value\":20.87,\"type\":5,\"unit\":\"%C2%B0C\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":21,\"data\":\"\",\"editable\":1,\"id\":410,\"instance\":0,\"last_changed\":1678428171,\"last_value\":21,\"maximum\":28,\"minimum\":8,\"name\":\"\",\"node_id\":62,\"options\":{\"automations\":[\"step\"],\"can_observe\":[6],\"history\":{\"day\":35,\"month\":1,\"stepped\":true,\"week\":5}},\"state\":1,\"step_value\":0.5,\"target_value\":21,\"type\":6,\"unit\":\"%C2%B0C\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":0,\"id\":411,\"instance\":0,\"last_changed\":1674031459,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"options\":{\"history\":{\"day\":182,\"month\":6,\"stepped\":true,\"week\":26}},\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":69,\"unit\":\"\"},{\"based_on\":0,\"changed_by\":0,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":1,\"id\":493,\"instance\":0,\"last_changed\":0,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":62,\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":385,\"unit\":\"\"}],\"cube_type\":1,\"favorite\":0,\"history\":0,\"id\":62,\"image\":\"default\",\"name\":\"EG / Wohnzimmer / Heizung Balkon\",\"note\":\"# EUROtronic Spirit Z-Wave Plus\",\"order\":4,\"owner\":1,\"phonetic_name\":\"Heizung Wohnzimmer Balkon\",\"profile\":3006,\"protocol\":1,\"routing\":0,\"security\":0,\"services\":7,\"state\":1,\"state_changed\":1678428481}}",
                                                 "payloadType": "json",
                                                 "x": 300,
                                                 "y": 3340,
                                                 "wires": [
                                                     [
                                                         "ce392b92472130c0"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "43fca4060b0a75d7",
                                                 "type": "debug",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "Status geändert",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1300,
                                                 "y": 3340,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "999cc6c5ddb7d1a9",
                                                 "type": "inject",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "Gerät 71",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "",
                                                 "payload": "{\"node\":{\"added\":1646564569,\"attributes\":[{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":0,\"id\":445,\"instance\":0,\"last_changed\":1678481630,\"last_value\":1,\"maximum\":4,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":33,\"unit\":\"n%2Fa\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"V2 (6.1.0.18912)\",\"editable\":0,\"id\":446,\"instance\":0,\"last_changed\":1646564575,\"last_value\":0,\"maximum\":0,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":45,\"unit\":\"text\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":1,\"id\":447,\"instance\":0,\"last_changed\":1646564576,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":170,\"unit\":\"n%2Fa\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":0,\"data\":\"\",\"editable\":0,\"id\":448,\"instance\":0,\"last_changed\":1678480957,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"options\":{\"history\":{\"day\":35,\"month\":1,\"stepped\":true,\"week\":5}},\"state\":1,\"step_value\":1,\"target_value\":0,\"type\":76,\"unit\":\"n%2Fa\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":180,\"data\":\"PIR\",\"editable\":1,\"id\":449,\"instance\":0,\"last_changed\":1646591363,\"last_value\":0,\"maximum\":65535,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"state\":1,\"step_value\":1,\"target_value\":180,\"type\":196,\"unit\":\"s\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":0,\"id\":450,\"instance\":0,\"last_changed\":1678481630,\"last_value\":1,\"maximum\":65534,\"minimum\":1,\"name\":\"\",\"node_id\":71,\"options\":{\"history\":{\"day\":1,\"month\":6,\"week\":26}},\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":11,\"unit\":\"lx\"},{\"based_on\":1,\"changed_by\":1,\"changed_by_id\":0,\"current_value\":14.75,\"data\":\"\",\"editable\":0,\"id\":451,\"instance\":0,\"last_changed\":1678479841,\"last_value\":15.03,\"maximum\":60,\"minimum\":-20,\"name\":\"\",\"node_id\":71,\"options\":{\"history\":{\"day\":1,\"month\":6,\"week\":26}},\"state\":1,\"step_value\":1,\"target_value\":14.75,\"type\":5,\"unit\":\"%C2%B0C\"},{\"based_on\":0,\"changed_by\":0,\"changed_by_id\":0,\"current_value\":1,\"data\":\"\",\"editable\":1,\"id\":500,\"instance\":0,\"last_changed\":0,\"last_value\":0,\"maximum\":1,\"minimum\":0,\"name\":\"\",\"node_id\":71,\"state\":1,\"step_value\":1,\"target_value\":1,\"type\":385,\"unit\":\"\"}],\"cube_type\":2,\"favorite\":0,\"history\":0,\"id\":71,\"image\":\"nodeicon_presence\",\"name\":\"DG / Schlafzimmer / Bewegungsmelder / Kirsten\",\"note\":\"# Philips Hue Bewegungsmelder\",\"order\":45,\"owner\":1,\"phonetic_name\":\"Bewegungsmelder Kirsten\",\"profile\":4035,\"protocol\":2,\"routing\":0,\"security\":0,\"services\":5,\"state\":1,\"state_changed\":1678427715}}",
                                                 "payloadType": "json",
                                                 "x": 300,
                                                 "y": 3380,
                                                 "wires": [
                                                     [
                                                         "ce392b92472130c0"
                                                     ]
                                                 ]
                                             }
                                          ]
                                          

                                          (
                                             payload.nodes[id=$$.device.node.id].state = device.node.state
                                          ) and (
                                             device.node.attributes[type=8] ? payload.nodes[id=$$.device.node.id].attributes[type=8].current_value = device.node.attributes[type=8].current_value : true
                                          )
                                          

                                          Das Ganze sind aber langsam Logikfragen und haben weniger mit NodeRed zu tun. 😉

                                          Wie gesagt das Ganze steht und fällt aber damit, wann der globale Kontext geändert wird und ob die einzelnen Nodes vorher ankommen, bevor der globale Kontext geändert wird.

                                          O 1 Reply Last reply Reply Quote 0
                                          • O
                                            Oli @mickym last edited by

                                            @mickym
                                            sorry, aber ich kann das spielen nicht lassen und habe versucht noch etwas an der Tabelle zu ändern

                                            Ich wollte, wenn nur der Batteriestatus 69 vorhanden ist keine Zahlen, sondern einen Text hinterlegt haben. In der JSONata klappt das auch

                                            Heizungsthermostate haben beides, da wird mir der Prozentwert hinterlegt:
                                            c304836e-7f25-4387-aa45-34018d6e8fac-image.png

                                            Netatmo Geräte haben nur 69, da wird mir der Text hinterlegt:
                                            1bd5642c-a408-4e2e-bbd6-1e2056e7f91c-image.png

                                            Im Flow bringt er mir aber folgenden Fehlermeldung:
                                            5c0e9f9e-371d-4c31-9e88-8f25b5db5be1-image.png

                                            Hier der Flow

                                            [
                                               {
                                                   "id": "9731f891b382fe8c",
                                                   "type": "tab",
                                                   "label": "Flow 1",
                                                   "disabled": false,
                                                   "info": "",
                                                   "env": []
                                               },
                                               {
                                                   "id": "11fd1028247a8897",
                                                   "type": "change",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "decodeUrlComponents",
                                                   "rules": [
                                                       {
                                                           "t": "set",
                                                           "p": "payload",
                                                           "pt": "msg",
                                                           "to": "payload ~> |$.nodes|{\"name\":$decodeUrlComponent(name),\t\"note\":$decodeUrlComponent(note),\t\"phonetic_name\":$decodeUrlComponent(phonetic_name)},\"\"|",
                                                           "tot": "jsonata"
                                                       }
                                                   ],
                                                   "action": "",
                                                   "property": "",
                                                   "from": "",
                                                   "to": "",
                                                   "reg": false,
                                                   "x": 500,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "05ccc17805c274e2"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "05ccc17805c274e2",
                                                   "type": "change",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "Alle Geräte",
                                                   "rules": [
                                                       {
                                                           "t": "set",
                                                           "p": "payload",
                                                           "pt": "msg",
                                                           "to": "payload.nodes",
                                                           "tot": "msg"
                                                       }
                                                   ],
                                                   "action": "",
                                                   "property": "",
                                                   "from": "",
                                                   "to": "",
                                                   "reg": false,
                                                   "x": 710,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "21f49844d0f9be61"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "21f49844d0f9be61",
                                                   "type": "change",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "Geräte ausschliessen",
                                                   "rules": [
                                                       {
                                                           "t": "set",
                                                           "p": "payload",
                                                           "pt": "msg",
                                                           "to": "payload ~> $filter(function($value){$value.id in [-1] != true})",
                                                           "tot": "jsonata"
                                                       }
                                                   ],
                                                   "action": "",
                                                   "property": "",
                                                   "from": "",
                                                   "to": "",
                                                   "reg": false,
                                                   "x": 920,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "65f883047ce1db69"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "93a74a370ce33f6a",
                                                   "type": "change",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "hole alle Geräte",
                                                   "rules": [
                                                       {
                                                           "t": "set",
                                                           "p": "payload",
                                                           "pt": "msg",
                                                           "to": "{}",
                                                           "tot": "json"
                                                       },
                                                       {
                                                           "t": "set",
                                                           "p": "payload.nodes",
                                                           "pt": "msg",
                                                           "to": "homee.nodes",
                                                           "tot": "global"
                                                       }
                                                   ],
                                                   "action": "",
                                                   "property": "",
                                                   "from": "",
                                                   "to": "",
                                                   "reg": false,
                                                   "x": 300,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "11fd1028247a8897"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "73447e82349b1ddc",
                                                   "type": "inject",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "trigger",
                                                   "props": [
                                                       {
                                                           "p": "payload"
                                                       }
                                                   ],
                                                   "repeat": "",
                                                   "crontab": "",
                                                   "once": false,
                                                   "onceDelay": 0.1,
                                                   "topic": "",
                                                   "payload": "true",
                                                   "payloadType": "bool",
                                                   "x": 130,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "93a74a370ce33f6a"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "357d692fea66dd1e",
                                                   "type": "debug",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "Geräte Tabelle",
                                                   "active": true,
                                                   "tosidebar": true,
                                                   "console": false,
                                                   "tostatus": false,
                                                   "complete": "payload",
                                                   "targetType": "msg",
                                                   "statusVal": "",
                                                   "statusType": "auto",
                                                   "x": 1400,
                                                   "y": 120,
                                                   "wires": []
                                               },
                                               {
                                                   "id": "65f883047ce1db69",
                                                   "type": "change",
                                                   "z": "9731f891b382fe8c",
                                                   "name": "Geräte Tabelle8",
                                                   "rules": [
                                                       {
                                                           "t": "set",
                                                           "p": "protocols",
                                                           "pt": "msg",
                                                           "to": "[{\"id\":1,\"name\":\"Z-Wave\",\"color\":\"#886fa9\"},{\"id\":2,\"name\":\"ZigBee\",\"color\":\"#ee6c1e\"},{\"id\":3,\"name\":\"EnOcean\",\"color\":\"#44abb2\"},{\"id\":9,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"},{\"id\":12,\"name\":\"WLAN\",\"color\":\"#8f8f8f\"}]",
                                                           "tot": "json"
                                                       },
                                                       {
                                                           "t": "set",
                                                           "p": "states",
                                                           "pt": "msg",
                                                           "to": "[{\"id\":1,\"name\":\"verfügbar\",\"color\":\"green\"},{\"id\":2,\"name\":\"nicht verfügbar\",\"color\":\"red\"},{\"id\":12,\"name\":\"wird aktualisiert\",\"color\":\"orange\"}]",
                                                           "tot": "json"
                                                       },
                                                       {
                                                           "t": "set",
                                                           "p": "battery",
                                                           "pt": "msg",
                                                           "to": "[{\"level\":30,\"color\":\"green\"},{\"level\":20,\"color\":\"yellow\"},{\"level\":15,\"color\":\"orange\"},{\"level\":0,\"color\":\"red\"}]",
                                                           "tot": "json"
                                                       },
                                                       {
                                                           "t": "set",
                                                           "p": "battery69",
                                                           "pt": "msg",
                                                           "to": "[{\"level\":0,\"name\":\"Batterie ok\",\"color\":\"green\"},{\"level\":1,\"name\":\"Batterie wechseln\",\"color\":\"red\"}]",
                                                           "tot": "str"
                                                       },
                                                       {
                                                           "t": "set",
                                                           "p": "payload",
                                                           "pt": "msg",
                                                           "to": "payload.{\"name\" :name,\t        \"type\" : note,\t        \"protocol\" : ' <font color=\\\"' & $single($$.protocols, function($v){$v.id = protocol}).color & '\\\"> ' & $single($$.protocols, function($v){$v.id = protocol}).name,\t        \"state\" : ' <font color=\\\"' & $single($$.states, function($v){$v.id = state}).color & '\\\"> ' & $single($$.states, function($v){$v.id = state}).name,\t        \"battery69\" : (attributes[type=8 ] ? 0 : attributes[type=69 ]).type = 69 ? attributes[type=69 ].current_value,\t        \"battery\" : (attributes[type=8 ] ? attributes[type=8 ] : attributes[type=69 ]).type = 8 ? attributes[type=8 ].current_value\t} ~> |$|{\"battery\" : $exists(battery69) ? ' <font color=\\\"' & $filter($$.battery69, function($v){battery69 >= $v.level})[0].color & '\\\"> ' & $single($$.battery69, function($v){$v.level = battery69}).name :\t$exists(battery) ? ' <font color=\\\"' & $filter($$.battery, function($v){battery >= $v.level})[0].color & '\\\"> ' & battery & \" %\" :\t$contains(type,\"Plug\") ? ' <font color=\\\"#40E0D0\\\"> ' & \"Strombetrieben\": \"Keine Information vorhanden\"},\"note\"|",
                                                           "tot": "jsonata"
                                                       }
                                                   ],
                                                   "action": "",
                                                   "property": "",
                                                   "from": "",
                                                   "to": "",
                                                   "reg": false,
                                                   "x": 1140,
                                                   "y": 120,
                                                   "wires": [
                                                       [
                                                           "357d692fea66dd1e"
                                                       ]
                                                   ]
                                               }
                                            ]
                                            

                                            Ich will es nur verstehen

                                            mickym 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            node-red
                                            3
                                            121
                                            7193
                                            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