From f84ab39d50b31bbda9b0e4039cd0d665c84d72f8 Mon Sep 17 00:00:00 2001 From: LKuemmel <76958050+LKuemmel@users.noreply.github.com> Date: Fri, 18 Jul 2025 07:05:48 +0200 Subject: [PATCH 1/4] Update simulator_flow.json --- Simulator 2.x/simulator_flow.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator 2.x/simulator_flow.json b/Simulator 2.x/simulator_flow.json index 0db4eb3..e2b3804 100644 --- a/Simulator 2.x/simulator_flow.json +++ b/Simulator 2.x/simulator_flow.json @@ -3335,7 +3335,7 @@ "type": "function", "z": "5c4ac285.afe6e4", "name": "Senden der Flow-Daten", - "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n }\n ]\n]\n", + "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: 11000\n },\n ]\n]\n", "outputs": 1, "timeout": "", "noerr": 0, From 1beaa3c85a9ce775ea08ef13b5f5c274b1533f27 Mon Sep 17 00:00:00 2001 From: LKuemmel <76958050+LKuemmel@users.noreply.github.com> Date: Tue, 29 Jul 2025 07:12:56 +0200 Subject: [PATCH 2/4] add charge power --- Simulator 2.x/simulator_flow.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator 2.x/simulator_flow.json b/Simulator 2.x/simulator_flow.json index e2b3804..c39c5c9 100644 --- a/Simulator 2.x/simulator_flow.json +++ b/Simulator 2.x/simulator_flow.json @@ -3335,7 +3335,7 @@ "type": "function", "z": "5c4ac285.afe6e4", "name": "Senden der Flow-Daten", - "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: 11000\n },\n ]\n]\n", + "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_charge_power\",\n payload: 11000\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: 11000\n },\n ]\n]\n", "outputs": 1, "timeout": "", "noerr": 0, From ee88bac69a803e9eb69e75abc898627e4252964d Mon Sep 17 00:00:00 2001 From: LKuemmel <76958050+LKuemmel@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:57:41 +0200 Subject: [PATCH 3/4] sign for discharge power --- Simulator 2.x/simulator_flow.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator 2.x/simulator_flow.json b/Simulator 2.x/simulator_flow.json index c39c5c9..8c51c21 100644 --- a/Simulator 2.x/simulator_flow.json +++ b/Simulator 2.x/simulator_flow.json @@ -3335,7 +3335,7 @@ "type": "function", "z": "5c4ac285.afe6e4", "name": "Senden der Flow-Daten", - "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_charge_power\",\n payload: 11000\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: 11000\n },\n ]\n]\n", + "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_charge_power\",\n payload: 11000\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: -11000\n },\n ]\n]\n", "outputs": 1, "timeout": "", "noerr": 0, From 40cb7ee19b6c47bd984ab4d15a4a99a241e5c63c Mon Sep 17 00:00:00 2001 From: LKuemmel <76958050+LKuemmel@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:29:49 +0200 Subject: [PATCH 4/4] Update simulator_flow.json --- Simulator 2.x/simulator_flow.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator 2.x/simulator_flow.json b/Simulator 2.x/simulator_flow.json index 8c51c21..4a3fe48 100644 --- a/Simulator 2.x/simulator_flow.json +++ b/Simulator 2.x/simulator_flow.json @@ -3335,7 +3335,7 @@ "type": "function", "z": "5c4ac285.afe6e4", "name": "Senden der Flow-Daten", - "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"HLC\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_charge_power\",\n payload: 11000\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: -11000\n },\n ]\n]\n", + "func": "const LPNumber = env.get(\"Component-ID\");\n\nvar chargestat = 0;\nif( flow.get(\"Lp_Strom1\") > 0 || flow.get(\"Lp_Strom2\") > 0 || flow.get(\"Lp_Strom3\") > 0 ){\n chargestat = 1;\n}\n\nvar statusColor = \"red\";\nvar statusShape = \"ring\";\nif (flow.get(\"Lp_Stecker\") == 1){\n statusColor = \"green\"\n if (chargestat == 1){\n statusShape = \"dot\";\n }\n}\n\nconst actualPower = parseInt(flow.get(\"Lp_Ladeleistung\").toFixed(0));\nconst actualPowerkW = actualPower / 1000;\nconst phasesInUse = flow.get(\"Lp_Phasen\");\nconst phasesToUse = flow.get(\"Lp_Phasenumschaltung\");\nconst phasesEVmax = flow.get(\"Lp_EV_Phasen\");\nconst currentL1 = flow.get(\"Lp_Strom1\");\nconst currentL2 = flow.get(\"Lp_Strom2\");\nconst currentL3 = flow.get(\"Lp_Strom3\");\nconst volatageL1 = flow.get(\"Lp_Spannung1\");\nconst volatageL2 = flow.get(\"Lp_Spannung2\");\nconst volatageL3 = flow.get(\"Lp_Spannung3\");\nconst powerFactorL1 = flow.get(\"Lp_Leistungsfaktor1\");\nconst powerFactorL2 = flow.get(\"Lp_Leistungsfaktor2\");\nconst powerFactorL3 = flow.get(\"Lp_Leistungsfaktor3\");\n\nnode.status({\n fill: statusColor,\n shape: statusShape,\n text:actualPowerkW.toFixed(1)+\"kW \"+phasesInUse+\"P(\"+phasesEVmax+\"/\"+phasesToUse+\")\"\n });\n\nreturn [\n [\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/currents\",\n payload: [currentL1, currentL2, currentL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_current\",\n payload: currentL1\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/voltages\",\n payload: [volatageL1, volatageL2, volatageL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power\",\n payload: actualPower\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/powers\",\n payload: [volatageL1 * currentL1 * powerFactorL1, volatageL2 * currentL2 * powerFactorL2, volatageL3 * currentL3 * powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/power_factors\",\n payload: [powerFactorL1, powerFactorL2, powerFactorL3]\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/frequency\",\n payload: flow.get(\"Lp_Netzfrequenz\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/imported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_laden\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/exported\",\n payload: parseFloat(flow.get(\"Lp_Zähler_entladen\").toFixed(3))\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/plug_state\",\n payload: flow.get(\"Lp_Stecker\")\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/charge_state\",\n payload: chargestat\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/phases_in_use\",\n payload: phasesInUse\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/evse_signaling\",\n payload: \"pwm\"\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_charge_power\",\n payload: 11000\n },\n {\n topic: \"openWB/set/mqtt/chargepoint/\" + LPNumber + \"/get/max_discharge_power\",\n payload: -11000\n },\n ]\n]\n", "outputs": 1, "timeout": "", "noerr": 0,