Hi, i want keep setup parameter objects on array via Apply ui button.
Setup parameter will update to connection_para flow context as object.
Once finished setup, click ui Apply button save parameter object to store_conn flow context.
The issue is, i do not know why previous objects in store_conn all are updated to latest entry setup parameter before click Apply button.
Can anyone help me up. Thank you
[
{
"id": "28feb7a0e5dd4677",
"type": "tab",
"label": "Connection",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b385b0076a03c834",
"type": "ui_button",
"z": "28feb7a0e5dd4677",
"name": "Apply",
"group": "bc8f06f14c192d86",
"order": 6,
"width": 3,
"height": 1,
"passthru": false,
"label": "Apply",
"tooltip": "",
"color": "",
"bgcolor": "",
"className": "",
"icon": "compare_arrows",
"payload": "1",
"payloadType": "num",
"topic": "",
"topicType": "str",
"x": 110,
"y": 120,
"wires": [
[
"e3e7e9d884b43ca6"
]
]
},
{
"id": "1e1d534024bc0bcd",
"type": "debug",
"z": "28feb7a0e5dd4677",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "true",
"targetType": "full",
"statusVal": "",
"statusType": "auto",
"x": 610,
"y": 120,
"wires": []
},
{
"id": "e3e7e9d884b43ca6",
"type": "function",
"z": "28feb7a0e5dd4677",
"name": "Store connection parameter",
"func": "\nif(msg.payload === 1){ \n \nvar options = flow.get('connection_para','file');\n\nvar configs = flow.get('store_conn','file')||[];\n\nvar len = configs.length;\n\nnode.warn(\"length = \" + len);\n\nconfigs[len]= options\n\nflow.set('store_conn', configs,'file');\n\nmsg.payload = configs\n\nreturn msg;\n}\n",
"outputs": 1,
"noerr": 0,
"initialize": "// Code added here will be run once\n// whenever the node is started.\n\n\n\nif (flow.get(\"store_conn\", 'file') === undefined) {\n flow.set(\"store_conn\", [],'file')\n}\n\n\nif (flow.get(\"connection_para\", 'file') === undefined) {\n var tag ={};\n tag.name = '',\n tag.address = '',\n tag.portno = null,\n tag.id = null\n flow.set(\"connection_para\",tag,'file')\n}\n",
"finalize": "",
"libs": [],
"x": 360,
"y": 120,
"wires": [
[
"1e1d534024bc0bcd"
]
]
},
{
"id": "8686931ca6471c88",
"type": "change",
"z": "28feb7a0e5dd4677",
"name": "set",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.name",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 110,
"y": 220,
"wires": [
[
"e6c821c382543f5d"
]
]
},
{
"id": "1f9b7eaf6a1fda57",
"type": "change",
"z": "28feb7a0e5dd4677",
"name": "set",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.tcpHost",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 110,
"y": 260,
"wires": [
[
"eec80c3b8f84afe9"
]
]
},
{
"id": "b5e65d71f2ef766e",
"type": "change",
"z": "28feb7a0e5dd4677",
"name": "set",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.tcpPort",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 110,
"y": 300,
"wires": [
[
"d356c895866980f7"
]
]
},
{
"id": "75af0d7444980410",
"type": "change",
"z": "28feb7a0e5dd4677",
"name": "set",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "payload.unitId",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 110,
"y": 340,
"wires": [
[
"0a6a268c8897ce48"
]
]
},
{
"id": "0a6a268c8897ce48",
"type": "ui_text_input",
"z": "28feb7a0e5dd4677",
"name": "",
"label": "ID :",
"tooltip": "",
"group": "bc8f06f14c192d86",
"order": 4,
"width": 3,
"height": 1,
"passthru": false,
"mode": "number",
"delay": "0",
"topic": "",
"sendOnBlur": true,
"topicType": "str",
"x": 250,
"y": 340,
"wires": [
[
"efe60dddbc1a5496",
"a525eb36a7d7ba42"
]
]
},
{
"id": "d356c895866980f7",
"type": "ui_text_input",
"z": "28feb7a0e5dd4677",
"name": "",
"label": "Port :",
"tooltip": "",
"group": "bc8f06f14c192d86",
"order": 3,
"width": 3,
"height": 1,
"passthru": false,
"mode": "text",
"delay": "0",
"topic": "",
"sendOnBlur": true,
"topicType": "str",
"x": 250,
"y": 300,
"wires": [
[
"b33c38a9f48c346a",
"a525eb36a7d7ba42"
]
]
},
{
"id": "eec80c3b8f84afe9",
"type": "ui_text_input",
"z": "28feb7a0e5dd4677",
"name": "",
"label": "Address :",
"tooltip": "",
"group": "bc8f06f14c192d86",
"order": 2,
"width": 6,
"height": 1,
"passthru": false,
"mode": "text",
"delay": "0",
"topic": "",
"sendOnBlur": true,
"topicType": "str",
"x": 260,
"y": 260,
"wires": [
[
"e60c77476bed31e8",
"a525eb36a7d7ba42"
]
]
},
{
"id": "e6c821c382543f5d",
"type": "ui_text_input",
"z": "28feb7a0e5dd4677",
"name": "",
"label": "Name :",
"tooltip": "",
"group": "bc8f06f14c192d86",
"order": 1,
"width": 6,
"height": 1,
"passthru": false,
"mode": "text",
"delay": "0",
"topic": "",
"sendOnBlur": true,
"topicType": "str",
"x": 260,
"y": 220,
"wires": [
[
"2fe6e6d6b20aa417",
"a525eb36a7d7ba42"
]
]
},
{
"id": "2fe6e6d6b20aa417",
"type": "function",
"z": "28feb7a0e5dd4677",
"name": "save",
"func": "var para = flow.get(\"connection_para\",'file')||{};\n\npara.name = msg.payload;\n\nflow.set(\"connection_para\", para,'file');",
"outputs": "0",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 180,
"wires": []
},
{
"id": "e60c77476bed31e8",
"type": "function",
"z": "28feb7a0e5dd4677",
"name": "save",
"func": "var para = flow.get(\"connection_para\",'file')||{};\n\npara.address = msg.payload;\n\nflow.set(\"connection_para\", para,'file');",
"outputs": "0",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 220,
"wires": []
},
{
"id": "b33c38a9f48c346a",
"type": "function",
"z": "28feb7a0e5dd4677",
"name": "save",
"func": "var para = flow.get(\"connection_para\",'file')||{};\n\npara.portno = msg.payload;\n\nflow.set(\"connection_para\", para,'file');",
"outputs": "0",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 340,
"wires": []
},
{
"id": "efe60dddbc1a5496",
"type": "function",
"z": "28feb7a0e5dd4677",
"name": "save",
"func": "var para = flow.get(\"connection_para\",'file')||{};\n\npara.id = msg.payload;\n\nflow.set(\"connection_para\", para,'file');",
"outputs": "0",
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 430,
"y": 380,
"wires": []
},
{
"id": "a525eb36a7d7ba42",
"type": "debug",
"z": "28feb7a0e5dd4677",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 510,
"y": 280,
"wires": []
},
{
"id": "15b08c8f811bca6d",
"type": "ui_spacer",
"z": "28feb7a0e5dd4677",
"name": "spacer",
"group": "4338c48af9891278",
"order": 5,
"width": 3,
"height": 1
},
{
"id": "bc8f06f14c192d86",
"type": "ui_group",
"name": "Conn",
"tab": "c8580ee691688551",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "4338c48af9891278",
"type": "ui_group",
"name": "TCP",
"tab": "299938a3c7ad6096",
"order": 1,
"disp": true,
"width": 6,
"collapse": false,
"className": ""
},
{
"id": "c8580ee691688551",
"type": "ui_tab",
"name": "06_Connection",
"icon": "dashboard",
"disabled": false,
"hidden": false
},
{
"id": "299938a3c7ad6096",
"type": "ui_tab",
"name": "05_BACNet Network",
"icon": "dashboard",
"order": 6,
"disabled": false,
"hidden": false
}
]