diff --git a/flows.json b/flows.json index 8cd3bc0..6e5524b 100644 --- a/flows.json +++ b/flows.json @@ -1768,7 +1768,7 @@ "type": "mqtt in", "z": "86a9e7aa0c304b46", "name": "", - "topic": "go-eCharger/010343/status", + "topic": "go-eCharger/310014/#", "qos": "0", "datatype": "auto-detect", "broker": "c46833d59903b816", @@ -1780,8 +1780,8 @@ "y": 1820, "wires": [ [ - "b602d56c5ecdf7fc", - "74e21176399f1d13" + "74e21176399f1d13", + "b602d56c5ecdf7fc" ] ] }, @@ -1790,7 +1790,7 @@ "type": "debug", "z": "86a9e7aa0c304b46", "name": "debug 6", - "active": false, + "active": true, "tosidebar": true, "console": false, "tostatus": false, @@ -1806,8 +1806,9 @@ "type": "function", "z": "86a9e7aa0c304b46", "name": "daten vorbereiten", - "func": "let zustand = parseInt(msg.payload.car)\nif ((zustand > 1) && (zustand <= 4)) {\n let strom = [msg.payload.nrg[4], msg.payload.nrg[5], msg.payload.nrg[6]]\n let power = [msg.payload.nrg[7], msg.payload.nrg[8], msg.payload.nrg[9], msg.payload.nrg[11]]\n msg.payload = { \"I1\": strom[0], \"I2\": strom[1], \"I3\": strom[2], \"P1\": power[0], \"P2\": power[1], \"P3\": power[2], \"Ptot\": power[3], \"gesamt\": parseInt(msg.payload.eto)}\n return msg;\n}", + "func": "// Topic-Teil extrahieren, z.B. \"go-eCharger/310014/nrg\" -> \"nrg\"\nif (![\"car\", \"nrg\", \"eto\"].includes(msg.topic.split(\"/\").pop())) {\n return null;\n} \nlet key = msg.topic.split(\"/\").pop();\n\n// letzten bekannten Wert je Key im Node-Context speichern\nlet daten = context.get(\"daten\") || {};\ndaten[key] = msg.payload;\ncontext.set(\"daten\", daten);\n\n// Nur weitermachen, wenn wir car, nrg und eto schon mindestens einmal gesehen haben\nif (daten.car === undefined || daten.nrg === undefined || daten.eto === undefined) {\n return null;\n}\n\nlet zustand = parseInt(daten.car);\n\nif ((zustand > 1) && (zustand <= 4)) {\n let nrg = daten.nrg;\n\n if (!Array.isArray(nrg) || nrg.length < 12) {\n node.warn(\"nrg unvollständig: \" + JSON.stringify(nrg));\n return null;\n }\n\n msg.payload = {\n I1: nrg[4], I2: nrg[5], I3: nrg[6],\n P1: nrg[7], P2: nrg[8], P3: nrg[9],\n Ptot: nrg[11],\n gesamt: parseInt(daten.eto)\n };\n return msg;\n}\n\nreturn null;", "outputs": 1, + "timeout": "", "noerr": 0, "initialize": "", "finalize": "", @@ -2739,7 +2740,8 @@ "tosidebar": true, "console": false, "tostatus": false, - "complete": "false", + "complete": "true", + "targetType": "full", "statusVal": "", "statusType": "auto", "x": 540,