From 024663956a43d67cfac94529a3f133f0352ae369 Mon Sep 17 00:00:00 2001 From: waelkh12 <waelkhlifi12@gmail.com> Date: Sun, 19 May 2024 09:25:18 +0100 Subject: [PATCH] minor_changes --- zigbee_node_red.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zigbee_node_red.json b/zigbee_node_red.json index caba4b8..82cdd5f 100644 --- a/zigbee_node_red.json +++ b/zigbee_node_red.json @@ -223,7 +223,7 @@ "type": "function", "z": "2df1dfd158b253ed", "name": "Get global variables", - "func": "flow.set('Temperature', global.get(\"temperature\"));\nflow.set('Humidity', global.get(\"humidity\"));\nflow.set('lux', global.get(\"lux\"));\nflow.set('tempecriticalvl', global.get(\"critical_temperature\"))\nflow.set('humiditycriticalvl', global.get(\"critical_humidity\"))\nflow.set('light_on', global.get(\"light_is_on\"))\nflow.set('light_off', global.get(\"light_is_off\"))\n\n\nmsg.payload = [\n\nflow.get('Temperature'),\nflow.get('Humidity'),\nflow.get('lux'),\nflow.get('tempecriticalvl'),\nflow.get('humiditycriticalvl'),\nflow.get('light_on'),\nflow.get('light_ff')\n\n\n];\nreturn msg;", + "func": "flow.set('Temperature', global.get(\"temperature\"));\nflow.set('Humidity', global.get(\"humidity\"));\nflow.set('lux', global.get(\"lux\"));\nflow.set('tempecriticalvl', global.get(\"critical_temperature\"))\nflow.set('humiditycriticalvl', global.get(\"critical_humidity\"))\nflow.set('light_on', global.get(\"light_is_on\"))\nflow.set('light_off', global.get(\"light_is_off\"))\n\n\nmsg.payload = [\n\nflow.get('Temperature'),\nflow.get('Humidity'),\nflow.get('lux'),\nflow.get('tempecriticalvl'),\nflow.get('humiditycriticalvl'),\nflow.get('light_on'),\nflow.get('light_off')\n\n\n];\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, @@ -279,7 +279,7 @@ "publicCertificateFile": "", "privateCertificateFile": "", "registerServerMethod": "1", - "discoveryServerEndpointUrl": "opc.tcp://192.168.1.105:4840", + "discoveryServerEndpointUrl": "opc.tcp://192.168.1.102:4840", "capabilitiesForMDNS": "", "maxNodesPerRead": 1000, "maxNodesPerWrite": 1000, @@ -290,7 +290,7 @@ "delayToInit": 1000, "delayToClose": 200, "serverShutdownTimeout": 100, - "addressSpaceScript": "function constructAlarmAddressSpace(server, addressSpace, eventObjects, done) {\n // server = the created node-opcua server\n // addressSpace = address space of the node-opcua server\n // eventObjects = add event variables here to hold them in memory from this script\n\n // internal sandbox objects are:\n // node = the compact server node,\n // coreServer = core compact server object for debug and access to NodeOPCUA\n // this.sandboxNodeContext = node context node-red\n // this.sandboxFlowContext = flow context node-red\n // this.sandboxGlobalContext = global context node-red\n // this.sandboxEnv = env variables\n // timeout and interval functions as expected from nodejs\n\n \n const opcua = coreServer.choreCompact.opcua;\n const LocalizedText = opcua.LocalizedText;\n const namespace = addressSpace.getOwnNamespace();\n\n const Variant = opcua.Variant;\n const DataType = opcua.DataType;\n const DataValue = opcua.DataValue;\n\n var flexServerInternals = this;\n\n \n const rootFolder = addressSpace.findNode(\"RootFolder\");\n\n this.sandboxFlowContext.set(\"Humidity\", false);\n this.sandboxFlowContext.set(\"Temperature\", false);\n this.sandboxFlowContext.set(\"critical_temperature\", false);\n this.sandboxFlowContext.set(\"critical_humidity\", false);\n this.sandboxFlowContext.set(\"access\", false);\n\n const sensor_Data = namespace.addFolder(rootFolder.objects, {\n \"browseName\": \"Sensor_data\"\n });\n const access_control = namespace.addFolder(rootFolder.objects, {\n \"browseName\": \"access_control\"\n });\n const access = namespace.addFolder(access_control, {\n \"browseName\": \"access_event\"\n });\n const temperature = namespace.addFolder(sensor_Data, {\n \"browseName\": \"temperature\"\n });\n const humidity = namespace.addFolder(sensor_Data, {\n \"browseName\": \"humidity\"\n });\n const temperature_float = namespace.addFolder(temperature, {\n \"browseName\": \"Float_C\"\n });\n const humidity_float = namespace.addFolder(humidity, {\n \"browseName\": \"humidity_%\"\n });\n const tempCritical = namespace.addFolder(sensor_Data, {\n \"browseName\": \"Temp_critical\"\n });\n const humidityCritical = namespace.addFolder(sensor_Data, {\n \"browseName\": \"Humidity_critical\"\n });\n const temperature_var = namespace.addVariable({\n \"organizedBy\": temperature_float,\n \"browseName\": \"temperature\",\n \"nodeId\": \"ns=1;s=Temperature_value\",\n \"dataType\": \"Double\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Double,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"Temperature\")\n });\n },\n \"set\": function (Variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"Temperature\",\n Variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const humidity_var = namespace.addVariable({\n \"organizedBy\": humidity_float,\n \"browseName\": \"Humidity\",\n \"nodeId\": \"ns=1;s=Humidity_value\",\n \"dataType\": \"Double\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Double,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"Humidity\")\n });\n },\n \"set\": function (Variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"Humidity\",\n Variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const temperatureCritical = namespace.addVariable({\n \"organizedBy\": tempCritical,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=Temp_critical_value\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"critical_temperature\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"critical_temperature\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n\n const humidityCrit = namespace.addVariable({\n \"organizedBy\": humidityCritical,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=Humidity_critical_value\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"critical_humidity\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"critical_humidity\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const accessevent= namespace.addVariable({\n \"organizedBy\": access_control,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=accessevent\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"access\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"access\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n\n \n done();\n}", + "addressSpaceScript": "function constructAlarmAddressSpace(server, addressSpace, eventObjects, done) {\n // server = the created node-opcua server\n // addressSpace = address space of the node-opcua server\n // eventObjects = add event variables here to hold them in memory from this script\n\n // internal sandbox objects are:\n // node = the compact server node,\n // coreServer = core compact server object for debug and access to NodeOPCUA\n // this.sandboxNodeContext = node context node-red\n // this.sandboxFlowContext = flow context node-red\n // this.sandboxGlobalContext = global context node-red\n // this.sandboxEnv = env variables\n // timeout and interval functions as expected from nodejs\n\n \n const opcua = coreServer.choreCompact.opcua;\n const LocalizedText = opcua.LocalizedText;\n const namespace = addressSpace.getOwnNamespace();\n\n const Variant = opcua.Variant;\n const DataType = opcua.DataType;\n const DataValue = opcua.DataValue;\n\n var flexServerInternals = this;\n\n \n const rootFolder = addressSpace.findNode(\"RootFolder\");\n\n this.sandboxFlowContext.set(\"Humidity\", false);\n this.sandboxFlowContext.set(\"Temperature\", false);\n this.sandboxFlowContext.set(\"access\", false);\n this.sandboxFlowContext.set(\"illuminance\", false);\n\n\n const sensor_Data = namespace.addFolder(rootFolder.objects, {\n \"browseName\": \"Sensor_data\"\n });\n const access_control = namespace.addFolder(rootFolder.objects, {\n \"browseName\": \"access_control\"\n });\n const access = namespace.addFolder(access_control, {\n \"browseName\": \"access_event\"\n });\n const temperature = namespace.addFolder(sensor_Data, {\n \"browseName\": \"temperature\"\n });\n const humidity = namespace.addFolder(sensor_Data, {\n \"browseName\": \"humidity\"\n });\n const temperature_float = namespace.addFolder(temperature, {\n \"browseName\": \"Float_C\"\n });\n const humidity_float = namespace.addFolder(humidity, {\n \"browseName\": \"humidity_%\"\n });\n const tempCritical = namespace.addFolder(sensor_Data, {\n \"browseName\": \"Temp_critical\"\n });\n const humidityCritical = namespace.addFolder(sensor_Data, {\n \"browseName\": \"Humidity_critical\"\n });\n const illuminance = namespace.addFolder(sensor_Data, {\n \"browseName\": \"illuminance\"\n });\n const temperature_var = namespace.addVariable({\n \"organizedBy\": temperature_float,\n \"browseName\": \"temperature\",\n \"nodeId\": \"ns=1;s=Temperature_value\",\n \"dataType\": \"Double\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Double,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"Temperature\")\n });\n },\n \"set\": function (Variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"Temperature\",\n Variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const humidity_var = namespace.addVariable({\n \"organizedBy\": humidity_float,\n \"browseName\": \"Humidity\",\n \"nodeId\": \"ns=1;s=Humidity_value\",\n \"dataType\": \"Double\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Double,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"Humidity\")\n });\n },\n \"set\": function (Variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"Humidity\",\n Variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const temperatureCritical = namespace.addVariable({\n \"organizedBy\": tempCritical,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=Temp_critical_value\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"critical_temperature\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"Value\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n\n const humidityCrit = namespace.addVariable({\n \"organizedBy\": humidityCritical,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=Humidity_critical_value\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"critical_humidity\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"humiditycriticalvl\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n const accessevent= namespace.addVariable({\n \"organizedBy\": access_control,\n \"browseName\": \"Value\",\n \"nodeId\": \"ns=1;s=accessevent\",\n \"dataType\": \"Boolean\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Boolean,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"access\")\n });\n },\n \"set\": function (variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"access\",\n variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\nconst illuminance_var = namespace.addVariable({\n \"organizedBy\": illuminance,\n \"browseName\": \"illuminance\",\n \"nodeId\": \"ns=1;s=illuminance_value\",\n \"dataType\": \"Double\",\n \"value\": {\n \"get\": function () {\n return new Variant({\n \"dataType\": DataType.Double,\n \"value\": flexServerInternals.sandboxFlowContext.get(\"Temperature\")\n });\n },\n \"set\": function (Variant) {\n flexServerInternals.sandboxFlowContext.set(\n \"lux\",\n Variant.value\n );\n return opcua.StatusCodes.Good;\n }\n }\n });\n \n done();\n}", "x": 540, "y": 1120, "wires": [] -- GitLab