Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. [Gelöst] Benötige Hilfe mit Node-Red in Verbindung mit homee

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    535

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

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

Geplant Angeheftet Gesperrt Verschoben Node-Red
node-red
121 Beiträge 3 Kommentatoren 17.3k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @oli OK . das heisst die Attribute interessieren nicht, sondern es ist nur der Status in der "node" Eigenschaft selbst relevant und nicht die Attribute?

    7f896b62-df67-4927-a0d1-4c670c16a8f7-image.png

    Kannst Du mir dann auch das komplette Array - oder halt mehrere Geräte mit unterschiedlichem Status genauso zur Verfügung stellen. Wenn das ggf. zu groß ist, dann halt in eine Datei packen.

    O Online
    O Online
    Oli
    schrieb am zuletzt editiert von
    #14

    @mickym

    homee.txt

    Aber gerne doch, danke für deine Hilfe!!!

    Gruß
    Oliver

    mickymM 1 Antwort Letzte Antwort
    0
    • O Oli

      @mickym

      homee.txt

      Aber gerne doch, danke für deine Hilfe!!!

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #15

      So hier mal wieder eine Version ohne function Node - mit Spaghetti-Code. ;)

      Ja ich musste auch erst lernen, wie man JSONATA liest - wir können das gerne genauer anschauen, aber Du musst Dich halt generell mit Objekte und Arrays auseinandersetzen.

      567ff4a3-21da-4e99-8181-c965db4f1d83-image.png

      Ich hab einfach die verschiedenen Filterfunktionen und Möglichkeiten von JSONATA genutzt. Im Prinzip dient dir diese ganzen Debug Nodes, damit du siehst, wie Du selektierst und auf verschiedenene Eigenschaften der Objekte zugreifst.

      Im Prinzip habe ich alle Geräte nicht nur nach den Status (aktiv, inaktiv, updating) getrennt, sondern dies auch im Flow-Kontext gespeichert, so dass Du zeitlich unabhängig auf diese Informationen zugreifen kannst.

      ad415215-7d83-4a49-b4b0-4de3b6c6d19c-image.png

      Hier eine Inject Node - aber das kann natürlich auch ein trigger Datenpunkt über VIS sein.

      Ich hab jetzt mal bewusst nicht die Namen, sondern die phonetischen Namen gewählt - aber das dient ja alles nur der Demo.

      Es wird unten nicht nur mit der template Node gezeigt, wie Du eine Textausgabe erzeugst, sondern ich hab mal HTML Code verwendet.
      Diese seite wird im iobroker Home Verzeichnis gespeichert. So könnte dann ein Report aussehen:

      1519756f-dcab-4d2f-b9d3-2c2c7c5e40a0-image.png

      Somit schau ich mal - was ich von Deinem Pflichtenheft erledigt habe:

      1. Alles Geräte nach ihrem Status abfragen => erledigt
      2. Die Anzahl der Geräte nach dem jeweilen Status zählen => erledigt
      3. Einen Text mit Namen, Status und Anzahl verfassen => erledigt - ich habe HTML code erzeugt, aber reiner Text ist ja einfacher
      4. Eine Pushnachricht in der homee App mit dem Text auslösen => musst Du machen - bzw. halt das von dem bestehenden Flow übernehmen
      5. Den Text in einen Datenpunkt schreiben. => Nun da brauchst Du ja nur ein iobroker Out Node an die Ausgabe die Du wünschst dranhängen
      6. Die Anzahl der nicht Verfügbaren Geräte in einen Datenpunkt schreiben => erledigt nur noch iobroker-Out Node dranhängen
      7. Die ganze Aktion zusätzlich mit einem Button starten => erledigt, trigger mit VIS

      Hier nun der Flow zum Import und Ausprobieren:

      [
         {
             "id": "1a49f3e7a72eeb98",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "inaktive Geräte",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1340,
             "y": 1120,
             "wires": []
         },
         {
             "id": "6f4c16eed7166074",
             "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)},\"attributes\"|",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 340,
             "y": 1180,
             "wires": [
                 [
                     "5c62dbd7992ee76d"
                 ]
             ]
         },
         {
             "id": "5c62dbd7992ee76d",
             "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": 550,
             "y": 1180,
             "wires": [
                 [
                     "9ed44d883152b608"
                 ]
             ]
         },
         {
             "id": "99528e0bbb0f2491",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "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": 1060,
             "y": 1180,
             "wires": [
                 [
                     "1a49f3e7a72eeb98",
                     "79c90e3a205144c8",
                     "852a4580fa93381d"
                 ]
             ]
         },
         {
             "id": "139fe3d8efb20402",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Alle aktiven Geräte",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload[state = 1]",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "homee.active",
                     "pt": "flow",
                     "to": "payload",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1050,
             "y": 940,
             "wires": [
                 [
                     "f8402a89bc3c1103",
                     "b1946c337b7d80ef",
                     "d95e18df200eadee"
                 ]
             ]
         },
         {
             "id": "f8402a89bc3c1103",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "aktive Geräte",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1270,
             "y": 900,
             "wires": []
         },
         {
             "id": "43f88f1028d1af0a",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Geräte, die aktualisiert werden",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload[state = 12] ",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "homee.updating",
                     "pt": "flow",
                     "to": "payload",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1090,
             "y": 1440,
             "wires": [
                 [
                     "ceb8932892417bf3",
                     "4e3680fd1ba7cc1e",
                     "21b0ae03da03035d"
                 ]
             ]
         },
         {
             "id": "ceb8932892417bf3",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Geräte die aktualisiert werden",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1410,
             "y": 1380,
             "wires": []
         },
         {
             "id": "4e3680fd1ba7cc1e",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1350,
             "y": 1440,
             "wires": [
                 [
                     "d629bd7188fa7121"
                 ]
             ]
         },
         {
             "id": "d629bd7188fa7121",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl Geräte im Aktualisierungsstatus",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1600,
             "y": 1440,
             "wires": []
         },
         {
             "id": "79c90e3a205144c8",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1330,
             "y": 1180,
             "wires": [
                 [
                     "6636132bd627fd5a"
                 ]
             ]
         },
         {
             "id": "6636132bd627fd5a",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl inaktive Geräte",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1520,
             "y": 1180,
             "wires": []
         },
         {
             "id": "b1946c337b7d80ef",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1270,
             "y": 940,
             "wires": [
                 [
                     "1871f120aa223a8d"
                 ]
             ]
         },
         {
             "id": "1871f120aa223a8d",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl aktiver Geräte",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1460,
             "y": 940,
             "wires": []
         },
         {
             "id": "d95e18df200eadee",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Namen",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.phonetic_name",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1260,
             "y": 1000,
             "wires": [
                 [
                     "ae2e5ba148bb399a"
                 ]
             ]
         },
         {
             "id": "ae2e5ba148bb399a",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Namen aktiver Geräte (Phoenetic Name)",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1540,
             "y": 1040,
             "wires": []
         },
         {
             "id": "852a4580fa93381d",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Namen",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.phonetic_name",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1340,
             "y": 1240,
             "wires": [
                 [
                     "43f62f9f3bc5bc3d"
                 ]
             ]
         },
         {
             "id": "43f62f9f3bc5bc3d",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Namen inaktiver Geräte (Phoenetic Name)",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1630,
             "y": 1240,
             "wires": []
         },
         {
             "id": "21b0ae03da03035d",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Namen",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.phonetic_name",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1360,
             "y": 1500,
             "wires": [
                 [
                     "02eb40a627f4e90d"
                 ]
             ]
         },
         {
             "id": "02eb40a627f4e90d",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Namen aktualisierende Geräte (Phoenetic Name)",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1670,
             "y": 1500,
             "wires": []
         },
         {
             "id": "9ed44d883152b608",
             "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": 760,
             "y": 1180,
             "wires": [
                 [
                     "bc383b50669e8145"
                 ]
             ]
         },
         {
             "id": "8295d28d57fdb5f9",
             "type": "inject",
             "z": "9c280ddf049b2b4d",
             "name": "Trigger Report",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "x": 210,
             "y": 1620,
             "wires": [
                 [
                     "bb70522cf511b632"
                 ]
             ]
         },
         {
             "id": "bb70522cf511b632",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "homee",
                     "tot": "flow"
                 },
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 430,
             "y": 1680,
             "wires": [
                 [
                     "886c19b24989ed4d",
                     "a76c7c09a28be0d6",
                     "f422b5bcbb03ca87"
                 ]
             ]
         },
         {
             "id": "886c19b24989ed4d",
             "type": "template",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "field": "payload",
             "fieldType": "msg",
             "format": "html",
             "syntax": "mustache",
             "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
             "output": "str",
             "x": 660,
             "y": 1680,
             "wires": [
                 [
                     "e9df565834fa1f46"
                 ]
             ]
         },
         {
             "id": "ea538b90d2d339e0",
             "type": "file",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "filename": "filename",
             "filenameType": "msg",
             "appendNewline": false,
             "createDir": false,
             "overwriteFile": "true",
             "encoding": "none",
             "x": 1080,
             "y": 1680,
             "wires": [
                 []
             ]
         },
         {
             "id": "e9df565834fa1f46",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "filename",
                     "pt": "msg",
                     "to": "/home/iobroker/homee-report.html",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 870,
             "y": 1680,
             "wires": [
                 [
                     "ea538b90d2d339e0"
                 ]
             ]
         },
         {
             "id": "a76c7c09a28be0d6",
             "type": "switch",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "property": "payload.summary",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "neq",
                     "v": "Alle Geräte aktiv",
                     "vt": "str"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 1,
             "x": 650,
             "y": 1760,
             "wires": [
                 [
                     "d8673a8fe1b1dfc2"
                 ]
             ]
         },
         {
             "id": "48226cba37067157",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
             "active": false,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1150,
             "y": 1760,
             "wires": []
         },
         {
             "id": "d8673a8fe1b1dfc2",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.summary",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 830,
             "y": 1760,
             "wires": [
                 [
                     "48226cba37067157"
                 ]
             ]
         },
         {
             "id": "f99cd78780beb8e7",
             "type": "ioBroker in",
             "z": "9c280ddf049b2b4d",
             "name": "start",
             "topic": "0_userdata.0.System.homee.StartGeräteinfo",
             "payloadType": "value",
             "onlyack": "",
             "func": "all",
             "gap": "",
             "fireOnStart": "false",
             "outFormat": "MQTT",
             "x": 190,
             "y": 1680,
             "wires": [
                 [
                     "bb70522cf511b632"
                 ]
             ]
         },
         {
             "id": "f422b5bcbb03ca87",
             "type": "change",
             "z": "9c280ddf049b2b4d",
             "name": "Anzahl nicht aktiver Geräte",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.inactive.count + payload.updating.count",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 720,
             "y": 1840,
             "wires": [
                 [
                     "8b40e4fbe4ba993d"
                 ]
             ]
         },
         {
             "id": "8b40e4fbe4ba993d",
             "type": "debug",
             "z": "9c280ddf049b2b4d",
             "name": "Nicht aktive Geräte (updating oder inaktiv)",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "payload",
             "targetType": "msg",
             "statusVal": "",
             "statusType": "auto",
             "x": 1060,
             "y": 1840,
             "wires": []
         },
         {
             "id": "bc383b50669e8145",
             "type": "junction",
             "z": "9c280ddf049b2b4d",
             "x": 880,
             "y": 1180,
             "wires": [
                 [
                     "43f88f1028d1af0a",
                     "99528e0bbb0f2491",
                     "139fe3d8efb20402"
                 ]
             ]
         }
      ]
      

      Die Inject Node mit den Daten der 46 Geräte ist in diesem Export nicht enthalten - also den Dateninput musst Du halt liefern. ;)

      Der Vorteil nicht alles in einer function Node zu verstecken ist halt auch, dass Du individuell Aktionen mit bestimmten Geräten ggf. anschließen kannst.

      Und zum Schluss - Du hast so einen Flow dann selbst erarbeitet. Ich kann Dich nur ermuntern, das zu Probieren, anstelle im Netz nach fertigen Flows zu suchen. Es kann eine Anregung sein - man muss das Rad nicht neu erfinden. Der Mensch, der den Flow gemacht hat, ist zwar ein sehr fitter Javascript Programmierer (diese template Literals habe ich noch nie benutzt), aber er kapselt viel zu viel in der function Node und beschneidet deshalb die Möglichkeiten eines Flows.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      O 1 Antwort Letzte Antwort
      0
      • O Online
        O Online
        Oli
        schrieb am zuletzt editiert von
        #16

        @mickym

        wow, erstmal vielen Dank, dass muss ich mir heute nach dem aufstehen mal etwas genau anschauen, momentan erschlägt es mich erstmal.

        Da werden bestimmt einige Fragen aufkommen, mit denen ich auf dich zukommen werde ;-)

        Gruß
        Oliver

        1 Antwort Letzte Antwort
        0
        • mickymM mickym

          So hier mal wieder eine Version ohne function Node - mit Spaghetti-Code. ;)

          Ja ich musste auch erst lernen, wie man JSONATA liest - wir können das gerne genauer anschauen, aber Du musst Dich halt generell mit Objekte und Arrays auseinandersetzen.

          567ff4a3-21da-4e99-8181-c965db4f1d83-image.png

          Ich hab einfach die verschiedenen Filterfunktionen und Möglichkeiten von JSONATA genutzt. Im Prinzip dient dir diese ganzen Debug Nodes, damit du siehst, wie Du selektierst und auf verschiedenene Eigenschaften der Objekte zugreifst.

          Im Prinzip habe ich alle Geräte nicht nur nach den Status (aktiv, inaktiv, updating) getrennt, sondern dies auch im Flow-Kontext gespeichert, so dass Du zeitlich unabhängig auf diese Informationen zugreifen kannst.

          ad415215-7d83-4a49-b4b0-4de3b6c6d19c-image.png

          Hier eine Inject Node - aber das kann natürlich auch ein trigger Datenpunkt über VIS sein.

          Ich hab jetzt mal bewusst nicht die Namen, sondern die phonetischen Namen gewählt - aber das dient ja alles nur der Demo.

          Es wird unten nicht nur mit der template Node gezeigt, wie Du eine Textausgabe erzeugst, sondern ich hab mal HTML Code verwendet.
          Diese seite wird im iobroker Home Verzeichnis gespeichert. So könnte dann ein Report aussehen:

          1519756f-dcab-4d2f-b9d3-2c2c7c5e40a0-image.png

          Somit schau ich mal - was ich von Deinem Pflichtenheft erledigt habe:

          1. Alles Geräte nach ihrem Status abfragen => erledigt
          2. Die Anzahl der Geräte nach dem jeweilen Status zählen => erledigt
          3. Einen Text mit Namen, Status und Anzahl verfassen => erledigt - ich habe HTML code erzeugt, aber reiner Text ist ja einfacher
          4. Eine Pushnachricht in der homee App mit dem Text auslösen => musst Du machen - bzw. halt das von dem bestehenden Flow übernehmen
          5. Den Text in einen Datenpunkt schreiben. => Nun da brauchst Du ja nur ein iobroker Out Node an die Ausgabe die Du wünschst dranhängen
          6. Die Anzahl der nicht Verfügbaren Geräte in einen Datenpunkt schreiben => erledigt nur noch iobroker-Out Node dranhängen
          7. Die ganze Aktion zusätzlich mit einem Button starten => erledigt, trigger mit VIS

          Hier nun der Flow zum Import und Ausprobieren:

          [
             {
                 "id": "1a49f3e7a72eeb98",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "inaktive Geräte",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1340,
                 "y": 1120,
                 "wires": []
             },
             {
                 "id": "6f4c16eed7166074",
                 "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)},\"attributes\"|",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 340,
                 "y": 1180,
                 "wires": [
                     [
                         "5c62dbd7992ee76d"
                     ]
                 ]
             },
             {
                 "id": "5c62dbd7992ee76d",
                 "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": 550,
                 "y": 1180,
                 "wires": [
                     [
                         "9ed44d883152b608"
                     ]
                 ]
             },
             {
                 "id": "99528e0bbb0f2491",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "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": 1060,
                 "y": 1180,
                 "wires": [
                     [
                         "1a49f3e7a72eeb98",
                         "79c90e3a205144c8",
                         "852a4580fa93381d"
                     ]
                 ]
             },
             {
                 "id": "139fe3d8efb20402",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Alle aktiven Geräte",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload[state = 1]",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "homee.active",
                         "pt": "flow",
                         "to": "payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1050,
                 "y": 940,
                 "wires": [
                     [
                         "f8402a89bc3c1103",
                         "b1946c337b7d80ef",
                         "d95e18df200eadee"
                     ]
                 ]
             },
             {
                 "id": "f8402a89bc3c1103",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "aktive Geräte",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1270,
                 "y": 900,
                 "wires": []
             },
             {
                 "id": "43f88f1028d1af0a",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Geräte, die aktualisiert werden",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload[state = 12] ",
                         "tot": "jsonata"
                     },
                     {
                         "t": "set",
                         "p": "homee.updating",
                         "pt": "flow",
                         "to": "payload",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1090,
                 "y": 1440,
                 "wires": [
                     [
                         "ceb8932892417bf3",
                         "4e3680fd1ba7cc1e",
                         "21b0ae03da03035d"
                     ]
                 ]
             },
             {
                 "id": "ceb8932892417bf3",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Geräte die aktualisiert werden",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1410,
                 "y": 1380,
                 "wires": []
             },
             {
                 "id": "4e3680fd1ba7cc1e",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1350,
                 "y": 1440,
                 "wires": [
                     [
                         "d629bd7188fa7121"
                     ]
                 ]
             },
             {
                 "id": "d629bd7188fa7121",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl Geräte im Aktualisierungsstatus",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1600,
                 "y": 1440,
                 "wires": []
             },
             {
                 "id": "79c90e3a205144c8",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1330,
                 "y": 1180,
                 "wires": [
                     [
                         "6636132bd627fd5a"
                     ]
                 ]
             },
             {
                 "id": "6636132bd627fd5a",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl inaktive Geräte",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1520,
                 "y": 1180,
                 "wires": []
             },
             {
                 "id": "b1946c337b7d80ef",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1270,
                 "y": 940,
                 "wires": [
                     [
                         "1871f120aa223a8d"
                     ]
                 ]
             },
             {
                 "id": "1871f120aa223a8d",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl aktiver Geräte",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1460,
                 "y": 940,
                 "wires": []
             },
             {
                 "id": "d95e18df200eadee",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.phonetic_name",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1260,
                 "y": 1000,
                 "wires": [
                     [
                         "ae2e5ba148bb399a"
                     ]
                 ]
             },
             {
                 "id": "ae2e5ba148bb399a",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen aktiver Geräte (Phoenetic Name)",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1540,
                 "y": 1040,
                 "wires": []
             },
             {
                 "id": "852a4580fa93381d",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.phonetic_name",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1340,
                 "y": 1240,
                 "wires": [
                     [
                         "43f62f9f3bc5bc3d"
                     ]
                 ]
             },
             {
                 "id": "43f62f9f3bc5bc3d",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen inaktiver Geräte (Phoenetic Name)",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1630,
                 "y": 1240,
                 "wires": []
             },
             {
                 "id": "21b0ae03da03035d",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.phonetic_name",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1360,
                 "y": 1500,
                 "wires": [
                     [
                         "02eb40a627f4e90d"
                     ]
                 ]
             },
             {
                 "id": "02eb40a627f4e90d",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Namen aktualisierende Geräte (Phoenetic Name)",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1670,
                 "y": 1500,
                 "wires": []
             },
             {
                 "id": "9ed44d883152b608",
                 "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": 760,
                 "y": 1180,
                 "wires": [
                     [
                         "bc383b50669e8145"
                     ]
                 ]
             },
             {
                 "id": "8295d28d57fdb5f9",
                 "type": "inject",
                 "z": "9c280ddf049b2b4d",
                 "name": "Trigger Report",
                 "props": [
                     {
                         "p": "payload"
                     }
                 ],
                 "repeat": "",
                 "crontab": "",
                 "once": false,
                 "onceDelay": 0.1,
                 "topic": "",
                 "payload": "",
                 "payloadType": "date",
                 "x": 210,
                 "y": 1620,
                 "wires": [
                     [
                         "bb70522cf511b632"
                     ]
                 ]
             },
             {
                 "id": "bb70522cf511b632",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "homee",
                         "tot": "flow"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 430,
                 "y": 1680,
                 "wires": [
                     [
                         "886c19b24989ed4d",
                         "a76c7c09a28be0d6",
                         "f422b5bcbb03ca87"
                     ]
                 ]
             },
             {
                 "id": "886c19b24989ed4d",
                 "type": "template",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "field": "payload",
                 "fieldType": "msg",
                 "format": "html",
                 "syntax": "mustache",
                 "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                 "output": "str",
                 "x": 660,
                 "y": 1680,
                 "wires": [
                     [
                         "e9df565834fa1f46"
                     ]
                 ]
             },
             {
                 "id": "ea538b90d2d339e0",
                 "type": "file",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "filename": "filename",
                 "filenameType": "msg",
                 "appendNewline": false,
                 "createDir": false,
                 "overwriteFile": "true",
                 "encoding": "none",
                 "x": 1080,
                 "y": 1680,
                 "wires": [
                     []
                 ]
             },
             {
                 "id": "e9df565834fa1f46",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "filename",
                         "pt": "msg",
                         "to": "/home/iobroker/homee-report.html",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 870,
                 "y": 1680,
                 "wires": [
                     [
                         "ea538b90d2d339e0"
                     ]
                 ]
             },
             {
                 "id": "a76c7c09a28be0d6",
                 "type": "switch",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "property": "payload.summary",
                 "propertyType": "msg",
                 "rules": [
                     {
                         "t": "neq",
                         "v": "Alle Geräte aktiv",
                         "vt": "str"
                     }
                 ],
                 "checkall": "true",
                 "repair": false,
                 "outputs": 1,
                 "x": 650,
                 "y": 1760,
                 "wires": [
                     [
                         "d8673a8fe1b1dfc2"
                     ]
                 ]
             },
             {
                 "id": "48226cba37067157",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                 "active": false,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1150,
                 "y": 1760,
                 "wires": []
             },
             {
                 "id": "d8673a8fe1b1dfc2",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.summary",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 830,
                 "y": 1760,
                 "wires": [
                     [
                         "48226cba37067157"
                     ]
                 ]
             },
             {
                 "id": "f99cd78780beb8e7",
                 "type": "ioBroker in",
                 "z": "9c280ddf049b2b4d",
                 "name": "start",
                 "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "outFormat": "MQTT",
                 "x": 190,
                 "y": 1680,
                 "wires": [
                     [
                         "bb70522cf511b632"
                     ]
                 ]
             },
             {
                 "id": "f422b5bcbb03ca87",
                 "type": "change",
                 "z": "9c280ddf049b2b4d",
                 "name": "Anzahl nicht aktiver Geräte",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.inactive.count + payload.updating.count",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 720,
                 "y": 1840,
                 "wires": [
                     [
                         "8b40e4fbe4ba993d"
                     ]
                 ]
             },
             {
                 "id": "8b40e4fbe4ba993d",
                 "type": "debug",
                 "z": "9c280ddf049b2b4d",
                 "name": "Nicht aktive Geräte (updating oder inaktiv)",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1060,
                 "y": 1840,
                 "wires": []
             },
             {
                 "id": "bc383b50669e8145",
                 "type": "junction",
                 "z": "9c280ddf049b2b4d",
                 "x": 880,
                 "y": 1180,
                 "wires": [
                     [
                         "43f88f1028d1af0a",
                         "99528e0bbb0f2491",
                         "139fe3d8efb20402"
                     ]
                 ]
             }
          ]
          

          Die Inject Node mit den Daten der 46 Geräte ist in diesem Export nicht enthalten - also den Dateninput musst Du halt liefern. ;)

          Der Vorteil nicht alles in einer function Node zu verstecken ist halt auch, dass Du individuell Aktionen mit bestimmten Geräten ggf. anschließen kannst.

          Und zum Schluss - Du hast so einen Flow dann selbst erarbeitet. Ich kann Dich nur ermuntern, das zu Probieren, anstelle im Netz nach fertigen Flows zu suchen. Es kann eine Anregung sein - man muss das Rad nicht neu erfinden. Der Mensch, der den Flow gemacht hat, ist zwar ein sehr fitter Javascript Programmierer (diese template Literals habe ich noch nie benutzt), aber er kapselt viel zu viel in der function Node und beschneidet deshalb die Möglichkeiten eines Flows.

          O Online
          O Online
          Oli
          schrieb am zuletzt editiert von
          #17

          @mickym
          habe mir das ganze mal angesehen und versucht durch zu blicken, aber leider funktioniert es nicht.

          Der Obere Teil sieht wie folgt aus:
          bfcbffbd-8552-4268-b5d3-59950f73830d-image.png
          Bei den Debug-Nodes der einzelnen Geräte kommt immer folgendes:
          e998934d-4a0d-403c-8225-37bc566023ac-image.png

          Bei der Debug-Node 5 schreibt er folgendes:

          {"attribute":{"id":358,"node_id":56,"instance":0,"minimum":0,"maximum":20,"current_value":0.412,"target_value":0.412,"last_value":0.438,"unit":"A","step_value":1,"editable":0,"type":193,"state":1,"last_changed":1678519354,"changed_by":1,"changed_by_id":0,"based_on":1,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}}}
          

          Aber nach meinem Verständnis, sollte doch eigentlich die "node" abgefragt werden, nicht die "attribute"

          {"node":{"id":29,"name":"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo","profile":3014,"image":"default","favorite":0,"order":42,"protocol":9,"routing":0,"state":1,"state_changed":1678428037,"added":1607519624,"history":0,"cube_type":8,"note":"","services":5,"phonetic_name":"Klima%20Wohnzimmer","owner":1,"security":0,"attributes":[{"id":253,"node_id":29,"instance":0,"minimum":0,"maximum":50,"current_value":20.6,"target_value":20.6,"last_value":20.5,"unit":"%C2%B0C","step_value":0.5,"editable":0,"type":5,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":254,"node_id":29,"instance":0,"minimum":0,"maximum":100,"current_value":33,"target_value":33,"last_value":34,"unit":"%25","step_value":1,"editable":0,"type":7,"state":1,"last_changed":1678515784,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":255,"node_id":29,"instance":0,"minimum":0,"maximum":5000,"current_value":444,"target_value":444,"last_value":449,"unit":"ppm","step_value":50,"editable":0,"type":20,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":256,"node_id":29,"instance":0,"minimum":35,"maximum":120,"current_value":32,"target_value":32,"last_value":33,"unit":"dB","step_value":1,"editable":0,"type":93,"state":1,"last_changed":1678515183,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":257,"node_id":29,"instance":0,"minimum":260,"maximum":1160,"current_value":1003.7,"target_value":1003.7,"last_value":1003.6,"unit":"mBar","step_value":5,"editable":0,"type":94,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":258,"node_id":29,"instance":0,"minimum":0,"maximum":4,"current_value":4,"target_value":4,"last_value":2,"unit":"n%2Fa","step_value":1,"editable":0,"type":33,"state":1,"last_changed":1677083197,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":""},{"id":475,"node_id":29,"instance":0,"minimum":0,"maximum":1,"current_value":1,"target_value":1,"last_value":0,"unit":"","step_value":1,"editable":1,"type":385,"state":1,"last_changed":0,"changed_by":0,"changed_by_id":0,"based_on":0,"data":"","name":""}]}}
          

          Wenn dem so ist, wo kann ich das ändern?

          Gruß
          Oliver

          mickymM 1 Antwort Letzte Antwort
          0
          • O Oli

            @mickym
            habe mir das ganze mal angesehen und versucht durch zu blicken, aber leider funktioniert es nicht.

            Der Obere Teil sieht wie folgt aus:
            bfcbffbd-8552-4268-b5d3-59950f73830d-image.png
            Bei den Debug-Nodes der einzelnen Geräte kommt immer folgendes:
            e998934d-4a0d-403c-8225-37bc566023ac-image.png

            Bei der Debug-Node 5 schreibt er folgendes:

            {"attribute":{"id":358,"node_id":56,"instance":0,"minimum":0,"maximum":20,"current_value":0.412,"target_value":0.412,"last_value":0.438,"unit":"A","step_value":1,"editable":0,"type":193,"state":1,"last_changed":1678519354,"changed_by":1,"changed_by_id":0,"based_on":1,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}}}
            

            Aber nach meinem Verständnis, sollte doch eigentlich die "node" abgefragt werden, nicht die "attribute"

            {"node":{"id":29,"name":"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo","profile":3014,"image":"default","favorite":0,"order":42,"protocol":9,"routing":0,"state":1,"state_changed":1678428037,"added":1607519624,"history":0,"cube_type":8,"note":"","services":5,"phonetic_name":"Klima%20Wohnzimmer","owner":1,"security":0,"attributes":[{"id":253,"node_id":29,"instance":0,"minimum":0,"maximum":50,"current_value":20.6,"target_value":20.6,"last_value":20.5,"unit":"%C2%B0C","step_value":0.5,"editable":0,"type":5,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":254,"node_id":29,"instance":0,"minimum":0,"maximum":100,"current_value":33,"target_value":33,"last_value":34,"unit":"%25","step_value":1,"editable":0,"type":7,"state":1,"last_changed":1678515784,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":255,"node_id":29,"instance":0,"minimum":0,"maximum":5000,"current_value":444,"target_value":444,"last_value":449,"unit":"ppm","step_value":50,"editable":0,"type":20,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":256,"node_id":29,"instance":0,"minimum":35,"maximum":120,"current_value":32,"target_value":32,"last_value":33,"unit":"dB","step_value":1,"editable":0,"type":93,"state":1,"last_changed":1678515183,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":257,"node_id":29,"instance":0,"minimum":260,"maximum":1160,"current_value":1003.7,"target_value":1003.7,"last_value":1003.6,"unit":"mBar","step_value":5,"editable":0,"type":94,"state":1,"last_changed":1678519389,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":"","options":{"history":{"day":1,"week":26,"month":6}}},{"id":258,"node_id":29,"instance":0,"minimum":0,"maximum":4,"current_value":4,"target_value":4,"last_value":2,"unit":"n%2Fa","step_value":1,"editable":0,"type":33,"state":1,"last_changed":1677083197,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","name":""},{"id":475,"node_id":29,"instance":0,"minimum":0,"maximum":1,"current_value":1,"target_value":1,"last_value":0,"unit":"","step_value":1,"editable":1,"type":385,"state":1,"last_changed":0,"changed_by":0,"changed_by_id":0,"based_on":0,"data":"","name":""}]}}
            

            Wenn dem so ist, wo kann ich das ändern?

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #18

            @oli Nein dem ist nicht so - im Gegenteil die attribute werden entfernt. - Ich denke wir haben ggf. nicht mit der gleichen Datenbasis gearbeitet.

            8efab0f7-1139-4609-b744-702482c38db8-image.png

            Bei mir sind also in dem Input alle 46 Geräte zu sehen.

            54841029-86ec-4ae8-afad-b7aba5758d2c-image.png

            Mit der Change Node - werden im Gegenteil die einzelnen attribute weggenommen.

            Also haben wir eine unterschiedliche Ausgangsbasis. Kommen denn die Geräte einzeln an? oder insgesamt?

            8ee40a7e-5956-4eaf-8e9e-3319270301fe-image.png

            Ich habe halt mit der Datenbasis gearbeitet, bei der alle Geräte aufeinmal ankommen. Also im Prinzip mit dem was Du mir in der Datei aus : https://forum.iobroker.net/post/960869 geschickt hast.

            7567a92a-cb3d-48ab-aa49-6cba35e54d49-image.png

            Deswegen heißt mein Array auch nodes und nicht node. ;)

            Jetzt ist halt die Frage - kannst Du das auch so machen oder müssen wir die einzelnen Geräte mühsam sammeln? Wenn die Geräte einzeln ankommen - müssen wir den Flow umändern.

            Also sag mir, ob die Geräte sich da nun einzeln melden oder ob Du die ganze Geräteliste als Input zur Verfügung stellen kannst?

            Im Prinzip hat der wohl die Nodes global gesammelt, da dies in der 1. Zeile der function Node so steht:

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

            Falls dem so ist, kannst Du mal in Deinem globalen Kontext schauen, ob da die vollständigen Nodeliste drin ist ;) ?

            Wenn ja dann - ignorieren wir nämlich den Input und setzen die payload am Anfang auf den globalen Kontext.

            Also schau mal, was ggf. hier in Deinem globalen Kontext drin steht:

            a1f6d18c-4671-452d-97b9-201f47ff72dd-image.png

            Du musst rechts auf das Aktualisieren Icon drücken.

            Falls dem so ist, wie ich vermute, dann ist das was rein kommt in Deinen Flow nur ein trigger - den wir später auch verfeinern können.

            Du kannst die payload - wie in der function Node auf alle Nodes setzen, wenn Du vorher noch folgende Change Node dran machst:

            d4632383-25d5-4298-a50b-ce4de054b10d-image.png

            die Change Node muss folgenden Inhalt haben:
            c057e3b5-fb79-45e9-966b-c7e730bb35af-image.png

            [
                {
                    "id": "4bb866d9e36a197e",
                    "type": "change",
                    "z": "9c280ddf049b2b4d",
                    "name": "",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload.nodes",
                            "pt": "msg",
                            "to": "homee.nodes",
                            "tot": "global"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 390,
                    "y": 460,
                    "wires": [
                        [
                            "6f4c16eed7166074"
                        ]
                    ]
                }
            ]
            

            Im Prinzip holen wir dann bei jedem Geräteupdate die vollständige Liste bzw. analysieren diese.

            Im Prinzip filtert er aus, dass nur diese Ereignisse triggern:

            if((msg.payload.node && ((msg.payload.node.state === 2)||(msg.payload.node.state === 12)))||msg.payload === true)
            

            das müssen wir halt nochmal schauen, ob das Sinn macht. Das bedeutet, dass momentan die Auswertung nur läuft wenn die payload nur true ist oder die payload eine Eigenschaft node hat, deren states 2 oder 12 ist.

            Ich hoffe ich habe mich verständlich ausgedrückt. - Also setze mal die payload auf den globalen Kontext, mit der Change Node und mit den triggern überlegen wir uns noch.

            =====================================================================================

            So ich hab das jetzt nochmal simuliert:

            Wenn bei Dir der globale Kontext so aussieht:

            d1886a53-8e9d-4ba7-b1ae-9af7ac4e3abd-image.png

            Dann sollte jetzt dieser ganze Flow funktionieren, indem Du einfach auf den trigger Knopf drückst oder auch von Deinem anderen Flow triggern lässt:

            9f8dca57-cead-440d-aa51-e51cd450496a-image.png

            [
               {
                   "id": "1a49f3e7a72eeb98",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "inaktive Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1620,
                   "y": 620,
                   "wires": []
               },
               {
                   "id": "6f4c16eed7166074",
                   "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)},\"attributes\"|",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 580,
                   "y": 680,
                   "wires": [
                       [
                           "5c62dbd7992ee76d"
                       ]
                   ]
               },
               {
                   "id": "5c62dbd7992ee76d",
                   "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": 790,
                   "y": 680,
                   "wires": [
                       [
                           "9ed44d883152b608"
                       ]
                   ]
               },
               {
                   "id": "99528e0bbb0f2491",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "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": 1340,
                   "y": 680,
                   "wires": [
                       [
                           "1a49f3e7a72eeb98",
                           "79c90e3a205144c8",
                           "852a4580fa93381d"
                       ]
                   ]
               },
               {
                   "id": "139fe3d8efb20402",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Alle aktiven Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[state = 1]",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "homee.active",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1330,
                   "y": 440,
                   "wires": [
                       [
                           "f8402a89bc3c1103",
                           "b1946c337b7d80ef",
                           "d95e18df200eadee"
                       ]
                   ]
               },
               {
                   "id": "f8402a89bc3c1103",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "aktive Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1550,
                   "y": 400,
                   "wires": []
               },
               {
                   "id": "43f88f1028d1af0a",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Geräte, die aktualisiert werden",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload[state = 12] ",
                           "tot": "jsonata"
                       },
                       {
                           "t": "set",
                           "p": "homee.updating",
                           "pt": "flow",
                           "to": "payload",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1370,
                   "y": 940,
                   "wires": [
                       [
                           "ceb8932892417bf3",
                           "4e3680fd1ba7cc1e",
                           "21b0ae03da03035d"
                       ]
                   ]
               },
               {
                   "id": "ceb8932892417bf3",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Geräte die aktualisiert werden",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1690,
                   "y": 880,
                   "wires": []
               },
               {
                   "id": "4e3680fd1ba7cc1e",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1630,
                   "y": 940,
                   "wires": [
                       [
                           "d629bd7188fa7121"
                       ]
                   ]
               },
               {
                   "id": "d629bd7188fa7121",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl Geräte im Aktualisierungsstatus",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1880,
                   "y": 940,
                   "wires": []
               },
               {
                   "id": "79c90e3a205144c8",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1610,
                   "y": 680,
                   "wires": [
                       [
                           "6636132bd627fd5a"
                       ]
                   ]
               },
               {
                   "id": "6636132bd627fd5a",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl inaktive Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1800,
                   "y": 680,
                   "wires": []
               },
               {
                   "id": "b1946c337b7d80ef",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1550,
                   "y": 440,
                   "wires": [
                       [
                           "1871f120aa223a8d"
                       ]
                   ]
               },
               {
                   "id": "1871f120aa223a8d",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl aktiver Geräte",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1740,
                   "y": 440,
                   "wires": []
               },
               {
                   "id": "d95e18df200eadee",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.phonetic_name",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1540,
                   "y": 500,
                   "wires": [
                       [
                           "ae2e5ba148bb399a"
                       ]
                   ]
               },
               {
                   "id": "ae2e5ba148bb399a",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen aktiver Geräte (Phoenetic Name)",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1820,
                   "y": 540,
                   "wires": []
               },
               {
                   "id": "852a4580fa93381d",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.phonetic_name",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1620,
                   "y": 740,
                   "wires": [
                       [
                           "43f62f9f3bc5bc3d"
                       ]
                   ]
               },
               {
                   "id": "43f62f9f3bc5bc3d",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen inaktiver Geräte (Phoenetic Name)",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1910,
                   "y": 740,
                   "wires": []
               },
               {
                   "id": "21b0ae03da03035d",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.phonetic_name",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 1640,
                   "y": 1000,
                   "wires": [
                       [
                           "02eb40a627f4e90d"
                       ]
                   ]
               },
               {
                   "id": "02eb40a627f4e90d",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Namen aktualisierende Geräte (Phoenetic Name)",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1950,
                   "y": 1000,
                   "wires": []
               },
               {
                   "id": "9ed44d883152b608",
                   "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": 1000,
                   "y": 680,
                   "wires": [
                       [
                           "bc383b50669e8145"
                       ]
                   ]
               },
               {
                   "id": "8295d28d57fdb5f9",
                   "type": "inject",
                   "z": "9c280ddf049b2b4d",
                   "name": "Trigger Report",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "",
                   "payloadType": "date",
                   "x": 250,
                   "y": 1140,
                   "wires": [
                       [
                           "bb70522cf511b632"
                       ]
                   ]
               },
               {
                   "id": "bb70522cf511b632",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "homee",
                           "tot": "flow"
                       },
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 470,
                   "y": 1200,
                   "wires": [
                       [
                           "886c19b24989ed4d",
                           "a76c7c09a28be0d6",
                           "f422b5bcbb03ca87",
                           "5ea7fcec46176042"
                       ]
                   ]
               },
               {
                   "id": "886c19b24989ed4d",
                   "type": "template",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "field": "payload",
                   "fieldType": "msg",
                   "format": "html",
                   "syntax": "mustache",
                   "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                   "output": "str",
                   "x": 700,
                   "y": 1200,
                   "wires": [
                       [
                           "e9df565834fa1f46"
                       ]
                   ]
               },
               {
                   "id": "ea538b90d2d339e0",
                   "type": "file",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "filename": "filename",
                   "filenameType": "msg",
                   "appendNewline": false,
                   "createDir": false,
                   "overwriteFile": "true",
                   "encoding": "none",
                   "x": 1120,
                   "y": 1200,
                   "wires": [
                       []
                   ]
               },
               {
                   "id": "e9df565834fa1f46",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "filename",
                           "pt": "msg",
                           "to": "/home/iobroker/homee-report.html",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 910,
                   "y": 1200,
                   "wires": [
                       [
                           "ea538b90d2d339e0"
                       ]
                   ]
               },
               {
                   "id": "a76c7c09a28be0d6",
                   "type": "switch",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "property": "payload.summary",
                   "propertyType": "msg",
                   "rules": [
                       {
                           "t": "neq",
                           "v": "Alle Geräte aktiv",
                           "vt": "str"
                       }
                   ],
                   "checkall": "true",
                   "repair": false,
                   "outputs": 1,
                   "x": 690,
                   "y": 1280,
                   "wires": [
                       [
                           "d8673a8fe1b1dfc2"
                       ]
                   ]
               },
               {
                   "id": "48226cba37067157",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1190,
                   "y": 1280,
                   "wires": []
               },
               {
                   "id": "d8673a8fe1b1dfc2",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.summary",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 870,
                   "y": 1280,
                   "wires": [
                       [
                           "48226cba37067157"
                       ]
                   ]
               },
               {
                   "id": "f99cd78780beb8e7",
                   "type": "ioBroker in",
                   "z": "9c280ddf049b2b4d",
                   "name": "start",
                   "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "false",
                   "outFormat": "MQTT",
                   "x": 230,
                   "y": 1200,
                   "wires": [
                       [
                           "bb70522cf511b632"
                       ]
                   ]
               },
               {
                   "id": "f422b5bcbb03ca87",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "Anzahl nicht aktiver Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.inactive.count + payload.updating.count",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 760,
                   "y": 1360,
                   "wires": [
                       [
                           "8b40e4fbe4ba993d"
                       ]
                   ]
               },
               {
                   "id": "8b40e4fbe4ba993d",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Nicht aktive Geräte (updating oder inaktiv)",
                   "active": false,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 1100,
                   "y": 1360,
                   "wires": []
               },
               {
                   "id": "4bb866d9e36a197e",
                   "type": "change",
                   "z": "9c280ddf049b2b4d",
                   "name": "hole alle Geräte",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "homee",
                           "tot": "global"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 340,
                   "y": 680,
                   "wires": [
                       [
                           "6f4c16eed7166074"
                       ]
                   ]
               },
               {
                   "id": "a48d4a225b9f0daa",
                   "type": "inject",
                   "z": "9c280ddf049b2b4d",
                   "name": "trigger",
                   "props": [
                       {
                           "p": "payload"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "true",
                   "payloadType": "bool",
                   "x": 170,
                   "y": 680,
                   "wires": [
                       [
                           "4bb866d9e36a197e"
                       ]
                   ]
               },
               {
                   "id": "5ea7fcec46176042",
                   "type": "debug",
                   "z": "9c280ddf049b2b4d",
                   "name": "Zusammenfassung",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 730,
                   "y": 1140,
                   "wires": []
               },
               {
                   "id": "bc383b50669e8145",
                   "type": "junction",
                   "z": "9c280ddf049b2b4d",
                   "x": 1160,
                   "y": 680,
                   "wires": [
                       [
                           "43f88f1028d1af0a",
                           "99528e0bbb0f2491",
                           "139fe3d8efb20402"
                       ]
                   ]
               }
            ]
            

            Wenn Du dann unten den Trigger Report anklickst - dann solltest Du im Debug Fenster folgende Daten erhalten:

            {
              "active": {
                "count": 44,
                "names": "Bewegungsmelder Kirsten\nBewegungsmelder Oliver\nLuftreiniger\nNachtlicht TV\nNachtlicht Kirsten\n\nNachtlicht Oliver\nHeizung Wohnzimmer Balkon\nWaschmaschine\nMultimedia\nRauchmelder Flur Dachgeschoss\nRauchmelder Flur Erdgeschoss\nRauchmelder Flur Keller\nFenster Bad\nBalkontür Esszimmer\nBalkontür Wohnzimmer\nFenster Toilette\nFenster Büro Rechts\nFenster Büro Links\nSchlafzimmer Rauchmelder\nRauchmelder Schlafzimmer Keller\nHeizung Büro\nVitrine Wohnzimmer\nTemperatur Weinkühlschrank\nHeizung Wohnzimmer Links\nSchrank Wohnzimmer\nHeizung Esszimmer\nHeizung Toilette\nWeinschrank Wohnzimmer\nThermostat Wohnzimmer\nComputer\nKühlschrank\nGeschirrspüler\nWassersensor Küche\nHeizung Bad\nKlima Wohnzimmer\nKlima Balkon\nKlima Büro\nKlima Schlafzimmer\nKlimaanlage\nTablet\nStehlampe Wohnzimmer\nBar Wohnzimmer\nTemperatur Kühlschrank"
              },
              "inactive": {
                "count": 1,
                "names": "Licht Glasvitrine Flur"
              },
              "updating": {
                "count": 0,
                "names": "Keine Geräte im Aktualisierungsstatus"
              },
              "summary": "Nicht alle Geräte bereit!"
            }
            

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            O 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @oli Nein dem ist nicht so - im Gegenteil die attribute werden entfernt. - Ich denke wir haben ggf. nicht mit der gleichen Datenbasis gearbeitet.

              8efab0f7-1139-4609-b744-702482c38db8-image.png

              Bei mir sind also in dem Input alle 46 Geräte zu sehen.

              54841029-86ec-4ae8-afad-b7aba5758d2c-image.png

              Mit der Change Node - werden im Gegenteil die einzelnen attribute weggenommen.

              Also haben wir eine unterschiedliche Ausgangsbasis. Kommen denn die Geräte einzeln an? oder insgesamt?

              8ee40a7e-5956-4eaf-8e9e-3319270301fe-image.png

              Ich habe halt mit der Datenbasis gearbeitet, bei der alle Geräte aufeinmal ankommen. Also im Prinzip mit dem was Du mir in der Datei aus : https://forum.iobroker.net/post/960869 geschickt hast.

              7567a92a-cb3d-48ab-aa49-6cba35e54d49-image.png

              Deswegen heißt mein Array auch nodes und nicht node. ;)

              Jetzt ist halt die Frage - kannst Du das auch so machen oder müssen wir die einzelnen Geräte mühsam sammeln? Wenn die Geräte einzeln ankommen - müssen wir den Flow umändern.

              Also sag mir, ob die Geräte sich da nun einzeln melden oder ob Du die ganze Geräteliste als Input zur Verfügung stellen kannst?

              Im Prinzip hat der wohl die Nodes global gesammelt, da dies in der 1. Zeile der function Node so steht:

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

              Falls dem so ist, kannst Du mal in Deinem globalen Kontext schauen, ob da die vollständigen Nodeliste drin ist ;) ?

              Wenn ja dann - ignorieren wir nämlich den Input und setzen die payload am Anfang auf den globalen Kontext.

              Also schau mal, was ggf. hier in Deinem globalen Kontext drin steht:

              a1f6d18c-4671-452d-97b9-201f47ff72dd-image.png

              Du musst rechts auf das Aktualisieren Icon drücken.

              Falls dem so ist, wie ich vermute, dann ist das was rein kommt in Deinen Flow nur ein trigger - den wir später auch verfeinern können.

              Du kannst die payload - wie in der function Node auf alle Nodes setzen, wenn Du vorher noch folgende Change Node dran machst:

              d4632383-25d5-4298-a50b-ce4de054b10d-image.png

              die Change Node muss folgenden Inhalt haben:
              c057e3b5-fb79-45e9-966b-c7e730bb35af-image.png

              [
                  {
                      "id": "4bb866d9e36a197e",
                      "type": "change",
                      "z": "9c280ddf049b2b4d",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload.nodes",
                              "pt": "msg",
                              "to": "homee.nodes",
                              "tot": "global"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 390,
                      "y": 460,
                      "wires": [
                          [
                              "6f4c16eed7166074"
                          ]
                      ]
                  }
              ]
              

              Im Prinzip holen wir dann bei jedem Geräteupdate die vollständige Liste bzw. analysieren diese.

              Im Prinzip filtert er aus, dass nur diese Ereignisse triggern:

              if((msg.payload.node && ((msg.payload.node.state === 2)||(msg.payload.node.state === 12)))||msg.payload === true)
              

              das müssen wir halt nochmal schauen, ob das Sinn macht. Das bedeutet, dass momentan die Auswertung nur läuft wenn die payload nur true ist oder die payload eine Eigenschaft node hat, deren states 2 oder 12 ist.

              Ich hoffe ich habe mich verständlich ausgedrückt. - Also setze mal die payload auf den globalen Kontext, mit der Change Node und mit den triggern überlegen wir uns noch.

              =====================================================================================

              So ich hab das jetzt nochmal simuliert:

              Wenn bei Dir der globale Kontext so aussieht:

              d1886a53-8e9d-4ba7-b1ae-9af7ac4e3abd-image.png

              Dann sollte jetzt dieser ganze Flow funktionieren, indem Du einfach auf den trigger Knopf drückst oder auch von Deinem anderen Flow triggern lässt:

              9f8dca57-cead-440d-aa51-e51cd450496a-image.png

              [
                 {
                     "id": "1a49f3e7a72eeb98",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "inaktive Geräte",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1620,
                     "y": 620,
                     "wires": []
                 },
                 {
                     "id": "6f4c16eed7166074",
                     "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)},\"attributes\"|",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 580,
                     "y": 680,
                     "wires": [
                         [
                             "5c62dbd7992ee76d"
                         ]
                     ]
                 },
                 {
                     "id": "5c62dbd7992ee76d",
                     "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": 790,
                     "y": 680,
                     "wires": [
                         [
                             "9ed44d883152b608"
                         ]
                     ]
                 },
                 {
                     "id": "99528e0bbb0f2491",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "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": 1340,
                     "y": 680,
                     "wires": [
                         [
                             "1a49f3e7a72eeb98",
                             "79c90e3a205144c8",
                             "852a4580fa93381d"
                         ]
                     ]
                 },
                 {
                     "id": "139fe3d8efb20402",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Alle aktiven Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload[state = 1]",
                             "tot": "jsonata"
                         },
                         {
                             "t": "set",
                             "p": "homee.active",
                             "pt": "flow",
                             "to": "payload",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1330,
                     "y": 440,
                     "wires": [
                         [
                             "f8402a89bc3c1103",
                             "b1946c337b7d80ef",
                             "d95e18df200eadee"
                         ]
                     ]
                 },
                 {
                     "id": "f8402a89bc3c1103",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "aktive Geräte",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1550,
                     "y": 400,
                     "wires": []
                 },
                 {
                     "id": "43f88f1028d1af0a",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Geräte, die aktualisiert werden",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload[state = 12] ",
                             "tot": "jsonata"
                         },
                         {
                             "t": "set",
                             "p": "homee.updating",
                             "pt": "flow",
                             "to": "payload",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1370,
                     "y": 940,
                     "wires": [
                         [
                             "ceb8932892417bf3",
                             "4e3680fd1ba7cc1e",
                             "21b0ae03da03035d"
                         ]
                     ]
                 },
                 {
                     "id": "ceb8932892417bf3",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Geräte die aktualisiert werden",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1690,
                     "y": 880,
                     "wires": []
                 },
                 {
                     "id": "4e3680fd1ba7cc1e",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1630,
                     "y": 940,
                     "wires": [
                         [
                             "d629bd7188fa7121"
                         ]
                     ]
                 },
                 {
                     "id": "d629bd7188fa7121",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl Geräte im Aktualisierungsstatus",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1880,
                     "y": 940,
                     "wires": []
                 },
                 {
                     "id": "79c90e3a205144c8",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1610,
                     "y": 680,
                     "wires": [
                         [
                             "6636132bd627fd5a"
                         ]
                     ]
                 },
                 {
                     "id": "6636132bd627fd5a",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl inaktive Geräte",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1800,
                     "y": 680,
                     "wires": []
                 },
                 {
                     "id": "b1946c337b7d80ef",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1550,
                     "y": 440,
                     "wires": [
                         [
                             "1871f120aa223a8d"
                         ]
                     ]
                 },
                 {
                     "id": "1871f120aa223a8d",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl aktiver Geräte",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1740,
                     "y": 440,
                     "wires": []
                 },
                 {
                     "id": "d95e18df200eadee",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.phonetic_name",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1540,
                     "y": 500,
                     "wires": [
                         [
                             "ae2e5ba148bb399a"
                         ]
                     ]
                 },
                 {
                     "id": "ae2e5ba148bb399a",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen aktiver Geräte (Phoenetic Name)",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1820,
                     "y": 540,
                     "wires": []
                 },
                 {
                     "id": "852a4580fa93381d",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.phonetic_name",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1620,
                     "y": 740,
                     "wires": [
                         [
                             "43f62f9f3bc5bc3d"
                         ]
                     ]
                 },
                 {
                     "id": "43f62f9f3bc5bc3d",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen inaktiver Geräte (Phoenetic Name)",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1910,
                     "y": 740,
                     "wires": []
                 },
                 {
                     "id": "21b0ae03da03035d",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.phonetic_name",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1640,
                     "y": 1000,
                     "wires": [
                         [
                             "02eb40a627f4e90d"
                         ]
                     ]
                 },
                 {
                     "id": "02eb40a627f4e90d",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Namen aktualisierende Geräte (Phoenetic Name)",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1950,
                     "y": 1000,
                     "wires": []
                 },
                 {
                     "id": "9ed44d883152b608",
                     "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": 1000,
                     "y": 680,
                     "wires": [
                         [
                             "bc383b50669e8145"
                         ]
                     ]
                 },
                 {
                     "id": "8295d28d57fdb5f9",
                     "type": "inject",
                     "z": "9c280ddf049b2b4d",
                     "name": "Trigger Report",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "",
                     "payloadType": "date",
                     "x": 250,
                     "y": 1140,
                     "wires": [
                         [
                             "bb70522cf511b632"
                         ]
                     ]
                 },
                 {
                     "id": "bb70522cf511b632",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "homee",
                             "tot": "flow"
                         },
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 470,
                     "y": 1200,
                     "wires": [
                         [
                             "886c19b24989ed4d",
                             "a76c7c09a28be0d6",
                             "f422b5bcbb03ca87",
                             "5ea7fcec46176042"
                         ]
                     ]
                 },
                 {
                     "id": "886c19b24989ed4d",
                     "type": "template",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "field": "payload",
                     "fieldType": "msg",
                     "format": "html",
                     "syntax": "mustache",
                     "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                     "output": "str",
                     "x": 700,
                     "y": 1200,
                     "wires": [
                         [
                             "e9df565834fa1f46"
                         ]
                     ]
                 },
                 {
                     "id": "ea538b90d2d339e0",
                     "type": "file",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "filename": "filename",
                     "filenameType": "msg",
                     "appendNewline": false,
                     "createDir": false,
                     "overwriteFile": "true",
                     "encoding": "none",
                     "x": 1120,
                     "y": 1200,
                     "wires": [
                         []
                     ]
                 },
                 {
                     "id": "e9df565834fa1f46",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "filename",
                             "pt": "msg",
                             "to": "/home/iobroker/homee-report.html",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 910,
                     "y": 1200,
                     "wires": [
                         [
                             "ea538b90d2d339e0"
                         ]
                     ]
                 },
                 {
                     "id": "a76c7c09a28be0d6",
                     "type": "switch",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "property": "payload.summary",
                     "propertyType": "msg",
                     "rules": [
                         {
                             "t": "neq",
                             "v": "Alle Geräte aktiv",
                             "vt": "str"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 1,
                     "x": 690,
                     "y": 1280,
                     "wires": [
                         [
                             "d8673a8fe1b1dfc2"
                         ]
                     ]
                 },
                 {
                     "id": "48226cba37067157",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1190,
                     "y": 1280,
                     "wires": []
                 },
                 {
                     "id": "d8673a8fe1b1dfc2",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.summary",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 870,
                     "y": 1280,
                     "wires": [
                         [
                             "48226cba37067157"
                         ]
                     ]
                 },
                 {
                     "id": "f99cd78780beb8e7",
                     "type": "ioBroker in",
                     "z": "9c280ddf049b2b4d",
                     "name": "start",
                     "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "outFormat": "MQTT",
                     "x": 230,
                     "y": 1200,
                     "wires": [
                         [
                             "bb70522cf511b632"
                         ]
                     ]
                 },
                 {
                     "id": "f422b5bcbb03ca87",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "Anzahl nicht aktiver Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "payload.inactive.count + payload.updating.count",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 760,
                     "y": 1360,
                     "wires": [
                         [
                             "8b40e4fbe4ba993d"
                         ]
                     ]
                 },
                 {
                     "id": "8b40e4fbe4ba993d",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Nicht aktive Geräte (updating oder inaktiv)",
                     "active": false,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 1100,
                     "y": 1360,
                     "wires": []
                 },
                 {
                     "id": "4bb866d9e36a197e",
                     "type": "change",
                     "z": "9c280ddf049b2b4d",
                     "name": "hole alle Geräte",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "homee",
                             "tot": "global"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 340,
                     "y": 680,
                     "wires": [
                         [
                             "6f4c16eed7166074"
                         ]
                     ]
                 },
                 {
                     "id": "a48d4a225b9f0daa",
                     "type": "inject",
                     "z": "9c280ddf049b2b4d",
                     "name": "trigger",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "true",
                     "payloadType": "bool",
                     "x": 170,
                     "y": 680,
                     "wires": [
                         [
                             "4bb866d9e36a197e"
                         ]
                     ]
                 },
                 {
                     "id": "5ea7fcec46176042",
                     "type": "debug",
                     "z": "9c280ddf049b2b4d",
                     "name": "Zusammenfassung",
                     "active": true,
                     "tosidebar": true,
                     "console": false,
                     "tostatus": false,
                     "complete": "payload",
                     "targetType": "msg",
                     "statusVal": "",
                     "statusType": "auto",
                     "x": 730,
                     "y": 1140,
                     "wires": []
                 },
                 {
                     "id": "bc383b50669e8145",
                     "type": "junction",
                     "z": "9c280ddf049b2b4d",
                     "x": 1160,
                     "y": 680,
                     "wires": [
                         [
                             "43f88f1028d1af0a",
                             "99528e0bbb0f2491",
                             "139fe3d8efb20402"
                         ]
                     ]
                 }
              ]
              

              Wenn Du dann unten den Trigger Report anklickst - dann solltest Du im Debug Fenster folgende Daten erhalten:

              {
                "active": {
                  "count": 44,
                  "names": "Bewegungsmelder Kirsten\nBewegungsmelder Oliver\nLuftreiniger\nNachtlicht TV\nNachtlicht Kirsten\n\nNachtlicht Oliver\nHeizung Wohnzimmer Balkon\nWaschmaschine\nMultimedia\nRauchmelder Flur Dachgeschoss\nRauchmelder Flur Erdgeschoss\nRauchmelder Flur Keller\nFenster Bad\nBalkontür Esszimmer\nBalkontür Wohnzimmer\nFenster Toilette\nFenster Büro Rechts\nFenster Büro Links\nSchlafzimmer Rauchmelder\nRauchmelder Schlafzimmer Keller\nHeizung Büro\nVitrine Wohnzimmer\nTemperatur Weinkühlschrank\nHeizung Wohnzimmer Links\nSchrank Wohnzimmer\nHeizung Esszimmer\nHeizung Toilette\nWeinschrank Wohnzimmer\nThermostat Wohnzimmer\nComputer\nKühlschrank\nGeschirrspüler\nWassersensor Küche\nHeizung Bad\nKlima Wohnzimmer\nKlima Balkon\nKlima Büro\nKlima Schlafzimmer\nKlimaanlage\nTablet\nStehlampe Wohnzimmer\nBar Wohnzimmer\nTemperatur Kühlschrank"
                },
                "inactive": {
                  "count": 1,
                  "names": "Licht Glasvitrine Flur"
                },
                "updating": {
                  "count": 0,
                  "names": "Keine Geräte im Aktualisierungsstatus"
                },
                "summary": "Nicht alle Geräte bereit!"
              }
              
              O Online
              O Online
              Oli
              schrieb am zuletzt editiert von
              #19

              @mickym
              sieht bei mir so aus:
              8530fe35-e32b-4bb1-a6a2-fa6ab5dc4ca2-image.png

              Gruß
              Oliver

              mickymM 2 Antworten Letzte Antwort
              0
              • O Oli

                @mickym
                sieht bei mir so aus:
                8530fe35-e32b-4bb1-a6a2-fa6ab5dc4ca2-image.png

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von
                #20

                @oli Ok - dann lass mich noch eine kleine Modifikation machen. ;)

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                1 Antwort Letzte Antwort
                0
                • O Oli

                  @mickym
                  sieht bei mir so aus:
                  8530fe35-e32b-4bb1-a6a2-fa6ab5dc4ca2-image.png

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #21

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

                  @mickym
                  sieht bei mir so aus:
                  8530fe35-e32b-4bb1-a6a2-fa6ab5dc4ca2-image.png

                  Wobei es jetzt eigentlich bei Dir schon gehen sollte, weil ich Deinen Flow Kontext sehe. ;)

                  so hier nochmal der gesamte Flow:

                  [
                     {
                         "id": "1a49f3e7a72eeb98",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "inaktive Geräte",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1620,
                         "y": 620,
                         "wires": []
                     },
                     {
                         "id": "6f4c16eed7166074",
                         "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)},\"attributes\"|",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 580,
                         "y": 680,
                         "wires": [
                             [
                                 "5c62dbd7992ee76d"
                             ]
                         ]
                     },
                     {
                         "id": "5c62dbd7992ee76d",
                         "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": 790,
                         "y": 680,
                         "wires": [
                             [
                                 "9ed44d883152b608"
                             ]
                         ]
                     },
                     {
                         "id": "99528e0bbb0f2491",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "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": 1340,
                         "y": 680,
                         "wires": [
                             [
                                 "1a49f3e7a72eeb98",
                                 "79c90e3a205144c8",
                                 "852a4580fa93381d"
                             ]
                         ]
                     },
                     {
                         "id": "139fe3d8efb20402",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Alle aktiven Geräte",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload[state = 1]",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "homee.active",
                                 "pt": "flow",
                                 "to": "payload",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1330,
                         "y": 440,
                         "wires": [
                             [
                                 "f8402a89bc3c1103",
                                 "b1946c337b7d80ef",
                                 "d95e18df200eadee"
                             ]
                         ]
                     },
                     {
                         "id": "f8402a89bc3c1103",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "aktive Geräte",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1550,
                         "y": 400,
                         "wires": []
                     },
                     {
                         "id": "43f88f1028d1af0a",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Geräte, die aktualisiert werden",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload[state = 12] ",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "homee.updating",
                                 "pt": "flow",
                                 "to": "payload",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1370,
                         "y": 940,
                         "wires": [
                             [
                                 "ceb8932892417bf3",
                                 "4e3680fd1ba7cc1e",
                                 "21b0ae03da03035d"
                             ]
                         ]
                     },
                     {
                         "id": "ceb8932892417bf3",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Geräte die aktualisiert werden",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1690,
                         "y": 880,
                         "wires": []
                     },
                     {
                         "id": "4e3680fd1ba7cc1e",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1630,
                         "y": 940,
                         "wires": [
                             [
                                 "d629bd7188fa7121"
                             ]
                         ]
                     },
                     {
                         "id": "d629bd7188fa7121",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl Geräte im Aktualisierungsstatus",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1880,
                         "y": 940,
                         "wires": []
                     },
                     {
                         "id": "79c90e3a205144c8",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1610,
                         "y": 680,
                         "wires": [
                             [
                                 "6636132bd627fd5a"
                             ]
                         ]
                     },
                     {
                         "id": "6636132bd627fd5a",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl inaktive Geräte",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1800,
                         "y": 680,
                         "wires": []
                     },
                     {
                         "id": "b1946c337b7d80ef",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1550,
                         "y": 440,
                         "wires": [
                             [
                                 "1871f120aa223a8d"
                             ]
                         ]
                     },
                     {
                         "id": "1871f120aa223a8d",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl aktiver Geräte",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1740,
                         "y": 440,
                         "wires": []
                     },
                     {
                         "id": "d95e18df200eadee",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.phonetic_name",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1540,
                         "y": 500,
                         "wires": [
                             [
                                 "ae2e5ba148bb399a"
                             ]
                         ]
                     },
                     {
                         "id": "ae2e5ba148bb399a",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen aktiver Geräte (Phoenetic Name)",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1820,
                         "y": 540,
                         "wires": []
                     },
                     {
                         "id": "852a4580fa93381d",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.phonetic_name",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1620,
                         "y": 740,
                         "wires": [
                             [
                                 "43f62f9f3bc5bc3d"
                             ]
                         ]
                     },
                     {
                         "id": "43f62f9f3bc5bc3d",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen inaktiver Geräte (Phoenetic Name)",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1910,
                         "y": 740,
                         "wires": []
                     },
                     {
                         "id": "21b0ae03da03035d",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.phonetic_name",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1640,
                         "y": 1000,
                         "wires": [
                             [
                                 "02eb40a627f4e90d"
                             ]
                         ]
                     },
                     {
                         "id": "02eb40a627f4e90d",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Namen aktualisierende Geräte (Phoenetic Name)",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1950,
                         "y": 1000,
                         "wires": []
                     },
                     {
                         "id": "9ed44d883152b608",
                         "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": 1000,
                         "y": 680,
                         "wires": [
                             [
                                 "bc383b50669e8145"
                             ]
                         ]
                     },
                     {
                         "id": "8295d28d57fdb5f9",
                         "type": "inject",
                         "z": "9c280ddf049b2b4d",
                         "name": "Trigger Report",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "",
                         "payloadType": "date",
                         "x": 250,
                         "y": 1140,
                         "wires": [
                             [
                                 "bb70522cf511b632"
                             ]
                         ]
                     },
                     {
                         "id": "bb70522cf511b632",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "homee",
                                 "tot": "flow"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 470,
                         "y": 1200,
                         "wires": [
                             [
                                 "886c19b24989ed4d",
                                 "a76c7c09a28be0d6",
                                 "f422b5bcbb03ca87",
                                 "5ea7fcec46176042"
                             ]
                         ]
                     },
                     {
                         "id": "886c19b24989ed4d",
                         "type": "template",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "field": "payload",
                         "fieldType": "msg",
                         "format": "html",
                         "syntax": "mustache",
                         "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                         "output": "str",
                         "x": 700,
                         "y": 1200,
                         "wires": [
                             [
                                 "e9df565834fa1f46"
                             ]
                         ]
                     },
                     {
                         "id": "ea538b90d2d339e0",
                         "type": "file",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "filename": "filename",
                         "filenameType": "msg",
                         "appendNewline": false,
                         "createDir": false,
                         "overwriteFile": "true",
                         "encoding": "none",
                         "x": 1120,
                         "y": 1200,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "e9df565834fa1f46",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "filename",
                                 "pt": "msg",
                                 "to": "/home/iobroker/homee-report.html",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 910,
                         "y": 1200,
                         "wires": [
                             [
                                 "ea538b90d2d339e0"
                             ]
                         ]
                     },
                     {
                         "id": "a76c7c09a28be0d6",
                         "type": "switch",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "property": "payload.summary",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "neq",
                                 "v": "Alle Geräte aktiv",
                                 "vt": "str"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 690,
                         "y": 1280,
                         "wires": [
                             [
                                 "d8673a8fe1b1dfc2"
                             ]
                         ]
                     },
                     {
                         "id": "48226cba37067157",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1190,
                         "y": 1280,
                         "wires": []
                     },
                     {
                         "id": "d8673a8fe1b1dfc2",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.summary",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 870,
                         "y": 1280,
                         "wires": [
                             [
                                 "48226cba37067157"
                             ]
                         ]
                     },
                     {
                         "id": "f99cd78780beb8e7",
                         "type": "ioBroker in",
                         "z": "9c280ddf049b2b4d",
                         "name": "start",
                         "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                         "payloadType": "value",
                         "onlyack": "",
                         "func": "all",
                         "gap": "",
                         "fireOnStart": "false",
                         "outFormat": "MQTT",
                         "x": 230,
                         "y": 1200,
                         "wires": [
                             [
                                 "bb70522cf511b632"
                             ]
                         ]
                     },
                     {
                         "id": "f422b5bcbb03ca87",
                         "type": "change",
                         "z": "9c280ddf049b2b4d",
                         "name": "Anzahl nicht aktiver Geräte",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.inactive.count + payload.updating.count",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 760,
                         "y": 1360,
                         "wires": [
                             [
                                 "8b40e4fbe4ba993d"
                             ]
                         ]
                     },
                     {
                         "id": "8b40e4fbe4ba993d",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Nicht aktive Geräte (updating oder inaktiv)",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1100,
                         "y": 1360,
                         "wires": []
                     },
                     {
                         "id": "4bb866d9e36a197e",
                         "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": 340,
                         "y": 680,
                         "wires": [
                             [
                                 "6f4c16eed7166074"
                             ]
                         ]
                     },
                     {
                         "id": "a48d4a225b9f0daa",
                         "type": "inject",
                         "z": "9c280ddf049b2b4d",
                         "name": "trigger",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "true",
                         "payloadType": "bool",
                         "x": 170,
                         "y": 680,
                         "wires": [
                             [
                                 "4bb866d9e36a197e"
                             ]
                         ]
                     },
                     {
                         "id": "5ea7fcec46176042",
                         "type": "debug",
                         "z": "9c280ddf049b2b4d",
                         "name": "Zusammenfassung",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 730,
                         "y": 1140,
                         "wires": []
                     },
                     {
                         "id": "bc383b50669e8145",
                         "type": "junction",
                         "z": "9c280ddf049b2b4d",
                         "x": 1160,
                         "y": 680,
                         "wires": [
                             [
                                 "43f88f1028d1af0a",
                                 "99528e0bbb0f2491",
                                 "139fe3d8efb20402"
                             ]
                         ]
                     }
                  ]
                  

                  Im Wesentlichen holen wir nun nur aus dem globalen Kontext die gesamte Geräteliste:
                  7491a10f-9221-446e-ae40-a11f4e7b8252-image.png

                  Ist halt immer bissi schwierig, wenn man sich halt mit den Daten die Realität zusammensimulieren muss, aber sollte nun eigentlich passen.

                  Wie gesagt wir müssen uns ggf. halt nur über den Trigger unterhalten. Vielleicht langt es da auch wenn Du mit deinem VIS Datenpunkt triggerst - da die globale Geräteliste ja bereits erstellt wird.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  O 1 Antwort Letzte Antwort
                  1
                  • mickymM mickym

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

                    @mickym
                    sieht bei mir so aus:
                    8530fe35-e32b-4bb1-a6a2-fa6ab5dc4ca2-image.png

                    Wobei es jetzt eigentlich bei Dir schon gehen sollte, weil ich Deinen Flow Kontext sehe. ;)

                    so hier nochmal der gesamte Flow:

                    [
                       {
                           "id": "1a49f3e7a72eeb98",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "inaktive Geräte",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1620,
                           "y": 620,
                           "wires": []
                       },
                       {
                           "id": "6f4c16eed7166074",
                           "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)},\"attributes\"|",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 580,
                           "y": 680,
                           "wires": [
                               [
                                   "5c62dbd7992ee76d"
                               ]
                           ]
                       },
                       {
                           "id": "5c62dbd7992ee76d",
                           "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": 790,
                           "y": 680,
                           "wires": [
                               [
                                   "9ed44d883152b608"
                               ]
                           ]
                       },
                       {
                           "id": "99528e0bbb0f2491",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "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": 1340,
                           "y": 680,
                           "wires": [
                               [
                                   "1a49f3e7a72eeb98",
                                   "79c90e3a205144c8",
                                   "852a4580fa93381d"
                               ]
                           ]
                       },
                       {
                           "id": "139fe3d8efb20402",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Alle aktiven Geräte",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload[state = 1]",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "homee.active",
                                   "pt": "flow",
                                   "to": "payload",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1330,
                           "y": 440,
                           "wires": [
                               [
                                   "f8402a89bc3c1103",
                                   "b1946c337b7d80ef",
                                   "d95e18df200eadee"
                               ]
                           ]
                       },
                       {
                           "id": "f8402a89bc3c1103",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "aktive Geräte",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1550,
                           "y": 400,
                           "wires": []
                       },
                       {
                           "id": "43f88f1028d1af0a",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Geräte, die aktualisiert werden",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload[state = 12] ",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "homee.updating",
                                   "pt": "flow",
                                   "to": "payload",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1370,
                           "y": 940,
                           "wires": [
                               [
                                   "ceb8932892417bf3",
                                   "4e3680fd1ba7cc1e",
                                   "21b0ae03da03035d"
                               ]
                           ]
                       },
                       {
                           "id": "ceb8932892417bf3",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Geräte die aktualisiert werden",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1690,
                           "y": 880,
                           "wires": []
                       },
                       {
                           "id": "4e3680fd1ba7cc1e",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1630,
                           "y": 940,
                           "wires": [
                               [
                                   "d629bd7188fa7121"
                               ]
                           ]
                       },
                       {
                           "id": "d629bd7188fa7121",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl Geräte im Aktualisierungsstatus",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1880,
                           "y": 940,
                           "wires": []
                       },
                       {
                           "id": "79c90e3a205144c8",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1610,
                           "y": 680,
                           "wires": [
                               [
                                   "6636132bd627fd5a"
                               ]
                           ]
                       },
                       {
                           "id": "6636132bd627fd5a",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl inaktive Geräte",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1800,
                           "y": 680,
                           "wires": []
                       },
                       {
                           "id": "b1946c337b7d80ef",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1550,
                           "y": 440,
                           "wires": [
                               [
                                   "1871f120aa223a8d"
                               ]
                           ]
                       },
                       {
                           "id": "1871f120aa223a8d",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl aktiver Geräte",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1740,
                           "y": 440,
                           "wires": []
                       },
                       {
                           "id": "d95e18df200eadee",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.phonetic_name",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1540,
                           "y": 500,
                           "wires": [
                               [
                                   "ae2e5ba148bb399a"
                               ]
                           ]
                       },
                       {
                           "id": "ae2e5ba148bb399a",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen aktiver Geräte (Phoenetic Name)",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1820,
                           "y": 540,
                           "wires": []
                       },
                       {
                           "id": "852a4580fa93381d",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.phonetic_name",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1620,
                           "y": 740,
                           "wires": [
                               [
                                   "43f62f9f3bc5bc3d"
                               ]
                           ]
                       },
                       {
                           "id": "43f62f9f3bc5bc3d",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen inaktiver Geräte (Phoenetic Name)",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1910,
                           "y": 740,
                           "wires": []
                       },
                       {
                           "id": "21b0ae03da03035d",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.phonetic_name",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1640,
                           "y": 1000,
                           "wires": [
                               [
                                   "02eb40a627f4e90d"
                               ]
                           ]
                       },
                       {
                           "id": "02eb40a627f4e90d",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Namen aktualisierende Geräte (Phoenetic Name)",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1950,
                           "y": 1000,
                           "wires": []
                       },
                       {
                           "id": "9ed44d883152b608",
                           "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": 1000,
                           "y": 680,
                           "wires": [
                               [
                                   "bc383b50669e8145"
                               ]
                           ]
                       },
                       {
                           "id": "8295d28d57fdb5f9",
                           "type": "inject",
                           "z": "9c280ddf049b2b4d",
                           "name": "Trigger Report",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "",
                           "payloadType": "date",
                           "x": 250,
                           "y": 1140,
                           "wires": [
                               [
                                   "bb70522cf511b632"
                               ]
                           ]
                       },
                       {
                           "id": "bb70522cf511b632",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "homee",
                                   "tot": "flow"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 470,
                           "y": 1200,
                           "wires": [
                               [
                                   "886c19b24989ed4d",
                                   "a76c7c09a28be0d6",
                                   "f422b5bcbb03ca87",
                                   "5ea7fcec46176042"
                               ]
                           ]
                       },
                       {
                           "id": "886c19b24989ed4d",
                           "type": "template",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "field": "payload",
                           "fieldType": "msg",
                           "format": "html",
                           "syntax": "mustache",
                           "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                           "output": "str",
                           "x": 700,
                           "y": 1200,
                           "wires": [
                               [
                                   "e9df565834fa1f46"
                               ]
                           ]
                       },
                       {
                           "id": "ea538b90d2d339e0",
                           "type": "file",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "filename": "filename",
                           "filenameType": "msg",
                           "appendNewline": false,
                           "createDir": false,
                           "overwriteFile": "true",
                           "encoding": "none",
                           "x": 1120,
                           "y": 1200,
                           "wires": [
                               []
                           ]
                       },
                       {
                           "id": "e9df565834fa1f46",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "filename",
                                   "pt": "msg",
                                   "to": "/home/iobroker/homee-report.html",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 910,
                           "y": 1200,
                           "wires": [
                               [
                                   "ea538b90d2d339e0"
                               ]
                           ]
                       },
                       {
                           "id": "a76c7c09a28be0d6",
                           "type": "switch",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "property": "payload.summary",
                           "propertyType": "msg",
                           "rules": [
                               {
                                   "t": "neq",
                                   "v": "Alle Geräte aktiv",
                                   "vt": "str"
                               }
                           ],
                           "checkall": "true",
                           "repair": false,
                           "outputs": 1,
                           "x": 690,
                           "y": 1280,
                           "wires": [
                               [
                                   "d8673a8fe1b1dfc2"
                               ]
                           ]
                       },
                       {
                           "id": "48226cba37067157",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1190,
                           "y": 1280,
                           "wires": []
                       },
                       {
                           "id": "d8673a8fe1b1dfc2",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.summary",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 870,
                           "y": 1280,
                           "wires": [
                               [
                                   "48226cba37067157"
                               ]
                           ]
                       },
                       {
                           "id": "f99cd78780beb8e7",
                           "type": "ioBroker in",
                           "z": "9c280ddf049b2b4d",
                           "name": "start",
                           "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                           "payloadType": "value",
                           "onlyack": "",
                           "func": "all",
                           "gap": "",
                           "fireOnStart": "false",
                           "outFormat": "MQTT",
                           "x": 230,
                           "y": 1200,
                           "wires": [
                               [
                                   "bb70522cf511b632"
                               ]
                           ]
                       },
                       {
                           "id": "f422b5bcbb03ca87",
                           "type": "change",
                           "z": "9c280ddf049b2b4d",
                           "name": "Anzahl nicht aktiver Geräte",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "payload.inactive.count + payload.updating.count",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 760,
                           "y": 1360,
                           "wires": [
                               [
                                   "8b40e4fbe4ba993d"
                               ]
                           ]
                       },
                       {
                           "id": "8b40e4fbe4ba993d",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Nicht aktive Geräte (updating oder inaktiv)",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1100,
                           "y": 1360,
                           "wires": []
                       },
                       {
                           "id": "4bb866d9e36a197e",
                           "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": 340,
                           "y": 680,
                           "wires": [
                               [
                                   "6f4c16eed7166074"
                               ]
                           ]
                       },
                       {
                           "id": "a48d4a225b9f0daa",
                           "type": "inject",
                           "z": "9c280ddf049b2b4d",
                           "name": "trigger",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "true",
                           "payloadType": "bool",
                           "x": 170,
                           "y": 680,
                           "wires": [
                               [
                                   "4bb866d9e36a197e"
                               ]
                           ]
                       },
                       {
                           "id": "5ea7fcec46176042",
                           "type": "debug",
                           "z": "9c280ddf049b2b4d",
                           "name": "Zusammenfassung",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 730,
                           "y": 1140,
                           "wires": []
                       },
                       {
                           "id": "bc383b50669e8145",
                           "type": "junction",
                           "z": "9c280ddf049b2b4d",
                           "x": 1160,
                           "y": 680,
                           "wires": [
                               [
                                   "43f88f1028d1af0a",
                                   "99528e0bbb0f2491",
                                   "139fe3d8efb20402"
                               ]
                           ]
                       }
                    ]
                    

                    Im Wesentlichen holen wir nun nur aus dem globalen Kontext die gesamte Geräteliste:
                    7491a10f-9221-446e-ae40-a11f4e7b8252-image.png

                    Ist halt immer bissi schwierig, wenn man sich halt mit den Daten die Realität zusammensimulieren muss, aber sollte nun eigentlich passen.

                    Wie gesagt wir müssen uns ggf. halt nur über den Trigger unterhalten. Vielleicht langt es da auch wenn Du mit deinem VIS Datenpunkt triggerst - da die globale Geräteliste ja bereits erstellt wird.

                    O Online
                    O Online
                    Oli
                    schrieb am zuletzt editiert von
                    #22

                    @mickym
                    super, jetzt funktioniert es :-)

                    Gruß
                    Oliver

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • O Oli

                      @mickym
                      super, jetzt funktioniert es :-)

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #23

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

                      @mickym
                      super, jetzt funktioniert es :-)

                      Sehr gut. Dann probier halt erst mal bissi aus. Ggf. brauchst Du den Report nur wenn Du ihn antriggerst oder keine Ahnung ob der mit jedem Geräteupdate ausgegeben werden muss. Ich würde es nicht als final bezeichnen, aber es ist eine Basis damit Du die Zusammenhänge verstehst und das nun Deinen Bedürfnissen anpassen kannst.

                      Und wie gesagt: Hänge Dir so viele Debug-Nodes dran, wie Du willst, nur so verstehst Du wie die Befehle funktionieren.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      O 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

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

                        @mickym
                        super, jetzt funktioniert es :-)

                        Sehr gut. Dann probier halt erst mal bissi aus. Ggf. brauchst Du den Report nur wenn Du ihn antriggerst oder keine Ahnung ob der mit jedem Geräteupdate ausgegeben werden muss. Ich würde es nicht als final bezeichnen, aber es ist eine Basis damit Du die Zusammenhänge verstehst und das nun Deinen Bedürfnissen anpassen kannst.

                        Und wie gesagt: Hänge Dir so viele Debug-Nodes dran, wie Du willst, nur so verstehst Du wie die Befehle funktionieren.

                        O Online
                        O Online
                        Oli
                        schrieb am zuletzt editiert von
                        #24

                        @mickym
                        den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,
                        den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                        ist das möglich?

                        Gruß
                        Oliver

                        mickymM 2 Antworten Letzte Antwort
                        0
                        • O Oli

                          @mickym
                          den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,
                          den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                          ist das möglich?

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #25

                          @oli Du sollst das ja nicht als finalen Flow betrachten. Momentan kannst Du das mit der trigger Node anstossen. ;)

                          den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,

                          den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                          Das hängt doch von "Dir" ab, was Du triggern lässt und wie Du das ermittelst. ;) Ggf. an der Stelle an der die globale Geräteliste zusammen gezimmert wird.

                          Der Ersteller des ursprünglichen flows hatte das ja als Bedingung - aber das musst Du beurteilen:

                          if((msg.payload.node && ((msg.payload.node.state === 2)||(msg.payload.node.state === 12)))||msg.payload === true)
                          

                          sprich NUR wenn payload eine Eigenschaft node hat oder true ist - und wenn sie eine Eigenschaft node hat - dann nur wenn die Geräte nicht verfügbar sind.

                          Ob dass das ist, was Du willst - weiss ich nicht, aber dann hättest Du die gleiche Situation wie vorher.

                          Dazu baust Du für Deine Trigger folgenden Filter davor:

                          fd7d6d28-7b1d-473e-a79c-1d3b23b22b89-image.png

                          [
                             {
                                 "id": "9c97a2e21b3710d3",
                                 "type": "switch",
                                 "z": "9c280ddf049b2b4d",
                                 "name": "filter trigger",
                                 "property": "(payload.node and (payload.node.state =2 or payload.node.state = 12)) or payload = true",
                                 "propertyType": "jsonata",
                                 "rules": [
                                     {
                                         "t": "true"
                                     }
                                 ],
                                 "checkall": "true",
                                 "repair": false,
                                 "outputs": 1,
                                 "x": 570,
                                 "y": 440,
                                 "wires": [
                                     [
                                         "0f17893e37ac0581"
                                     ]
                                 ]
                             }
                          ]
                          

                          Wie gesagt - das ist der Filter der in der function Node war - wenn es andere Möglichkeiten gibt, dann musst du halt schauen. Ich überlege noch was anderes - aber das ist erst mal das, was bislang Dein jetziger Status mit dem anderen Flow war.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          1 Antwort Letzte Antwort
                          0
                          • O Oli

                            @mickym
                            den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,
                            den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                            ist das möglich?

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #26

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

                            @mickym
                            den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,
                            den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                            ist das möglich?

                            OK - habe ich Dir nun auch gemacht. Also nicht den Filter von dem ursprünglichen Flowersteller nehmen, sondern ich hab jetzt folgendes gebastelt: ;)

                            632bcd7a-a0bc-42dd-8e33-c16671f1633b-image.png

                            • Es wird geprüft, ob es ein Gerät ist
                            • Wenn ja wird es in die Nachrichteneigenschaft device geschoben
                            • Dann wird wieder die komplette Geräteliste geholt
                            • Dann wird das Gerät aus der Geräteliste selektiert und überprüft ob es vorhanden ist bzw. sich der status geändert hat und nur dann fortgesetzt.

                            Statt der Inject Node ein Gerät - kannst dann wieder mit Deinem anderen Flow verlinken:

                            [
                               {
                                   "id": "94fbc6ce08554a92",
                                   "type": "inject",
                                   "z": "9c280ddf049b2b4d",
                                   "name": "Ein Gerät",
                                   "props": [
                                       {
                                           "p": "payload"
                                       }
                                   ],
                                   "repeat": "",
                                   "crontab": "",
                                   "once": false,
                                   "onceDelay": 0.1,
                                   "topic": "",
                                   "payload": "{\"node\":{\"id\":29,\"name\":\"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo\",\"profile\":3014,\"image\":\"default\",\"favorite\":0,\"order\":42,\"protocol\":9,\"routing\":0,\"state\":1,\"state_changed\":1678428037,\"added\":1607519624,\"history\":0,\"cube_type\":8,\"note\":\"\",\"services\":5,\"phonetic_name\":\"Klima%20Wohnzimmer\",\"owner\":1,\"security\":0,\"attributes\":[{\"id\":253,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":20.6,\"target_value\":20.6,\"last_value\":20.5,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":254,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":33,\"target_value\":33,\"last_value\":34,\"unit\":\"%25\",\"step_value\":1,\"editable\":0,\"type\":7,\"state\":1,\"last_changed\":1678515784,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":255,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":5000,\"current_value\":444,\"target_value\":444,\"last_value\":449,\"unit\":\"ppm\",\"step_value\":50,\"editable\":0,\"type\":20,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":256,\"node_id\":29,\"instance\":0,\"minimum\":35,\"maximum\":120,\"current_value\":32,\"target_value\":32,\"last_value\":33,\"unit\":\"dB\",\"step_value\":1,\"editable\":0,\"type\":93,\"state\":1,\"last_changed\":1678515183,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":257,\"node_id\":29,\"instance\":0,\"minimum\":260,\"maximum\":1160,\"current_value\":1003.7,\"target_value\":1003.7,\"last_value\":1003.6,\"unit\":\"mBar\",\"step_value\":5,\"editable\":0,\"type\":94,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":258,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":4,\"current_value\":4,\"target_value\":4,\"last_value\":2,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":0,\"type\":33,\"state\":1,\"last_changed\":1677083197,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\"},{\"id\":475,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":1,\"target_value\":1,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":385,\"state\":1,\"last_changed\":0,\"changed_by\":0,\"changed_by_id\":0,\"based_on\":0,\"data\":\"\",\"name\":\"\"}]}}",
                                   "payloadType": "json",
                                   "x": 120,
                                   "y": 800,
                                   "wires": [
                                       [
                                           "e565ecbc06eb639f"
                                       ]
                                   ]
                               },
                               {
                                   "id": "306e283de06793a5",
                                   "type": "change",
                                   "z": "9c280ddf049b2b4d",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "move",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "device",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 500,
                                   "y": 800,
                                   "wires": [
                                       [
                                           "3fcd14dd3eda98a3"
                                       ]
                                   ]
                               },
                               {
                                   "id": "3fcd14dd3eda98a3",
                                   "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": 720,
                                   "y": 800,
                                   "wires": [
                                       [
                                           "3981f0834f60fe3d"
                                       ]
                                   ]
                               },
                               {
                                   "id": "3981f0834f60fe3d",
                                   "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": 970,
                                   "y": 800,
                                   "wires": [
                                       [
                                           "6f4c16eed7166074"
                                       ]
                                   ]
                               },
                               {
                                   "id": "e565ecbc06eb639f",
                                   "type": "switch",
                                   "z": "9c280ddf049b2b4d",
                                   "name": "verify device",
                                   "property": "payload.node",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "nnull"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 290,
                                   "y": 800,
                                   "wires": [
                                       [
                                           "306e283de06793a5"
                                       ]
                                   ]
                               }
                            ]
                            

                            Nachdem Du die Zusammenfassung automatisch haben willst kannst Du das mit einer Complete Node erledigen, später würde ich das alles wegschmeissen und mit dem Hauptflow zusammenführen.

                            6cd88e02-c174-4d66-b18c-a49d63a6e03e-image.png

                            5e7b0ea8-438a-4fc6-9991-31fc20e04fb9-image.png

                            [
                               {
                                   "id": "615f1d935afd46f7",
                                   "type": "complete",
                                   "z": "9c280ddf049b2b4d",
                                   "name": "",
                                   "scope": [
                                       "99528e0bbb0f2491",
                                       "43f88f1028d1af0a",
                                       "139fe3d8efb20402"
                                   ],
                                   "uncaught": false,
                                   "x": 230,
                                   "y": 1260,
                                   "wires": [
                                       [
                                           "bb70522cf511b632"
                                       ]
                                   ]
                               }
                            ]
                            

                            Falls in der Complete Node nichts ausgewählt ist dann halt diese 3 Change Nodes auswählen
                            c969460a-10a0-47f8-8592-3856edebfae9-image.png

                            Wie gesagt final - wenn Du genug rumexperimentiert hast - würde ich das eh zusammenfassen.

                            2a9880f7-8f4c-4a90-8fa0-a008e39b579a-image.png

                            und hinten raus - den Report willst Du ja auch ganz anders gestalten.

                            1. Konsolidierung:

                            [
                               {
                                   "id": "afaeceb73a81b97a",
                                   "type": "tab",
                                   "label": "Homee 1. Konsoldierung",
                                   "disabled": false,
                                   "info": "",
                                   "env": []
                               },
                               {
                                   "id": "1f31a8a611e8ae62",
                                   "type": "junction",
                                   "z": "afaeceb73a81b97a",
                                   "x": 1100,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "d1362666d0d6498d",
                                           "e5e4c67350b62fb9",
                                           "9c0a0c2ec54309c4"
                                       ]
                                   ]
                               },
                               {
                                   "id": "d6ba83fcbbf8632b",
                                   "type": "junction",
                                   "z": "afaeceb73a81b97a",
                                   "x": 1560,
                                   "y": 260,
                                   "wires": [
                                       [
                                           "4fc32434b1ad9e30"
                                       ]
                                   ]
                               },
                               {
                                   "id": "ba0d73a9ecf905bb",
                                   "type": "junction",
                                   "z": "afaeceb73a81b97a",
                                   "x": 1500,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "d6ba83fcbbf8632b"
                                       ]
                                   ]
                               },
                               {
                                   "id": "ccc13bcc415bf46d",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "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": 520,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "c97f121d294f1458"
                                       ]
                                   ]
                               },
                               {
                                   "id": "c97f121d294f1458",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Alle Geräte",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "payload.nodes",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 730,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "913391f5d68d5666"
                                       ]
                                   ]
                               },
                               {
                                   "id": "e5e4c67350b62fb9",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "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": 1320,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "ba0d73a9ecf905bb"
                                       ]
                                   ]
                               },
                               {
                                   "id": "9c0a0c2ec54309c4",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Alle aktiven Geräte",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "payload[state = 1]",
                                           "tot": "jsonata"
                                       },
                                       {
                                           "t": "set",
                                           "p": "homee.active",
                                           "pt": "flow",
                                           "to": "payload",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 1330,
                                   "y": 340,
                                   "wires": [
                                       [
                                           "ba0d73a9ecf905bb"
                                       ]
                                   ]
                               },
                               {
                                   "id": "d1362666d0d6498d",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Geräte, die aktualisiert werden",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "payload[state = 12] ",
                                           "tot": "jsonata"
                                       },
                                       {
                                           "t": "set",
                                           "p": "homee.updating",
                                           "pt": "flow",
                                           "to": "payload",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 1290,
                                   "y": 460,
                                   "wires": [
                                       [
                                           "ba0d73a9ecf905bb"
                                       ]
                                   ]
                               },
                               {
                                   "id": "913391f5d68d5666",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "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": 940,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "1f31a8a611e8ae62"
                                       ]
                                   ]
                               },
                               {
                                   "id": "bf00496a9f44421a",
                                   "type": "inject",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Trigger Report",
                                   "props": [
                                       {
                                           "p": "payload"
                                       }
                                   ],
                                   "repeat": "",
                                   "crontab": "",
                                   "once": false,
                                   "onceDelay": 0.1,
                                   "topic": "",
                                   "payload": "",
                                   "payloadType": "date",
                                   "x": 1330,
                                   "y": 200,
                                   "wires": [
                                       [
                                           "d6ba83fcbbf8632b"
                                       ]
                                   ]
                               },
                               {
                                   "id": "ee98fce5a9a9aa0a",
                                   "type": "ioBroker in",
                                   "z": "afaeceb73a81b97a",
                                   "name": "start",
                                   "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                                   "payloadType": "value",
                                   "onlyack": "",
                                   "func": "all",
                                   "gap": "",
                                   "fireOnStart": "false",
                                   "outFormat": "MQTT",
                                   "x": 1350,
                                   "y": 260,
                                   "wires": [
                                       [
                                           "d6ba83fcbbf8632b"
                                       ]
                                   ]
                               },
                               {
                                   "id": "f750a4c387a2be4e",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "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": 400,
                                   "wires": [
                                       [
                                           "ccc13bcc415bf46d"
                                       ]
                                   ]
                               },
                               {
                                   "id": "bc3f5ae2440a7bd8",
                                   "type": "inject",
                                   "z": "afaeceb73a81b97a",
                                   "name": "trigger",
                                   "props": [
                                       {
                                           "p": "payload"
                                       }
                                   ],
                                   "repeat": "",
                                   "crontab": "",
                                   "once": false,
                                   "onceDelay": 0.1,
                                   "topic": "",
                                   "payload": "true",
                                   "payloadType": "bool",
                                   "x": 110,
                                   "y": 400,
                                   "wires": [
                                       [
                                           "f750a4c387a2be4e"
                                       ]
                                   ]
                               },
                               {
                                   "id": "cb19c80f141b5ec7",
                                   "type": "inject",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Ein Gerät",
                                   "props": [
                                       {
                                           "p": "payload"
                                       }
                                   ],
                                   "repeat": "",
                                   "crontab": "",
                                   "once": false,
                                   "onceDelay": 0.1,
                                   "topic": "",
                                   "payload": "{\"node\":{\"id\":29,\"name\":\"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo\",\"profile\":3014,\"image\":\"default\",\"favorite\":0,\"order\":42,\"protocol\":9,\"routing\":0,\"state\":1,\"state_changed\":1678428037,\"added\":1607519624,\"history\":0,\"cube_type\":8,\"note\":\"\",\"services\":5,\"phonetic_name\":\"Klima%20Wohnzimmer\",\"owner\":1,\"security\":0,\"attributes\":[{\"id\":253,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":20.6,\"target_value\":20.6,\"last_value\":20.5,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":254,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":33,\"target_value\":33,\"last_value\":34,\"unit\":\"%25\",\"step_value\":1,\"editable\":0,\"type\":7,\"state\":1,\"last_changed\":1678515784,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":255,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":5000,\"current_value\":444,\"target_value\":444,\"last_value\":449,\"unit\":\"ppm\",\"step_value\":50,\"editable\":0,\"type\":20,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":256,\"node_id\":29,\"instance\":0,\"minimum\":35,\"maximum\":120,\"current_value\":32,\"target_value\":32,\"last_value\":33,\"unit\":\"dB\",\"step_value\":1,\"editable\":0,\"type\":93,\"state\":1,\"last_changed\":1678515183,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":257,\"node_id\":29,\"instance\":0,\"minimum\":260,\"maximum\":1160,\"current_value\":1003.7,\"target_value\":1003.7,\"last_value\":1003.6,\"unit\":\"mBar\",\"step_value\":5,\"editable\":0,\"type\":94,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":258,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":4,\"current_value\":4,\"target_value\":4,\"last_value\":2,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":0,\"type\":33,\"state\":1,\"last_changed\":1677083197,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\"},{\"id\":475,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":1,\"target_value\":1,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":385,\"state\":1,\"last_changed\":0,\"changed_by\":0,\"changed_by_id\":0,\"based_on\":0,\"data\":\"\",\"name\":\"\"}]}}",
                                   "payloadType": "json",
                                   "x": 60,
                                   "y": 520,
                                   "wires": [
                                       [
                                           "477f8cdd68a623d6"
                                       ]
                                   ]
                               },
                               {
                                   "id": "ea25ff19366dbd8b",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "move",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "device",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 440,
                                   "y": 520,
                                   "wires": [
                                       [
                                           "13fef03679554dae"
                                       ]
                                   ]
                               },
                               {
                                   "id": "13fef03679554dae",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "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": 660,
                                   "y": 520,
                                   "wires": [
                                       [
                                           "3e5a3f328d92cbec"
                                       ]
                                   ]
                               },
                               {
                                   "id": "3e5a3f328d92cbec",
                                   "type": "switch",
                                   "z": "afaeceb73a81b97a",
                                   "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": 910,
                                   "y": 520,
                                   "wires": [
                                       [
                                           "ccc13bcc415bf46d"
                                       ]
                                   ]
                               },
                               {
                                   "id": "477f8cdd68a623d6",
                                   "type": "switch",
                                   "z": "afaeceb73a81b97a",
                                   "name": "verify device",
                                   "property": "payload.node",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "nnull"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 230,
                                   "y": 520,
                                   "wires": [
                                       [
                                           "ea25ff19366dbd8b"
                                       ]
                                   ]
                               },
                               {
                                   "id": "4fc32434b1ad9e30",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "homee",
                                           "tot": "flow"
                                       },
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                                           "tot": "jsonata"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 1710,
                                   "y": 260,
                                   "wires": [
                                       [
                                           "93b337c8b0c958f0",
                                           "6208fe0589c08c8c",
                                           "91df4ca35b0811b5",
                                           "a9b7cfa0138adb7c"
                                       ]
                                   ]
                               },
                               {
                                   "id": "93b337c8b0c958f0",
                                   "type": "template",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "field": "payload",
                                   "fieldType": "msg",
                                   "format": "html",
                                   "syntax": "mustache",
                                   "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                                   "output": "str",
                                   "x": 1940,
                                   "y": 260,
                                   "wires": [
                                       [
                                           "bd020f5de81b6984"
                                       ]
                                   ]
                               },
                               {
                                   "id": "1b3a14e37e06a753",
                                   "type": "file",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "filename": "filename",
                                   "filenameType": "msg",
                                   "appendNewline": false,
                                   "createDir": false,
                                   "overwriteFile": "true",
                                   "encoding": "none",
                                   "x": 2360,
                                   "y": 260,
                                   "wires": [
                                       []
                                   ]
                               },
                               {
                                   "id": "bd020f5de81b6984",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "filename",
                                           "pt": "msg",
                                           "to": "/home/iobroker/homee-report.html",
                                           "tot": "str"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 2150,
                                   "y": 260,
                                   "wires": [
                                       [
                                           "1b3a14e37e06a753"
                                       ]
                                   ]
                               },
                               {
                                   "id": "6208fe0589c08c8c",
                                   "type": "switch",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "property": "payload.summary",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "neq",
                                           "v": "Alle Geräte aktiv",
                                           "vt": "str"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 1930,
                                   "y": 340,
                                   "wires": [
                                       [
                                           "e7ee2a2337e50af1"
                                       ]
                                   ]
                               },
                               {
                                   "id": "f533e9122ec7d98d",
                                   "type": "debug",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                                   "active": false,
                                   "tosidebar": true,
                                   "console": false,
                                   "tostatus": false,
                                   "complete": "payload",
                                   "targetType": "msg",
                                   "statusVal": "",
                                   "statusType": "auto",
                                   "x": 2430,
                                   "y": 340,
                                   "wires": []
                               },
                               {
                                   "id": "e7ee2a2337e50af1",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "payload.summary",
                                           "tot": "msg"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 2110,
                                   "y": 340,
                                   "wires": [
                                       [
                                           "f533e9122ec7d98d"
                                       ]
                                   ]
                               },
                               {
                                   "id": "91df4ca35b0811b5",
                                   "type": "change",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Anzahl nicht aktiver Geräte",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "payload.inactive.count + payload.updating.count",
                                           "tot": "jsonata"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 2000,
                                   "y": 420,
                                   "wires": [
                                       [
                                           "49ce4151b0046769"
                                       ]
                                   ]
                               },
                               {
                                   "id": "49ce4151b0046769",
                                   "type": "debug",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Nicht aktive Geräte (updating oder inaktiv)",
                                   "active": false,
                                   "tosidebar": true,
                                   "console": false,
                                   "tostatus": false,
                                   "complete": "payload",
                                   "targetType": "msg",
                                   "statusVal": "",
                                   "statusType": "auto",
                                   "x": 2340,
                                   "y": 420,
                                   "wires": []
                               },
                               {
                                   "id": "a9b7cfa0138adb7c",
                                   "type": "debug",
                                   "z": "afaeceb73a81b97a",
                                   "name": "Zusammenfassung",
                                   "active": true,
                                   "tosidebar": true,
                                   "console": false,
                                   "tostatus": false,
                                   "complete": "payload",
                                   "targetType": "msg",
                                   "statusVal": "",
                                   "statusType": "auto",
                                   "x": 1970,
                                   "y": 200,
                                   "wires": []
                               }
                            ]
                            

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            O 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

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

                              @mickym
                              den Report bräuchte ich eigentlich nur, wenn sich am Gerätestatus was ändert,
                              den oberen bräuchte ich ebenfalls nur wenn sich am Gerätestatus was ändert, oder ein neues gerät hinzukommt

                              ist das möglich?

                              OK - habe ich Dir nun auch gemacht. Also nicht den Filter von dem ursprünglichen Flowersteller nehmen, sondern ich hab jetzt folgendes gebastelt: ;)

                              632bcd7a-a0bc-42dd-8e33-c16671f1633b-image.png

                              • Es wird geprüft, ob es ein Gerät ist
                              • Wenn ja wird es in die Nachrichteneigenschaft device geschoben
                              • Dann wird wieder die komplette Geräteliste geholt
                              • Dann wird das Gerät aus der Geräteliste selektiert und überprüft ob es vorhanden ist bzw. sich der status geändert hat und nur dann fortgesetzt.

                              Statt der Inject Node ein Gerät - kannst dann wieder mit Deinem anderen Flow verlinken:

                              [
                                 {
                                     "id": "94fbc6ce08554a92",
                                     "type": "inject",
                                     "z": "9c280ddf049b2b4d",
                                     "name": "Ein Gerät",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "{\"node\":{\"id\":29,\"name\":\"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo\",\"profile\":3014,\"image\":\"default\",\"favorite\":0,\"order\":42,\"protocol\":9,\"routing\":0,\"state\":1,\"state_changed\":1678428037,\"added\":1607519624,\"history\":0,\"cube_type\":8,\"note\":\"\",\"services\":5,\"phonetic_name\":\"Klima%20Wohnzimmer\",\"owner\":1,\"security\":0,\"attributes\":[{\"id\":253,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":20.6,\"target_value\":20.6,\"last_value\":20.5,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":254,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":33,\"target_value\":33,\"last_value\":34,\"unit\":\"%25\",\"step_value\":1,\"editable\":0,\"type\":7,\"state\":1,\"last_changed\":1678515784,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":255,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":5000,\"current_value\":444,\"target_value\":444,\"last_value\":449,\"unit\":\"ppm\",\"step_value\":50,\"editable\":0,\"type\":20,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":256,\"node_id\":29,\"instance\":0,\"minimum\":35,\"maximum\":120,\"current_value\":32,\"target_value\":32,\"last_value\":33,\"unit\":\"dB\",\"step_value\":1,\"editable\":0,\"type\":93,\"state\":1,\"last_changed\":1678515183,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":257,\"node_id\":29,\"instance\":0,\"minimum\":260,\"maximum\":1160,\"current_value\":1003.7,\"target_value\":1003.7,\"last_value\":1003.6,\"unit\":\"mBar\",\"step_value\":5,\"editable\":0,\"type\":94,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":258,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":4,\"current_value\":4,\"target_value\":4,\"last_value\":2,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":0,\"type\":33,\"state\":1,\"last_changed\":1677083197,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\"},{\"id\":475,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":1,\"target_value\":1,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":385,\"state\":1,\"last_changed\":0,\"changed_by\":0,\"changed_by_id\":0,\"based_on\":0,\"data\":\"\",\"name\":\"\"}]}}",
                                     "payloadType": "json",
                                     "x": 120,
                                     "y": 800,
                                     "wires": [
                                         [
                                             "e565ecbc06eb639f"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "306e283de06793a5",
                                     "type": "change",
                                     "z": "9c280ddf049b2b4d",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "move",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "device",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 500,
                                     "y": 800,
                                     "wires": [
                                         [
                                             "3fcd14dd3eda98a3"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "3fcd14dd3eda98a3",
                                     "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": 720,
                                     "y": 800,
                                     "wires": [
                                         [
                                             "3981f0834f60fe3d"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "3981f0834f60fe3d",
                                     "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": 970,
                                     "y": 800,
                                     "wires": [
                                         [
                                             "6f4c16eed7166074"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "e565ecbc06eb639f",
                                     "type": "switch",
                                     "z": "9c280ddf049b2b4d",
                                     "name": "verify device",
                                     "property": "payload.node",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "nnull"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 290,
                                     "y": 800,
                                     "wires": [
                                         [
                                             "306e283de06793a5"
                                         ]
                                     ]
                                 }
                              ]
                              

                              Nachdem Du die Zusammenfassung automatisch haben willst kannst Du das mit einer Complete Node erledigen, später würde ich das alles wegschmeissen und mit dem Hauptflow zusammenführen.

                              6cd88e02-c174-4d66-b18c-a49d63a6e03e-image.png

                              5e7b0ea8-438a-4fc6-9991-31fc20e04fb9-image.png

                              [
                                 {
                                     "id": "615f1d935afd46f7",
                                     "type": "complete",
                                     "z": "9c280ddf049b2b4d",
                                     "name": "",
                                     "scope": [
                                         "99528e0bbb0f2491",
                                         "43f88f1028d1af0a",
                                         "139fe3d8efb20402"
                                     ],
                                     "uncaught": false,
                                     "x": 230,
                                     "y": 1260,
                                     "wires": [
                                         [
                                             "bb70522cf511b632"
                                         ]
                                     ]
                                 }
                              ]
                              

                              Falls in der Complete Node nichts ausgewählt ist dann halt diese 3 Change Nodes auswählen
                              c969460a-10a0-47f8-8592-3856edebfae9-image.png

                              Wie gesagt final - wenn Du genug rumexperimentiert hast - würde ich das eh zusammenfassen.

                              2a9880f7-8f4c-4a90-8fa0-a008e39b579a-image.png

                              und hinten raus - den Report willst Du ja auch ganz anders gestalten.

                              1. Konsolidierung:

                              [
                                 {
                                     "id": "afaeceb73a81b97a",
                                     "type": "tab",
                                     "label": "Homee 1. Konsoldierung",
                                     "disabled": false,
                                     "info": "",
                                     "env": []
                                 },
                                 {
                                     "id": "1f31a8a611e8ae62",
                                     "type": "junction",
                                     "z": "afaeceb73a81b97a",
                                     "x": 1100,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "d1362666d0d6498d",
                                             "e5e4c67350b62fb9",
                                             "9c0a0c2ec54309c4"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "d6ba83fcbbf8632b",
                                     "type": "junction",
                                     "z": "afaeceb73a81b97a",
                                     "x": 1560,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "4fc32434b1ad9e30"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "ba0d73a9ecf905bb",
                                     "type": "junction",
                                     "z": "afaeceb73a81b97a",
                                     "x": 1500,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "d6ba83fcbbf8632b"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "ccc13bcc415bf46d",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "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": 520,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "c97f121d294f1458"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "c97f121d294f1458",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Alle Geräte",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload.nodes",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 730,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "913391f5d68d5666"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "e5e4c67350b62fb9",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "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": 1320,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "ba0d73a9ecf905bb"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "9c0a0c2ec54309c4",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Alle aktiven Geräte",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload[state = 1]",
                                             "tot": "jsonata"
                                         },
                                         {
                                             "t": "set",
                                             "p": "homee.active",
                                             "pt": "flow",
                                             "to": "payload",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 1330,
                                     "y": 340,
                                     "wires": [
                                         [
                                             "ba0d73a9ecf905bb"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "d1362666d0d6498d",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Geräte, die aktualisiert werden",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload[state = 12] ",
                                             "tot": "jsonata"
                                         },
                                         {
                                             "t": "set",
                                             "p": "homee.updating",
                                             "pt": "flow",
                                             "to": "payload",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 1290,
                                     "y": 460,
                                     "wires": [
                                         [
                                             "ba0d73a9ecf905bb"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "913391f5d68d5666",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "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": 940,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "1f31a8a611e8ae62"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "bf00496a9f44421a",
                                     "type": "inject",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Trigger Report",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "",
                                     "payloadType": "date",
                                     "x": 1330,
                                     "y": 200,
                                     "wires": [
                                         [
                                             "d6ba83fcbbf8632b"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "ee98fce5a9a9aa0a",
                                     "type": "ioBroker in",
                                     "z": "afaeceb73a81b97a",
                                     "name": "start",
                                     "topic": "0_userdata.0.System.homee.StartGeräteinfo",
                                     "payloadType": "value",
                                     "onlyack": "",
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "false",
                                     "outFormat": "MQTT",
                                     "x": 1350,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "d6ba83fcbbf8632b"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "f750a4c387a2be4e",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "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": 400,
                                     "wires": [
                                         [
                                             "ccc13bcc415bf46d"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "bc3f5ae2440a7bd8",
                                     "type": "inject",
                                     "z": "afaeceb73a81b97a",
                                     "name": "trigger",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "true",
                                     "payloadType": "bool",
                                     "x": 110,
                                     "y": 400,
                                     "wires": [
                                         [
                                             "f750a4c387a2be4e"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "cb19c80f141b5ec7",
                                     "type": "inject",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Ein Gerät",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "{\"node\":{\"id\":29,\"name\":\"EG%20%2F%20Wohnzimmer%20%2F%20Netatmo\",\"profile\":3014,\"image\":\"default\",\"favorite\":0,\"order\":42,\"protocol\":9,\"routing\":0,\"state\":1,\"state_changed\":1678428037,\"added\":1607519624,\"history\":0,\"cube_type\":8,\"note\":\"\",\"services\":5,\"phonetic_name\":\"Klima%20Wohnzimmer\",\"owner\":1,\"security\":0,\"attributes\":[{\"id\":253,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":50,\"current_value\":20.6,\"target_value\":20.6,\"last_value\":20.5,\"unit\":\"%C2%B0C\",\"step_value\":0.5,\"editable\":0,\"type\":5,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":254,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":100,\"current_value\":33,\"target_value\":33,\"last_value\":34,\"unit\":\"%25\",\"step_value\":1,\"editable\":0,\"type\":7,\"state\":1,\"last_changed\":1678515784,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":255,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":5000,\"current_value\":444,\"target_value\":444,\"last_value\":449,\"unit\":\"ppm\",\"step_value\":50,\"editable\":0,\"type\":20,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":256,\"node_id\":29,\"instance\":0,\"minimum\":35,\"maximum\":120,\"current_value\":32,\"target_value\":32,\"last_value\":33,\"unit\":\"dB\",\"step_value\":1,\"editable\":0,\"type\":93,\"state\":1,\"last_changed\":1678515183,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":257,\"node_id\":29,\"instance\":0,\"minimum\":260,\"maximum\":1160,\"current_value\":1003.7,\"target_value\":1003.7,\"last_value\":1003.6,\"unit\":\"mBar\",\"step_value\":5,\"editable\":0,\"type\":94,\"state\":1,\"last_changed\":1678519389,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\",\"options\":{\"history\":{\"day\":1,\"week\":26,\"month\":6}}},{\"id\":258,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":4,\"current_value\":4,\"target_value\":4,\"last_value\":2,\"unit\":\"n%2Fa\",\"step_value\":1,\"editable\":0,\"type\":33,\"state\":1,\"last_changed\":1677083197,\"changed_by\":1,\"changed_by_id\":0,\"based_on\":4,\"data\":\"\",\"name\":\"\"},{\"id\":475,\"node_id\":29,\"instance\":0,\"minimum\":0,\"maximum\":1,\"current_value\":1,\"target_value\":1,\"last_value\":0,\"unit\":\"\",\"step_value\":1,\"editable\":1,\"type\":385,\"state\":1,\"last_changed\":0,\"changed_by\":0,\"changed_by_id\":0,\"based_on\":0,\"data\":\"\",\"name\":\"\"}]}}",
                                     "payloadType": "json",
                                     "x": 60,
                                     "y": 520,
                                     "wires": [
                                         [
                                             "477f8cdd68a623d6"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "ea25ff19366dbd8b",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "move",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "device",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 440,
                                     "y": 520,
                                     "wires": [
                                         [
                                             "13fef03679554dae"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "13fef03679554dae",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "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": 660,
                                     "y": 520,
                                     "wires": [
                                         [
                                             "3e5a3f328d92cbec"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "3e5a3f328d92cbec",
                                     "type": "switch",
                                     "z": "afaeceb73a81b97a",
                                     "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": 910,
                                     "y": 520,
                                     "wires": [
                                         [
                                             "ccc13bcc415bf46d"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "477f8cdd68a623d6",
                                     "type": "switch",
                                     "z": "afaeceb73a81b97a",
                                     "name": "verify device",
                                     "property": "payload.node",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "nnull"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 230,
                                     "y": 520,
                                     "wires": [
                                         [
                                             "ea25ff19366dbd8b"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "4fc32434b1ad9e30",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "homee",
                                             "tot": "flow"
                                         },
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "{\t   \"active\" : {\t       \"count\": payload.active ? $count(payload.active): 0,\t       \"names\" :  payload.active ?  $join(payload.active.phonetic_name,\"\\n\") : \"Keine aktiven Geräte vorhanden\"\t   },\t   \"inactive\" : {\t       \"count\": payload.inactive ? $count(payload.inactive): 0,\t        \"names\" :  payload.inactive ?  $join(payload.inactive.phonetic_name,\"\\n\") : \"Keine inaktiven Geräte vorhanden\"\t   },\t   \"updating\" : {\t       \"count\": payload.updating ? $count(payload.inactive): 0,\t        \"names\" :  payload.updating ?  $join(payload.updating.phonetic_name,\"\\n\") : \"Keine Geräte im Aktualisierungsstatus\"\t   },\t   \"summary\" : payload.updating or payload.inactive ? \"Nicht alle Geräte bereit!\" : \"Alle Geräte aktiv\"\t}",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 1710,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "93b337c8b0c958f0",
                                             "6208fe0589c08c8c",
                                             "91df4ca35b0811b5",
                                             "a9b7cfa0138adb7c"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "93b337c8b0c958f0",
                                     "type": "template",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "field": "payload",
                                     "fieldType": "msg",
                                     "format": "html",
                                     "syntax": "mustache",
                                     "template": "<!DOCTYPE html>\n<html>\n\n<body>\n<h1>Status der Geräte:</h1>\n\n<h3>aktive Geräte: {{payload.active.count}}\n<pre>{{payload.active.names}}</pre>\n\n<h3>inaktive Geräte: {{payload.inactive.count}}\n<pre>{{payload.inactive.names}}</pre>\n\n<h3>aktualisierende Geräte: {{payload.updating.count}}\n<pre>{{payload.updating.names}}</pre>\n\n<h3>{{payload.summary}}</h3>\n</body>\n</html>",
                                     "output": "str",
                                     "x": 1940,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "bd020f5de81b6984"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "1b3a14e37e06a753",
                                     "type": "file",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "filename": "filename",
                                     "filenameType": "msg",
                                     "appendNewline": false,
                                     "createDir": false,
                                     "overwriteFile": "true",
                                     "encoding": "none",
                                     "x": 2360,
                                     "y": 260,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "bd020f5de81b6984",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "filename",
                                             "pt": "msg",
                                             "to": "/home/iobroker/homee-report.html",
                                             "tot": "str"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 2150,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "1b3a14e37e06a753"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "6208fe0589c08c8c",
                                     "type": "switch",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "property": "payload.summary",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "neq",
                                             "v": "Alle Geräte aktiv",
                                             "vt": "str"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 1930,
                                     "y": 340,
                                     "wires": [
                                         [
                                             "e7ee2a2337e50af1"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "f533e9122ec7d98d",
                                     "type": "debug",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Warnung ausgeben - wenn nicht alle Geräte aktiv",
                                     "active": false,
                                     "tosidebar": true,
                                     "console": false,
                                     "tostatus": false,
                                     "complete": "payload",
                                     "targetType": "msg",
                                     "statusVal": "",
                                     "statusType": "auto",
                                     "x": 2430,
                                     "y": 340,
                                     "wires": []
                                 },
                                 {
                                     "id": "e7ee2a2337e50af1",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload.summary",
                                             "tot": "msg"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 2110,
                                     "y": 340,
                                     "wires": [
                                         [
                                             "f533e9122ec7d98d"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "91df4ca35b0811b5",
                                     "type": "change",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Anzahl nicht aktiver Geräte",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "payload.inactive.count + payload.updating.count",
                                             "tot": "jsonata"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 2000,
                                     "y": 420,
                                     "wires": [
                                         [
                                             "49ce4151b0046769"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "49ce4151b0046769",
                                     "type": "debug",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Nicht aktive Geräte (updating oder inaktiv)",
                                     "active": false,
                                     "tosidebar": true,
                                     "console": false,
                                     "tostatus": false,
                                     "complete": "payload",
                                     "targetType": "msg",
                                     "statusVal": "",
                                     "statusType": "auto",
                                     "x": 2340,
                                     "y": 420,
                                     "wires": []
                                 },
                                 {
                                     "id": "a9b7cfa0138adb7c",
                                     "type": "debug",
                                     "z": "afaeceb73a81b97a",
                                     "name": "Zusammenfassung",
                                     "active": true,
                                     "tosidebar": true,
                                     "console": false,
                                     "tostatus": false,
                                     "complete": "payload",
                                     "targetType": "msg",
                                     "statusVal": "",
                                     "statusType": "auto",
                                     "x": 1970,
                                     "y": 200,
                                     "wires": []
                                 }
                              ]
                              

                              O Online
                              O Online
                              Oli
                              schrieb am zuletzt editiert von
                              #27

                              @mickym

                              oh, oh, dass ging mir jetzt alles zu schnell, also nochmal zum mitschreiben für dumme wie mich.

                              1. den unteren Teil des ersten Flow kann ich löschen und dafür den neuen Flow Konsolidierung importieren?
                              2. Muss ich am "Ein Gerät" noch etwas ändern oder nachtragen?
                              3. habe ich nicht begriffe, was "Ein Gerät" bewirkt?

                              Gruß
                              Oliver

                              mickymM 2 Antworten Letzte Antwort
                              0
                              • O Oli

                                @mickym

                                oh, oh, dass ging mir jetzt alles zu schnell, also nochmal zum mitschreiben für dumme wie mich.

                                1. den unteren Teil des ersten Flow kann ich löschen und dafür den neuen Flow Konsolidierung importieren?
                                2. Muss ich am "Ein Gerät" noch etwas ändern oder nachtragen?
                                3. habe ich nicht begriffe, was "Ein Gerät" bewirkt?
                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #28

                                @oli Ja ich dachte eigentlich Du willst erst mal lernen - deswegen lass das halt mit der Konsolidierung weg.

                                Anstelle der Inject Node kommt der Link aus deinem anderen Flow. Ich muss ja immer simulieren. Ich habe also nur das Geräte mit der ID29 zum Testen genommen. Also anstelle der Inject Node - kannst Du deinen Flow anschliessen, der die Geräte liefert.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                1 Antwort Letzte Antwort
                                0
                                • O Oli

                                  @mickym

                                  oh, oh, dass ging mir jetzt alles zu schnell, also nochmal zum mitschreiben für dumme wie mich.

                                  1. den unteren Teil des ersten Flow kann ich löschen und dafür den neuen Flow Konsolidierung importieren?
                                  2. Muss ich am "Ein Gerät" noch etwas ändern oder nachtragen?
                                  3. habe ich nicht begriffe, was "Ein Gerät" bewirkt?
                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #29

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

                                  den unteren Teil des ersten Flow kann ich löschen und dafür den neuen Flow Konsolidierung importieren?

                                  Den importierst Du erst - wenn Du genügend geübt hast. Es geht mir nicht darum, dass Du jetzt den finalen Flow hast. Ich dachte Du willst das erst mal verstehen????

                                  Lass das mit der Konsolidierung erst mal weg. Den kannst ja später immer noch importieren.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  O 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

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

                                    den unteren Teil des ersten Flow kann ich löschen und dafür den neuen Flow Konsolidierung importieren?

                                    Den importierst Du erst - wenn Du genügend geübt hast. Es geht mir nicht darum, dass Du jetzt den finalen Flow hast. Ich dachte Du willst das erst mal verstehen????

                                    Lass das mit der Konsolidierung erst mal weg. Den kannst ja später immer noch importieren.

                                    O Online
                                    O Online
                                    Oli
                                    schrieb am zuletzt editiert von
                                    #30

                                    @mickym
                                    deswegen frage ich ja nach, weil ich es verstehen will

                                    Gruß
                                    Oliver

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • O Oli

                                      @mickym
                                      deswegen frage ich ja nach, weil ich es verstehen will

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von mickym
                                      #31

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

                                      @mickym
                                      deswegen frage ich ja nach, weil ich es verstehen will

                                      Gut also Konsolidierungsflow für später aufheben. ;) - Die anderen Nodes kannst importieren - und statt "Ein Gerät" - schließt Du Deinen anderen Flow an, der Dir Updates von Deinen Geräten liefert.

                                      Im Prinzip brauchst Du auch das manuelle Antriggern dann nicht mehr. Das ist nur damit Du sehen kannst, wie Du hinten mit JSONATA verschiedene Informationen aus deinen Node-Objekten holst. (Ich habe ja nur mal den phonetischen_name herausgeholt).

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      O 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

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

                                        @mickym
                                        deswegen frage ich ja nach, weil ich es verstehen will

                                        Gut also Konsolidierungsflow für später aufheben. ;) - Die anderen Nodes kannst importieren - und statt "Ein Gerät" - schließt Du Deinen anderen Flow an, der Dir Updates von Deinen Geräten liefert.

                                        Im Prinzip brauchst Du auch das manuelle Antriggern dann nicht mehr. Das ist nur damit Du sehen kannst, wie Du hinten mit JSONATA verschiedene Informationen aus deinen Node-Objekten holst. (Ich habe ja nur mal den phonetischen_name herausgeholt).

                                        O Online
                                        O Online
                                        Oli
                                        schrieb am zuletzt editiert von
                                        #32

                                        @mickym

                                        so, jetzt habe ich mal mit dem oberen Flow etwas gespielt und mir zusätzliche Daten geholt und schon kommt die nächste Frage.

                                        Wie erstelle ich mir daraus ein Json, was ich in der VIS in einem Tabellen-Widget anzeigen lassen kann?
                                        Folgende Spalten würde ich benötigen:
                                        Name = Gerätename
                                        Gerätetyp = Gerätetyp
                                        Protokoll = Funkprotokoll (ZWave, ZigBee usw)
                                        Gerätestatus = Gerätestatus (verfügbar, .....)

                                        Die Daten werden im Flow alle schon abgefragt.

                                        [
                                           {
                                               "id": "b8ad42061a6d5f2e",
                                               "type": "tab",
                                               "label": "Flow 2",
                                               "disabled": false,
                                               "info": "",
                                               "env": []
                                           },
                                           {
                                               "id": "bc383b50669e8145",
                                               "type": "junction",
                                               "z": "b8ad42061a6d5f2e",
                                               "x": 1120,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "43f88f1028d1af0a",
                                                       "99528e0bbb0f2491",
                                                       "139fe3d8efb20402",
                                                       "afc0236a6dc34b6c",
                                                       "3baf2b45228f3514",
                                                       "61efee2e1293f2f8",
                                                       "18ed2cb5de54b4e1"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1620,
                                               "y": 320,
                                               "wires": []
                                           },
                                           {
                                               "id": "6f4c16eed7166074",
                                               "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": 540,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "5c62dbd7992ee76d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "5c62dbd7992ee76d",
                                               "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": 750,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "9ed44d883152b608"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1300,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "1a49f3e7a72eeb98",
                                                       "79c90e3a205144c8",
                                                       "852a4580fa93381d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "139fe3d8efb20402",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Alle aktiven Geräte",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload[state = 1]",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "homee.active",
                                                       "pt": "flow",
                                                       "to": "payload",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1290,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "f8402a89bc3c1103",
                                                       "b1946c337b7d80ef",
                                                       "d95e18df200eadee"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "f8402a89bc3c1103",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "aktive Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1610,
                                               "y": 120,
                                               "wires": []
                                           },
                                           {
                                               "id": "43f88f1028d1af0a",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Geräte, die aktualisiert werden",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload[state = 12] ",
                                                       "tot": "jsonata"
                                                   },
                                                   {
                                                       "t": "set",
                                                       "p": "homee.updating",
                                                       "pt": "flow",
                                                       "to": "payload",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1330,
                                               "y": 580,
                                               "wires": [
                                                   [
                                                       "ceb8932892417bf3",
                                                       "4e3680fd1ba7cc1e",
                                                       "21b0ae03da03035d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "ceb8932892417bf3",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Geräte die aktualisiert werden",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1670,
                                               "y": 520,
                                               "wires": []
                                           },
                                           {
                                               "id": "4e3680fd1ba7cc1e",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1590,
                                               "y": 580,
                                               "wires": [
                                                   [
                                                       "d629bd7188fa7121"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "d629bd7188fa7121",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl Geräte im Aktualisierungsstatus",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1840,
                                               "y": 580,
                                               "wires": []
                                           },
                                           {
                                               "id": "79c90e3a205144c8",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1590,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "6636132bd627fd5a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1880,
                                               "y": 380,
                                               "wires": []
                                           },
                                           {
                                               "id": "b1946c337b7d80ef",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload ? $count(payload) : \"Keine Geräte im Aktualisierungsstatus\"",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1590,
                                               "y": 180,
                                               "wires": [
                                                   [
                                                       "1871f120aa223a8d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1871f120aa223a8d",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl aktiver Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1800,
                                               "y": 180,
                                               "wires": []
                                           },
                                           {
                                               "id": "d95e18df200eadee",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 240,
                                               "wires": [
                                                   [
                                                       "ae2e5ba148bb399a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "ae2e5ba148bb399a",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen aktiver Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1800,
                                               "y": 240,
                                               "wires": []
                                           },
                                           {
                                               "id": "852a4580fa93381d",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 440,
                                               "wires": [
                                                   [
                                                       "43f62f9f3bc5bc3d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "43f62f9f3bc5bc3d",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen inaktiver Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1810,
                                               "y": 440,
                                               "wires": []
                                           },
                                           {
                                               "id": "21b0ae03da03035d",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 640,
                                               "wires": [
                                                   [
                                                       "02eb40a627f4e90d"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "02eb40a627f4e90d",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen aktualisierende Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1850,
                                               "y": 640,
                                               "wires": []
                                           },
                                           {
                                               "id": "9ed44d883152b608",
                                               "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": 960,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "bc383b50669e8145"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "4bb866d9e36a197e",
                                               "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": 300,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "6f4c16eed7166074"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "a48d4a225b9f0daa",
                                               "type": "inject",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "trigger",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "",
                                               "payload": "true",
                                               "payloadType": "bool",
                                               "x": 130,
                                               "y": 380,
                                               "wires": [
                                                   [
                                                       "4bb866d9e36a197e"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "afc0236a6dc34b6c",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Alle ZWave 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": 1290,
                                               "y": 780,
                                               "wires": [
                                                   [
                                                       "3f5d54fa1161d7c3",
                                                       "fb541319f5065b26",
                                                       "08ef2be1a63734c5",
                                                       "94e00d809404b4a6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3f5d54fa1161d7c3",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Geräte mit ZWave",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1630,
                                               "y": 720,
                                               "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": 1590,
                                               "y": 780,
                                               "wires": [
                                                   [
                                                       "8b5f07919d5020d8",
                                                       "27bd5b6a0a11f64b"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "8b5f07919d5020d8",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl Geräte ZWave",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1900,
                                               "y": 720,
                                               "wires": []
                                           },
                                           {
                                               "id": "08ef2be1a63734c5",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 840,
                                               "wires": [
                                                   [
                                                       "3a0ad671056f0682"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3a0ad671056f0682",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen ZWave Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1820,
                                               "y": 840,
                                               "wires": []
                                           },
                                           {
                                               "id": "27bd5b6a0a11f64b",
                                               "type": "ioBroker out",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Anzahl ZWave Geräte",
                                               "topic": "0_userdata.0.System.homee.NichtVerfügbar",
                                               "ack": "true",
                                               "autoCreate": "true",
                                               "stateName": "0_userdata.0.System.homee.ZWave",
                                               "role": "",
                                               "payloadType": "number",
                                               "readonly": "false",
                                               "stateUnit": "",
                                               "stateMin": "",
                                               "stateMax": "",
                                               "x": 1840,
                                               "y": 780,
                                               "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": 1290,
                                               "y": 1040,
                                               "wires": [
                                                   [
                                                       "b0d34d08416e6c10",
                                                       "adb5799593bc282a",
                                                       "251973e2ae0fef12",
                                                       "82e4d47fe4eafc92"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1630,
                                               "y": 980,
                                               "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": 1590,
                                               "y": 1040,
                                               "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": 1900,
                                               "y": 980,
                                               "wires": []
                                           },
                                           {
                                               "id": "251973e2ae0fef12",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1100,
                                               "wires": [
                                                   [
                                                       "382b28ab778199d6"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "382b28ab778199d6",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen ZigBee Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1820,
                                               "y": 1100,
                                               "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": 1840,
                                               "y": 1040,
                                               "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": 500,
                                               "y": 520,
                                               "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": 720,
                                               "y": 520,
                                               "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": 970,
                                               "y": 520,
                                               "wires": [
                                                   [
                                                       "6f4c16eed7166074"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e565ecbc06eb639f",
                                               "type": "switch",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "verify device",
                                               "property": "payload.node",
                                               "propertyType": "msg",
                                               "rules": [
                                                   {
                                                       "t": "nnull"
                                                   }
                                               ],
                                               "checkall": "true",
                                               "repair": false,
                                               "outputs": 1,
                                               "x": 290,
                                               "y": 520,
                                               "wires": [
                                                   [
                                                       "306e283de06793a5"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "94e00d809404b4a6",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätetyp",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.note",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 900,
                                               "wires": [
                                                   [
                                                       "0582b181c8bac51c"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0582b181c8bac51c",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätebezeichnung",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1810,
                                               "y": 900,
                                               "wires": []
                                           },
                                           {
                                               "id": "82e4d47fe4eafc92",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätetyp",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.note",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1160,
                                               "wires": [
                                                   [
                                                       "f575dd92416739a5"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "f575dd92416739a5",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätebezeichnung",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1840,
                                               "y": 1160,
                                               "wires": []
                                           },
                                           {
                                               "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": 1300,
                                               "y": 1300,
                                               "wires": [
                                                   [
                                                       "6174c1fb73ccadf7",
                                                       "6bf0970636cc1e4a",
                                                       "d1def4dc22f8abba",
                                                       "8e7cb4b3ad9ad7e4"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1640,
                                               "y": 1240,
                                               "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": 1590,
                                               "y": 1300,
                                               "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": 1920,
                                               "y": 1240,
                                               "wires": []
                                           },
                                           {
                                               "id": "d1def4dc22f8abba",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1360,
                                               "wires": [
                                                   [
                                                       "6b83b8e1410bdb8b"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "6b83b8e1410bdb8b",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen EnOcean Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1900,
                                               "y": 1360,
                                               "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": 1860,
                                               "y": 1300,
                                               "wires": []
                                           },
                                           {
                                               "id": "8e7cb4b3ad9ad7e4",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätetyp",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.note",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1420,
                                               "wires": [
                                                   [
                                                       "682221e81d05e1fb"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "682221e81d05e1fb",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätebezeichnung",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1840,
                                               "y": 1420,
                                               "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": 1290,
                                               "y": 1560,
                                               "wires": [
                                                   [
                                                       "73232d6356145c91",
                                                       "1f89021c7a98c311",
                                                       "4d4781ea193feb05",
                                                       "f86809f6445fcbc5"
                                                   ]
                                               ]
                                           },
                                           {
                                               "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": 1630,
                                               "y": 1500,
                                               "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": 1590,
                                               "y": 1560,
                                               "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": 1910,
                                               "y": 1500,
                                               "wires": []
                                           },
                                           {
                                               "id": "4d4781ea193feb05",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.name",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1620,
                                               "wires": [
                                                   [
                                                       "b4ba55ad0865333b"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b4ba55ad0865333b",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Namen WLan Geräte",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1890,
                                               "y": 1620,
                                               "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": 1850,
                                               "y": 1560,
                                               "wires": []
                                           },
                                           {
                                               "id": "f86809f6445fcbc5",
                                               "type": "change",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätetyp",
                                               "rules": [
                                                   {
                                                       "t": "set",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.note",
                                                       "tot": "jsonata"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 1600,
                                               "y": 1680,
                                               "wires": [
                                                   [
                                                       "0d7f447681a383e1"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "0d7f447681a383e1",
                                               "type": "debug",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "Gerätebezeichnung",
                                               "active": false,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "payload",
                                               "targetType": "msg",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 1840,
                                               "y": 1680,
                                               "wires": []
                                           },
                                           {
                                               "id": "d8d565711fe0dd22",
                                               "type": "link in",
                                               "z": "b8ad42061a6d5f2e",
                                               "name": "",
                                               "links": [
                                                   "d87f2174cf715cf2"
                                               ],
                                               "x": 75,
                                               "y": 520,
                                               "wires": [
                                                   [
                                                       "e565ecbc06eb639f"
                                                   ]
                                               ]
                                           }
                                        ]
                                        

                                        Gruß
                                        Oliver

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #33

                                          Na nachdem ich nicht so fit bin was VIS betrifft, wollt ich zurückfragen:

                                          Es geht also darum ein JSON aufzu bauen, wie hier:
                                          https://www.smarthome-tricks.de/software-iobroker/iobroker-vis-json-table-widget-teil-1-basics/

                                          Dann lass uns nochmal sicher gehen:

                                          {
                                             "name": name,
                                            "type": type,
                                             "protocol": protocol,
                                             "state" : state
                                          }
                                          

                                          Die Überschriften bzw. das Mapping macht das Widget ja selbst.

                                          c86cd803-86a4-4720-a70b-83637a5a0d94-image.png

                                          Kannst Du mir vielleicht noch sagen, welche Eigenschaft dem type entspricht? (cube_type ??)
                                          Gibts irgendwie ein lookup, welche Protokolle es gibt oder sind die 4 Protokolle bereits vollständig?

                                          =========================================================================================

                                          Entspricht type - den Services - und möchtest Du die übersetzt haben?

                                          Ansonsten müsstest Du ggf. die Eigenschaften, der Protokolle halt ergänzen:

                                          {"1":"ZWave","2":"Zigbee","3":"EnOcean","9":"WLan"}
                                          

                                          bei den Typen entsprechend.

                                          ============================================================================

                                          So nachdem Du Dich gerade nicht meldest - hier die Tabelle mit den Eigenschaften wie oben:

                                          c256b559-4005-4a5b-ac27-b1dc166202ab-image.png

                                          die musst halt einfach dahinter hängen - wo alle Geräte noch beisammen sind:

                                          aa2fb452-89bc-4f5f-bcc0-13ba999ba680-image.png

                                          [
                                             {
                                                 "id": "ef09455158bdbd20",
                                                 "type": "change",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "VIS Tabelle",
                                                 "rules": [
                                                     {
                                                         "t": "set",
                                                         "p": "protocols",
                                                         "pt": "msg",
                                                         "to": "{\"1\":\"ZWave\",\"2\":\"Zigbee\",\"3\":\"EnOcean\",\"9\":\"WLan\"}",
                                                         "tot": "json"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "states",
                                                         "pt": "msg",
                                                         "to": "{\"1\":\"aktiv\",\"2\":\"inaktiv\",\"12\":\"wird aktualisiert\"}",
                                                         "tot": "json"
                                                     },
                                                     {
                                                         "t": "set",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "payload.{\t   \"name\" :name,\t   \"type\" : cube_type,\t   \"protocol\" :protocol ? $lookup($$.protocols,$string(protocol)) : protocol,\t   \"state\" : $lookup($$.states,$string(state)) \t}",
                                                         "tot": "jsonata"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 1210,
                                                 "y": 3380,
                                                 "wires": [
                                                     [
                                                         "1b3e55fcd8eadc58"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "1b3e55fcd8eadc58",
                                                 "type": "debug",
                                                 "z": "9c280ddf049b2b4d",
                                                 "name": "VIS Tabelle",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 1410,
                                                 "y": 3380,
                                                 "wires": []
                                             }
                                          ]
                                          

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          O 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          527

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe