[
  {
    "id": "5bf22da3.a9afec",
    "type": "tab",
    "label": "OPC UA IIoT Tests",
    "disabled": false,
    "info": ""
  },
  {
    "id": "83d0ab4b.0352a",
    "type": "OPCUA-IIoT-Server-Command",
    "z": "5bf22da3.a9afec",
    "commandtype": "restart",
    "nodeId": "",
    "name": "restart",
    "x": 410,
    "y": 140,
    "wires": [
      [
        "d5ea78a2.b5fae8",
        "19a20cdd.2c3a23"
      ]
    ]
  },
  {
    "id": "a1a887b2.56248",
    "type": "OPCUA-IIoT-Server-ASO",
    "z": "5bf22da3.a9afec",
    "nodeId": "ns=1;s=TestFolder",
    "browsename": "TestFolder",
    "displayname": "Test Folder",
    "objecttype": "FolderType",
    "datatype": "",
    "value": "",
    "referenceNodeId": "ns=0;i=85",
    "referencetype": "Organizes",
    "name": "",
    "x": 410,
    "y": 100,
    "wires": [
      [
        "d5ea78a2.b5fae8",
        "19a20cdd.2c3a23"
      ]
    ]
  },
  {
    "id": "f1c25fc1.e35aa8",
    "type": "OPCUA-IIoT-Server-Command",
    "z": "5bf22da3.a9afec",
    "commandtype": "deleteNode",
    "nodeId": "ns=1;s=TestFolder",
    "name": "Delete",
    "x": 410,
    "y": 180,
    "wires": [
      [
        "d5ea78a2.b5fae8",
        "19a20cdd.2c3a23"
      ]
    ]
  },
  {
    "id": "df06877.2d126f8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 770,
    "y": 140,
    "wires": []
  },
  {
    "id": "e36b7808.f4ed5",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "",
    "addressSpaceItems": [],
    "x": 170,
    "y": 100,
    "wires": [
      [
        "a1a887b2.56248"
      ]
    ]
  },
  {
    "id": "c6d5b865.282ef8",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": 15,
    "name": "Server Info",
    "addressSpaceItems": [
      {
        "name": "ServerStatus",
        "nodeId": "ns=0;i=2256",
        "datatypeName": ""
      },
      {
        "name": "ServerDiagnostic",
        "nodeId": "ns=0;i=2274",
        "datatypeName": ""
      }
    ],
    "x": 170,
    "y": 960,
    "wires": [
      [
        "7cab88ff.58b648"
      ]
    ]
  },
  {
    "id": "bb76bd49.3dad4",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "0",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "Read Structures",
    "justValue": false,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 540,
    "y": 900,
    "wires": [
      [
        "4718f4da.ca70bc"
      ]
    ]
  },
  {
    "id": "4718f4da.ca70bc",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 720,
    "y": 900,
    "wires": [
      [
        "55546e6e.b67ba"
      ]
    ]
  },
  {
    "id": "55546e6e.b67ba",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 870,
    "y": 900,
    "wires": []
  },
  {
    "id": "7cab88ff.58b648",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": false,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "showStatusActivities": false,
    "showErrors": false,
    "x": 340,
    "y": 960,
    "wires": [
      [
        "bb76bd49.3dad4",
        "c10e6e5.6404b1",
        "a2b97b2c.d97fc",
        "a4f5383a.e93818"
      ]
    ]
  },
  {
    "id": "c10e6e5.6404b1",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "13",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "Read Structures",
    "justValue": true,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 540,
    "y": 960,
    "wires": [
      [
        "ef00c4f.8b761b8"
      ]
    ]
  },
  {
    "id": "ef00c4f.8b761b8",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 720,
    "y": 960,
    "wires": [
      [
        "7bfc9adf.8718cc"
      ]
    ]
  },
  {
    "id": "7bfc9adf.8718cc",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 870,
    "y": 960,
    "wires": []
  },
  {
    "id": "a2b97b2c.d97fc",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "130",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "Read Structures",
    "justValue": false,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 540,
    "y": 1020,
    "wires": [
      [
        "c8e3b987.803a08"
      ]
    ]
  },
  {
    "id": "c8e3b987.803a08",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 720,
    "y": 1020,
    "wires": [
      [
        "31dd879f.0e8c48"
      ]
    ]
  },
  {
    "id": "31dd879f.0e8c48",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 870,
    "y": 1020,
    "wires": []
  },
  {
    "id": "a4f5383a.e93818",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 510,
    "y": 1080,
    "wires": []
  },
  {
    "id": "56625b2d.aae534",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": false,
    "startDelay": "",
    "name": "",
    "addressSpaceItems": [],
    "x": 160,
    "y": 140,
    "wires": [
      [
        "83d0ab4b.0352a"
      ]
    ]
  },
  {
    "id": "4dfb1ba4.7ec6cc",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": false,
    "startDelay": "",
    "name": "",
    "addressSpaceItems": [],
    "x": 160,
    "y": 180,
    "wires": [
      [
        "f1c25fc1.e35aa8"
      ]
    ]
  },
  {
    "id": "eb93b303.c4a11",
    "type": "OPCUA-IIoT-Event",
    "z": "5bf22da3.a9afec",
    "eventType": "BaseEventType",
    "eventTypeLabel": "BaseEventType (i=2041)",
    "resultType": "all",
    "queueSize": "1000",
    "usingListener": true,
    "name": "Base Events",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 430,
    "y": 300,
    "wires": [
      [
        "f0d8f6f7.497cf"
      ]
    ]
  },
  {
    "id": "484fb4eb.33a56c",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 770,
    "y": 260,
    "wires": []
  },
  {
    "id": "dee7c0d3.35516",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "listen",
    "payload": "200",
    "payloadType": "num",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "listen with 200 ms",
    "addressSpaceItems": [
      {
        "name": "Tanks",
        "nodeId": "ns=1;i=1000",
        "datatypeName": ""
      },
      {
        "name": "Server",
        "nodeId": "ns=0;i=2253",
        "datatypeName": ""
      }
    ],
    "x": 190,
    "y": 300,
    "wires": [
      [
        "eb93b303.c4a11"
      ]
    ]
  },
  {
    "id": "f0d8f6f7.497cf",
    "type": "OPCUA-IIoT-Listener",
    "z": "5bf22da3.a9afec",
    "connector": "3fa097ed.9d44c8",
    "action": "events",
    "queueSize": "100",
    "name": "",
    "topic": "",
    "justValue": true,
    "useGroupItems": false,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 600,
    "y": 300,
    "wires": [
      [
        "484fb4eb.33a56c",
        "50a8323e.8fc5dc"
      ]
    ]
  },
  {
    "id": "6a2ad0f1.65c1e",
    "type": "OPCUA-IIoT-Listener",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "action": "subscribe",
    "queueSize": 10,
    "name": "",
    "topic": "",
    "justValue": true,
    "useGroupItems": false,
    "showStatusActivities": false,
    "showErrors": false,
    "x": 520,
    "y": 600,
    "wires": [
      [
        "fdde5a24.1ccc7",
        "f67b4486.81c118",
        "38f783a3.82e1d4",
        "b68d18a.99099e8",
        "4b72d0e.0a02bb",
        "3cf6e31a.2c08cc"
      ]
    ]
  },
  {
    "id": "f33823f5.4f1118",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "listen",
    "payload": "{ \"interval\": 500, \"queueSize\": 10 }",
    "payloadType": "json",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Start Abo",
    "addressSpaceItems": [
      {
        "name": "Counter",
        "nodeId": "ns=1;s=Counter",
        "datatypeName": ""
      },
      {
        "name": "FullCounter",
        "nodeId": "ns=1;s=FullCounter",
        "datatypeName": ""
      }
    ],
    "x": 160,
    "y": 600,
    "wires": [
      [
        "6a2ad0f1.65c1e"
      ]
    ]
  },
  {
    "id": "f67b4486.81c118",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 710,
    "y": 720,
    "wires": []
  },
  {
    "id": "fdde5a24.1ccc7",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 720,
    "y": 420,
    "wires": [
      [
        "cad0957a.e297d8"
      ]
    ]
  },
  {
    "id": "cad0957a.e297d8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 930,
    "y": 420,
    "wires": []
  },
  {
    "id": "b1280c29.1f77b8",
    "type": "OPCUA-IIoT-Node",
    "z": "5bf22da3.a9afec",
    "injectType": "listen",
    "nodeId": "ns=0;i=2277",
    "datatype": "NodeId",
    "value": "",
    "name": "",
    "topic": "",
    "showErrors": false,
    "x": 330,
    "y": 460,
    "wires": [
      [
        "6a2ad0f1.65c1e"
      ]
    ]
  },
  {
    "id": "aec03b56.9a542",
    "type": "OPCUA-IIoT-Node",
    "z": "5bf22da3.a9afec",
    "injectType": "listen",
    "nodeId": "ns=1;s=TestReadWrite",
    "datatype": "NodeId",
    "value": "",
    "name": "",
    "topic": "",
    "showErrors": false,
    "x": 330,
    "y": 540,
    "wires": [
      [
        "6a2ad0f1.65c1e"
      ]
    ]
  },
  {
    "id": "ca6564b5.4ffd28",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 930,
    "y": 600,
    "wires": []
  },
  {
    "id": "c51afc0f.dc0238",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 930,
    "y": 480,
    "wires": []
  },
  {
    "id": "2363ff27.a203e",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "",
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 160,
    "y": 460,
    "wires": [
      [
        "b1280c29.1f77b8"
      ]
    ]
  },
  {
    "id": "579dc321.76658c",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "",
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 160,
    "y": 540,
    "wires": [
      [
        "aec03b56.9a542"
      ]
    ]
  },
  {
    "id": "feffc44d.496ce8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 930,
    "y": 540,
    "wires": []
  },
  {
    "id": "38f783a3.82e1d4",
    "type": "OPCUA-IIoT-Result-Filter",
    "z": "5bf22da3.a9afec",
    "nodeId": "ns=1;s=FullCounter",
    "datatype": "UInt32",
    "fixedValue": false,
    "fixPoint": 2,
    "withPrecision": false,
    "precision": 2,
    "entry": 1,
    "justValue": true,
    "withValueCheck": false,
    "minvalue": "",
    "maxvalue": "",
    "defaultvalue": "",
    "topic": "",
    "name": "",
    "showErrors": false,
    "x": 750,
    "y": 600,
    "wires": [
      [
        "ca6564b5.4ffd28"
      ]
    ]
  },
  {
    "id": "b68d18a.99099e8",
    "type": "OPCUA-IIoT-Result-Filter",
    "z": "5bf22da3.a9afec",
    "nodeId": "ns=0;i=2277",
    "datatype": "UInt32",
    "fixedValue": false,
    "fixPoint": 2,
    "withPrecision": false,
    "precision": 2,
    "entry": 1,
    "justValue": true,
    "withValueCheck": false,
    "minvalue": "",
    "maxvalue": "",
    "defaultvalue": "",
    "topic": "",
    "name": "",
    "showErrors": false,
    "x": 730,
    "y": 540,
    "wires": [
      [
        "feffc44d.496ce8"
      ]
    ]
  },
  {
    "id": "4b72d0e.0a02bb",
    "type": "OPCUA-IIoT-Result-Filter",
    "z": "5bf22da3.a9afec",
    "nodeId": "ns=1;s=TestReadWrite",
    "datatype": "Double",
    "fixedValue": true,
    "fixPoint": 2,
    "withPrecision": false,
    "precision": 2,
    "entry": 1,
    "justValue": true,
    "withValueCheck": false,
    "minvalue": "",
    "maxvalue": "",
    "defaultvalue": "",
    "topic": "",
    "name": "",
    "showErrors": false,
    "x": 760,
    "y": 480,
    "wires": [
      [
        "c51afc0f.dc0238"
      ]
    ]
  },
  {
    "id": "3cf6e31a.2c08cc",
    "type": "OPCUA-IIoT-Result-Filter",
    "z": "5bf22da3.a9afec",
    "nodeId": "ns=1;s=Counter",
    "datatype": "UInt16",
    "fixedValue": false,
    "fixPoint": 2,
    "withPrecision": false,
    "precision": 2,
    "entry": 1,
    "justValue": true,
    "withValueCheck": false,
    "minvalue": "",
    "maxvalue": "",
    "defaultvalue": "",
    "topic": "",
    "name": "",
    "showErrors": false,
    "x": 740,
    "y": 660,
    "wires": [
      [
        "c121812d.cfe708"
      ]
    ]
  },
  {
    "id": "c121812d.cfe708",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 930,
    "y": 660,
    "wires": []
  },
  {
    "id": "f68549f5.4b1f4",
    "type": "OPCUA-IIoT-Write",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "x": 510,
    "y": 1460,
    "wires": [
      [
        "6befc559.81c414",
        "1ae2b36d.653235",
        "1880aefa.5f7651"
      ]
    ]
  },
  {
    "id": "824749b.0979638",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "write",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "2",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "TestReadWrite",
    "addressSpaceItems": [
      {
        "name": "TestReadWrite",
        "nodeId": "ns=1;s=TestReadWrite",
        "datatypeName": "Double"
      }
    ],
    "x": 190,
    "y": 1460,
    "wires": [
      [
        "5e93303c.3cae08"
      ]
    ]
  },
  {
    "id": "6befc559.81c414",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 670,
    "y": 1520,
    "wires": []
  },
  {
    "id": "c86446de.c90d98",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 510,
    "y": 1520,
    "wires": []
  },
  {
    "id": "1ae2b36d.653235",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "x": 680,
    "y": 1460,
    "wires": [
      [
        "b11bbae9.15067"
      ]
    ]
  },
  {
    "id": "b11bbae9.15067",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "x": 830,
    "y": 1460,
    "wires": []
  },
  {
    "id": "5e93303c.3cae08",
    "type": "data-generator",
    "z": "5bf22da3.a9afec",
    "name": "dGen",
    "field": "valuesToWrite",
    "fieldType": "msg",
    "syntax": "json",
    "template": "[{{int -10000.44 12000.66}}]",
    "x": 370,
    "y": 1460,
    "wires": [
      [
        "f68549f5.4b1f4",
        "c86446de.c90d98"
      ]
    ]
  },
  {
    "id": "399e03b7.2de5bc",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "install node-red-node-data-generator",
    "info": "",
    "x": 410,
    "y": 1400,
    "wires": []
  },
  {
    "id": "1880aefa.5f7651",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "13",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "",
    "justValue": true,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 670,
    "y": 1400,
    "wires": [
      [
        "458989ca.70768"
      ]
    ]
  },
  {
    "id": "c35ae4d0.7e0a48",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "x": 970,
    "y": 1400,
    "wires": []
  },
  {
    "id": "458989ca.70768",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 820,
    "y": 1400,
    "wires": [
      [
        "c35ae4d0.7e0a48"
      ]
    ]
  },
  {
    "id": "33f37194.506c56",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "event listening",
    "info": "",
    "x": 170,
    "y": 260,
    "wires": []
  },
  {
    "id": "36f65392.cd5ba4",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "server",
    "info": "",
    "x": 150,
    "y": 60,
    "wires": []
  },
  {
    "id": "ddce448f.c3be38",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": false,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": false,
    "singleBrowseResult": true,
    "recursiveBrowse": false,
    "recursiveDepth": "",
    "delayPerMessage": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 300,
    "y": 1700,
    "wires": [
      [
        "8e8a4058.df09d8"
      ]
    ]
  },
  {
    "id": "ad7ac141.c3d188",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Root",
    "addressSpaceItems": [
      {
        "name": "Tanks",
        "nodeId": "ns=1;i=1000",
        "datatypeName": ""
      }
    ],
    "x": 150,
    "y": 1700,
    "wires": [
      [
        "ddce448f.c3be38"
      ]
    ]
  },
  {
    "id": "8e8a4058.df09d8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 470,
    "y": 1700,
    "wires": []
  },
  {
    "id": "3e1dac8.0c243d4",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "monitoring",
    "info": "",
    "x": 160,
    "y": 420,
    "wires": []
  },
  {
    "id": "49446ffa.cc82f8",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "browse and read",
    "info": "",
    "x": 180,
    "y": 920,
    "wires": []
  },
  {
    "id": "fe2c7439.ce4f2",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "write and read",
    "info": "",
    "x": 170,
    "y": 1400,
    "wires": []
  },
  {
    "id": "681b1664.2da47",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "browse",
    "info": "",
    "x": 150,
    "y": 1660,
    "wires": []
  },
  {
    "id": "7ec3b492.bce6f4",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "13",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "",
    "justValue": false,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 370,
    "y": 1160,
    "wires": [
      [
        "56481e32.80d858"
      ]
    ]
  },
  {
    "id": "e77e2f63.b424a8",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "TestReadWrite",
    "addressSpaceItems": [
      {
        "name": "TestReadWrite",
        "nodeId": "ns=1;s=TestReadWrite",
        "datatypeName": ""
      }
    ],
    "x": 180,
    "y": 1160,
    "wires": [
      [
        "7ec3b492.bce6f4"
      ]
    ]
  },
  {
    "id": "56481e32.80d858",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 600,
    "y": 1160,
    "wires": [
      [
        "1cd1c1cd.a9c8be"
      ]
    ]
  },
  {
    "id": "1cd1c1cd.a9c8be",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "x": 750,
    "y": 1160,
    "wires": []
  },
  {
    "id": "9d4cc0fd.dcae58",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "TestReadWrite",
    "addressSpaceItems": [
      {
        "name": "TestReadWrite",
        "nodeId": "ns=1;s=TestReadWrite",
        "datatypeName": ""
      }
    ],
    "x": 180,
    "y": 1240,
    "wires": [
      [
        "a6dd8bfd.6b0a7"
      ]
    ]
  },
  {
    "id": "a6dd8bfd.6b0a7",
    "type": "OPCUA-IIoT-Read",
    "z": "5bf22da3.a9afec",
    "attributeId": "13",
    "maxAge": 1,
    "depth": 1,
    "connector": "73f28bc6.74eba4",
    "name": "Read just value",
    "justValue": true,
    "showStatusActivities": false,
    "showErrors": false,
    "parseStrings": false,
    "x": 400,
    "y": 1240,
    "wires": [
      [
        "9ec0e135.df558"
      ]
    ]
  },
  {
    "id": "9ec0e135.df558",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 600,
    "y": 1240,
    "wires": [
      [
        "1bcfa0db.3843d7"
      ]
    ]
  },
  {
    "id": "1bcfa0db.3843d7",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "x": 750,
    "y": 1240,
    "wires": []
  },
  {
    "id": "4361ee9f.27b43",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "read",
    "info": "",
    "x": 150,
    "y": 1120,
    "wires": []
  },
  {
    "id": "99f448fd.ea75",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "ns=1;i=1234",
    "name": "Bianco Royal",
    "justValue": true,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": false,
    "singleBrowseResult": true,
    "showStatusActivities": false,
    "showErrors": false,
    "x": 310,
    "y": 1820,
    "wires": [
      [
        "ed9d0622.aac94"
      ]
    ]
  },
  {
    "id": "95873ac.81435c8",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Root",
    "addressSpaceItems": [],
    "x": 150,
    "y": 1820,
    "wires": [
      [
        "99f448fd.ea75"
      ]
    ]
  },
  {
    "id": "ed9d0622.aac94",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 470,
    "y": 1820,
    "wires": []
  },
  {
    "id": "c19a4f99.0d4b8",
    "type": "OPCUA-IIoT-Method-Caller",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "objectId": "ns=1;i=1234",
    "methodId": "ns=1;i=12345",
    "methodType": "basic",
    "value": "",
    "justValue": true,
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "inputArguments": [
      {
        "name": "barks",
        "dataType": "UInt32",
        "value": "3"
      },
      {
        "name": "volume",
        "dataType": "UInt32",
        "value": "6"
      }
    ],
    "x": 320,
    "y": 2100,
    "wires": [
      [
        "e4763f23.c619a",
        "680c95b3.eb561c"
      ]
    ]
  },
  {
    "id": "e4763f23.c619a",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 490,
    "y": 2060,
    "wires": []
  },
  {
    "id": "680c95b3.eb561c",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 500,
    "y": 2100,
    "wires": [
      [
        "155985c7.d13aa2"
      ]
    ]
  },
  {
    "id": "155985c7.d13aa2",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 650,
    "y": 2100,
    "wires": []
  },
  {
    "id": "9c9f1331.d9a6f",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": false,
    "startDelay": "",
    "name": "",
    "addressSpaceItems": [],
    "x": 160,
    "y": 2100,
    "wires": [
      [
        "c19a4f99.0d4b8"
      ]
    ]
  },
  {
    "id": "6339810a.7cabd",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "",
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "repeat": "",
    "crontab": "",
    "once": false,
    "x": 160,
    "y": 2200,
    "wires": [
      [
        "5bea04e2.b43884"
      ]
    ]
  },
  {
    "id": "5bea04e2.b43884",
    "type": "function",
    "z": "5bf22da3.a9afec",
    "name": "call",
    "func": "msg.payload = {\n    objectId: 'ns=1;i=1234',\n    methodId: 'ns=1;i=12345',\n    inputArguments: [\n        {name: 'barks', dataType:'UInt32', value:'6'},\n        {name: 'volume', dataType:'UInt32', value:'12'}\n    ],\n    methodType: 'basic'\n}\nreturn msg;",
    "outputs": 1,
    "noerr": 0,
    "x": 290,
    "y": 2200,
    "wires": [
      [
        "6a503013.1a858"
      ]
    ]
  },
  {
    "id": "6a503013.1a858",
    "type": "OPCUA-IIoT-Method-Caller",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "objectId": "ns=1;i=1234",
    "methodId": "ns=1;i=12345",
    "methodType": "basic",
    "value": "",
    "justValue": false,
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "inputArguments": [
      {
        "name": "barks",
        "dataType": "UInt32",
        "value": "3"
      },
      {
        "name": "volume",
        "dataType": "UInt32",
        "value": "6"
      }
    ],
    "x": 440,
    "y": 2200,
    "wires": [
      [
        "63020c8b.62369c"
      ]
    ]
  },
  {
    "id": "63020c8b.62369c",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 600,
    "y": 2200,
    "wires": [
      [
        "edda5655.115678"
      ]
    ]
  },
  {
    "id": "edda5655.115678",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 750,
    "y": 2200,
    "wires": []
  },
  {
    "id": "2c1b8706.db9688",
    "type": "OPCUA-IIoT-Discovery",
    "z": "5bf22da3.a9afec",
    "name": "",
    "discoveryPort": "",
    "x": 1140,
    "y": 180,
    "wires": [
      [
        "8f396cd1.688388"
      ]
    ]
  },
  {
    "id": "d5ea78a2.b5fae8",
    "type": "OPCUA-IIoT-Server",
    "z": "5bf22da3.a9afec",
    "port": "55388",
    "endpoint": "",
    "acceptExternalCommands": true,
    "maxAllowedSessionNumber": "",
    "maxConnectionsPerEndpoint": "",
    "maxAllowedSubscriptionNumber": "",
    "alternateHostname": "",
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "asoDemo": true,
    "allowAnonymous": true,
    "isAuditing": false,
    "serverDiscovery": true,
    "users": [
      {
        "name": "peter",
        "password": "peter"
      }
    ],
    "xmlsets": [
      {
        "name": "ISA95",
        "path": "public/vendor/opc-foundation/xml/Opc.ISA95.NodeSet2.xml"
      }
    ],
    "publicCertificateFile": "",
    "privateCertificateFile": "",
    "registerServerMethod": "1",
    "discoveryServerEndpointUrl": "",
    "capabilitiesForMDNS": "",
    "maxNodesPerRead": "",
    "maxNodesPerBrowse": "",
    "delayToClose": "3000",
    "x": 610,
    "y": 140,
    "wires": [
      [
        "df06877.2d126f8"
      ]
    ]
  },
  {
    "id": "1615ce97.1cb661",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": true,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": true,
    "singleBrowseResult": true,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 300,
    "y": 1900,
    "wires": [
      [
        "a1bf04c5.eb0178",
        "96402c3c.82a96"
      ]
    ]
  },
  {
    "id": "8c94c619.e749c8",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Root",
    "addressSpaceItems": [
      {
        "name": "Tanks",
        "nodeId": "ns=0;i=85",
        "datatypeName": ""
      }
    ],
    "x": 150,
    "y": 1900,
    "wires": [
      [
        "1615ce97.1cb661"
      ]
    ]
  },
  {
    "id": "96402c3c.82a96",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 470,
    "y": 1900,
    "wires": []
  },
  {
    "id": "dcafdf79.015b68",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "Methods",
    "info": "",
    "x": 160,
    "y": 2060,
    "wires": []
  },
  {
    "id": "a1bf04c5.eb0178",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": true,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": true,
    "singleBrowseResult": true,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 480,
    "y": 1960,
    "wires": [
      [
        "fba371ab.33a278",
        "7498b630.367e38"
      ]
    ]
  },
  {
    "id": "7498b630.367e38",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 630,
    "y": 1940,
    "wires": []
  },
  {
    "id": "fba371ab.33a278",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": true,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": false,
    "singleBrowseResult": true,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 640,
    "y": 1980,
    "wires": [
      [
        "7e45e650.9206b8"
      ]
    ]
  },
  {
    "id": "7e45e650.9206b8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 790,
    "y": 1980,
    "wires": []
  },
  {
    "id": "c35ae6ac.a6ae58",
    "type": "OPCUA-IIoT-Listener",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "action": "subscribe",
    "queueSize": 10,
    "name": "",
    "topic": "",
    "justValue": true,
    "useGroupItems": false,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 520,
    "y": 820,
    "wires": [
      [
        "dc7d58eb.b98048",
        "c58b91f5.61e6d8"
      ]
    ]
  },
  {
    "id": "dc7d58eb.b98048",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 670,
    "y": 780,
    "wires": []
  },
  {
    "id": "353b4d41.243b5a",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "ns=1;i=1234",
    "name": "Bianco Royal",
    "justValue": true,
    "sendNodesToRead": false,
    "sendNodesToListener": true,
    "sendNodesToBrowser": false,
    "singleBrowseResult": true,
    "showStatusActivities": false,
    "showErrors": false,
    "x": 350,
    "y": 820,
    "wires": [
      [
        "c35ae6ac.a6ae58"
      ]
    ]
  },
  {
    "id": "5581e148.78e6b",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "{\"interval\":500,\"queueSize\":10,\"options\":{\"requestedPublishingInterval\":5000,\"requestedLifetimeCount\":60,\"requestedMaxKeepAliveCount\":10,\"maxNotificationsPerPublish\":5,\"publishingEnabled\":true,\"priority\":1}}",
    "payloadType": "json",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Start Abo",
    "addressSpaceItems": [],
    "x": 160,
    "y": 820,
    "wires": [
      [
        "353b4d41.243b5a"
      ]
    ]
  },
  {
    "id": "80b7198e.db578",
    "type": "comment",
    "z": "5bf22da3.a9afec",
    "name": "browse and listen",
    "info": "",
    "x": 180,
    "y": 780,
    "wires": []
  },
  {
    "id": "4d8ebb64.c56844",
    "type": "OPCUA-IIoT-Write",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "name": "",
    "justValue": false,
    "showStatusActivities": false,
    "showErrors": true,
    "x": 510,
    "y": 1580,
    "wires": [
      [
        "4518b9c0.3d35d"
      ]
    ]
  },
  {
    "id": "f3ebcd6b.0f9f88",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 830,
    "y": 1580,
    "wires": []
  },
  {
    "id": "ecdb95b.79333e8",
    "type": "OPCUA-IIoT-Node",
    "z": "5bf22da3.a9afec",
    "injectType": "write",
    "nodeId": "ns=1;s=TestReadWrite",
    "datatype": "Double",
    "value": "",
    "name": "",
    "topic": "",
    "showErrors": true,
    "x": 370,
    "y": 1580,
    "wires": [
      [
        "4d8ebb64.c56844"
      ]
    ]
  },
  {
    "id": "bd60729c.c205d8",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "",
    "topic": "TestTopicWrite",
    "payload": "1234.56",
    "payloadType": "num",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 200,
    "y": 1580,
    "wires": [
      [
        "ecdb95b.79333e8"
      ]
    ]
  },
  {
    "id": "4518b9c0.3d35d",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "x": 680,
    "y": 1580,
    "wires": [
      [
        "f3ebcd6b.0f9f88"
      ]
    ]
  },
  {
    "id": "a1c29074.4421c8",
    "type": "OPCUA-IIoT-Flex-Server",
    "z": "5bf22da3.a9afec",
    "port": "55387",
    "endpoint": "",
    "acceptExternalCommands": true,
    "maxAllowedSessionNumber": "",
    "maxConnectionsPerEndpoint": "",
    "maxAllowedSubscriptionNumber": "",
    "alternateHostname": "",
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "allowAnonymous": true,
    "isAuditing": false,
    "serverDiscovery": true,
    "users": [],
    "xmlsets": [],
    "publicCertificateFile": "",
    "privateCertificateFile": "",
    "registerServerMethod": 1,
    "discoveryServerEndpointUrl": "",
    "capabilitiesForMDNS": "",
    "maxNodesPerRead": 1000,
    "maxNodesPerBrowse": 2000,
    "delayToClose": "3000",
    "addressSpaceScript": "function constructAlarmAddressSpace(server, addressSpace, eventObjects, done) {\n    // server = the created node-opcua server\n    // addressSpace = script placeholder\n    // eventObjects = to hold event variables in memory from this script\n    \n    // internal global sandbox objects are \n    // node = node of the flex server, \n    // coreServer = core iiot server object for debug and access to nodeOPCUA,\n    // and scriptObjects to hold variables and functions\n    const LocalizedText = coreServer.core.nodeOPCUA.LocalizedText\n    const namespace = addressSpace.getOwnNamespace()\n\n    const namespace2 = addressSpace.registerNamespace(\"BiancoRoyal\")\n    coreServer.internalDebugLog(addressSpace.getNamespaceArray()[2])\n    \n    coreServer.internalDebugLog('init dynamic address space')\n    node.warn('construct new address space for OPC UA')\n    \n    // from here - see the node-opcua docs how to build address sapces\n    let tanks = namespace.addObject({\n        browseName: 'Tanks',\n        description: 'The Object representing some tanks',\n        organizedBy: addressSpace.rootFolder.objects,\n        notifierOf: addressSpace.rootFolder.objects.server\n    })\n    \n    let oilTankLevel = namespace.addVariable({\n        browseName: 'OilTankLevel',\n        displayName: [\n          new LocalizedText({text: 'Oil Tank Level', locale: 'en-US'}),\n          new LocalizedText({text: 'Öl Tank Füllstand', locale: 'de-DE'})\n        ],\n        description: 'Fill level in percentage (0% to 100%) of the oil tank',\n        propertyOf: tanks,\n        dataType: 'Double',\n        eventSourceOf: tanks\n    })\n    \n    // ---------------------------------------------------------------------------------\n    // Let's create a exclusive Limit Alarm that automatically raise itself\n    // when the tank level is out of limit\n    // ---------------------------------------------------------------------------------\n    let exclusiveLimitAlarmType = addressSpace.findEventType('ExclusiveLimitAlarmType')\n    if (nonExclusiveLimitAlarmType === null) throw new Error(\"nonExclusiveLimitAlarmType Error Message\")(exclusiveLimitAlarmType !== null)\n    \n    let oilTankLevelCondition = namespace.instantiateExclusiveLimitAlarm(exclusiveLimitAlarmType, {\n        componentOf: tanks,\n        conditionSource: oilTankLevel,\n        browseName: 'OilTankLevelCondition',\n        displayName: [\n          new LocalizedText({text: 'Oil Tank Level Condition', locale: 'en-US'}),\n          new LocalizedText({text: 'Öl Tank Füllstand Bedingung', locale: 'de-DE'})\n        ],\n        description: 'ExclusiveLimitAlarmType Condition',\n        conditionName: 'OilLevelCondition',\n        optionals: [\n          'ConfirmedState', 'Confirm' // confirm state and confirm Method\n        ],\n        inputNode: oilTankLevel,   // the letiable that will be monitored for change\n        highHighLimit: 0.9,\n        highLimit: 0.8,\n        lowLimit: 0.2\n    })\n    \n    // --------------------------------------------------------------\n    // Let's create a second letiable with no Exclusive alarm\n    // --------------------------------------------------------------\n    let gasTankLevel = namespace.addVariable({\n        browseName: 'GasTankLevel',\n        displayName: [\n          new LocalizedText({text: 'Gas Tank Level', locale: 'en-US'}),\n          new LocalizedText({text: 'Gas Tank Füllstand', locale: 'de-DE'})\n        ],\n        description: 'Fill level in percentage (0% to 100%) of the gas tank',\n        propertyOf: tanks,\n        dataType: 'Double',\n        eventSourceOf: tanks\n    })\n    \n    // byte variable with value\n    if(scriptObjects.oilTankNumber === undefined || scriptObjects.oilTankNumber === null) {\n            scriptObjects.oilTankNumber = 100\n    }\n    \n    let oilTankNumber = namespace.addVariable({\n        nodeId: \"s=OilTankNumber\",\n        browseName: 'OilTankNumber',\n        displayName: [\n          new LocalizedText({text: 'Oil Tank Number', locale: 'en-US'}),\n          new LocalizedText({text: 'Öl Tank Nummer', locale: 'de-DE'})\n        ],\n        description: 'Number of the oil tank',\n        propertyOf: tanks,\n        dataType: 'Byte',\n        value: {\n            get: function () {\n                return new coreServer.core.nodeOPCUA.Variant({\n                    dataType: 'Byte',\n                    value: scriptObjects.oilTankNumber\n                })\n            },\n            set: function (variant) {\n                scriptObjects.oilTankNumber = variant.value\n                return coreServer.core.nodeOPCUA.StatusCodes.Good\n            }\n        }\n    })\n    \n    let nonExclusiveLimitAlarmType = addressSpace.findEventType('NonExclusiveLimitAlarmType')\n    if (nonExclusiveLimitAlarmType === null) throw new Error(\"nonExclusiveLimitAlarmType Error Message\")(nonExclusiveLimitAlarmType !== null)\n    \n    let gasTankLevelCondition = namespace.instantiateNonExclusiveLimitAlarm(nonExclusiveLimitAlarmType, {\n        componentOf: tanks,\n        conditionSource: gasTankLevel,\n        browseName: 'GasTankLevelCondition',\n        displayName: [\n          new LocalizedText({text: 'Gas Tank Level Condition', locale: 'en-US'}),\n          new LocalizedText({text: 'Gas Tank Füllstand Bedingung', locale: 'de-DE'})\n        ],\n        description: 'NonExclusiveLimitAlarmType Condition',\n        conditionName: 'GasLevelCondition',\n        optionals: [\n          'ConfirmedState', 'Confirm' // confirm state and confirm Method\n        ],\n        inputNode: gasTankLevel,   // the letiable that will be monitored for change\n        highHighLimit: 0.9,\n        highLimit: 0.8,\n        lowLimit: 0.2\n    })\n    \n    // variable with value\n    if(scriptObjects.testReadWrite === undefined || scriptObjects.testReadWrite === null) {\n            scriptObjects.testReadWrite = 1000.0\n    }\n    \n    let myVariables = namespace.addObject({\n        browseName: 'MyVariables',\n        description: 'The Object representing some variables',\n        organizedBy: addressSpace.rootFolder.objects,\n        notifierOf: addressSpace.rootFolder.objects.server\n    })\n    \n    if(coreServer.core) {\n        namespace.addVariable({\n            componentOf: myVariables,\n            nodeId: 'ns=1;s=TestReadWrite',\n            browseName: 'TestReadWrite',\n            displayName: [\n                new LocalizedText({text: 'Test Read and Write', locale: 'en-US'}),\n                new LocalizedText({text: 'Test Lesen Schreiben', locale: 'de-DE'})\n            ],\n            dataType: 'Double',\n            value: {\n                get: function () {\n                    return new coreServer.core.nodeOPCUA.Variant({\n                        dataType: 'Double',\n                        value: scriptObjects.testReadWrite\n                    })\n                },\n                set: function (variant) {\n                    scriptObjects.testReadWrite = parseFloat(variant.value)\n                    return coreServer.core.nodeOPCUA.StatusCodes.Good\n                }\n            }\n            \n        })\n        \n        let memoryVariable = namespace.addVariable({\n            componentOf: myVariables,\n            nodeId: 'ns=1;s=free_memory',\n            browseName: 'FreeMemory',\n            displayName: [\n                new LocalizedText({text: 'Free Memory', locale: 'en-US'}),\n                new LocalizedText({text: 'ungenutzer RAM', locale: 'de-DE'})\n            ],\n            dataType: 'Double',\n            \n            value: {\n              get: function () {\n                return new coreServer.core.nodeOPCUA.Variant({\n                  dataType: 'Double',\n                  value: coreServer.core.availableMemory()\n                })\n              }\n            }\n        })\n        addressSpace.installHistoricalDataNode(memoryVariable)\n       \n    } else {\n        coreServer.internalDebugLog('coreServer.core needed for coreServer.core.nodeOPCUA')\n    }\n    \n    // custom namespace ns=2\n    let boilers = namespace2.addObject({\n        browseName: 'Boilers',\n        description: 'The Object representing some boilers',\n        organizedBy: addressSpace.rootFolder.objects,\n        notifierOf: addressSpace.rootFolder.objects.server\n    })\n\n    let boilersSum = namespace2.addVariable({\n        browseName: 'BoilersSum',\n        displayName: [\n          new LocalizedText({text: 'Boilers sum of all fill levels', locale: 'en-US'}),\n          new LocalizedText({text: 'Boiler Summe aller Füllstand', locale: 'de-DE'})\n        ],\n        description: 'Fill level in percentage (0% to 100%) of the boilers',\n        propertyOf: boilers,\n        dataType: 'Double'\n    })\n    \n    // hold event objects in memory \n    eventObjects.oilTankLevel = oilTankLevel\n    eventObjects.oilTankLevelCondition = oilTankLevelCondition\n    \n    eventObjects.gasTankLevel = gasTankLevel\n    eventObjects.gasTankLevelCondition = gasTankLevelCondition\n    \n    done()\n}\n",
    "x": 1290,
    "y": 80,
    "wires": [
      [
        "fa82708f.cbae08"
      ]
    ]
  },
  {
    "id": "b29d2e34.cea4b",
    "type": "OPCUA-IIoT-Server-Command",
    "z": "5bf22da3.a9afec",
    "commandtype": "restart",
    "nodeId": "",
    "name": "restart",
    "x": 1130,
    "y": 80,
    "wires": [
      [
        "a1c29074.4421c8",
        "bf4b5f21.ae566"
      ]
    ]
  },
  {
    "id": "d8ebbd86.f9ea88",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "inject",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": false,
    "startDelay": "",
    "name": "",
    "addressSpaceItems": [],
    "x": 980,
    "y": 80,
    "wires": [
      [
        "b29d2e34.cea4b"
      ]
    ]
  },
  {
    "id": "fa82708f.cbae08",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 1450,
    "y": 80,
    "wires": []
  },
  {
    "id": "7a0a7d1a.be5454",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "",
    "topic": "",
    "payload": "",
    "payloadType": "date",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 980,
    "y": 180,
    "wires": [
      [
        "2c1b8706.db9688"
      ]
    ]
  },
  {
    "id": "8f396cd1.688388",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 1290,
    "y": 180,
    "wires": []
  },
  {
    "id": "bf4b5f21.ae566",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 1250,
    "y": 40,
    "wires": []
  },
  {
    "id": "19a20cdd.2c3a23",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 590,
    "y": 100,
    "wires": []
  },
  {
    "id": "8b3e2094.19c31",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 950,
    "y": 300,
    "wires": []
  },
  {
    "id": "50a8323e.8fc5dc",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "compressStructure": true,
    "showStatusActivities": false,
    "showErrors": false,
    "activateUnsetFilter": false,
    "activateFilters": false,
    "negateFilter": false,
    "filters": [],
    "x": 790,
    "y": 300,
    "wires": [
      [
        "8b3e2094.19c31"
      ]
    ]
  },
  {
    "id": "c58b91f5.61e6d8",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "compressStructure": true,
    "showStatusActivities": false,
    "showErrors": false,
    "activateUnsetFilter": false,
    "activateFilters": false,
    "negateFilter": false,
    "filters": [],
    "x": 690,
    "y": 820,
    "wires": [
      [
        "e45ed175.0394a"
      ]
    ]
  },
  {
    "id": "e45ed175.0394a",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 850,
    "y": 820,
    "wires": []
  },
  {
    "id": "93c5b120.f524f8",
    "type": "OPCUA-IIoT-Browser",
    "z": "5bf22da3.a9afec",
    "connector": "73f28bc6.74eba4",
    "nodeId": "",
    "name": "",
    "justValue": false,
    "sendNodesToRead": false,
    "sendNodesToListener": false,
    "sendNodesToBrowser": false,
    "singleBrowseResult": true,
    "recursiveBrowse": true,
    "recursiveDepth": "2",
    "delayPerMessage": "2",
    "showStatusActivities": false,
    "showErrors": false,
    "x": 300,
    "y": 1760,
    "wires": [
      [
        "707d0a4a.3bb3ac"
      ]
    ]
  },
  {
    "id": "3dc124f4.b5442c",
    "type": "OPCUA-IIoT-Inject",
    "z": "5bf22da3.a9afec",
    "injectType": "read",
    "payload": "",
    "payloadType": "date",
    "topic": "",
    "repeat": "",
    "crontab": "",
    "once": true,
    "startDelay": "15",
    "name": "Root",
    "addressSpaceItems": [],
    "x": 150,
    "y": 1760,
    "wires": [
      [
        "93c5b120.f524f8"
      ]
    ]
  },
  {
    "id": "abbd158c.b190c8",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": false,
    "console": "false",
    "complete": "true",
    "x": 630,
    "y": 1760,
    "wires": []
  },
  {
    "id": "707d0a4a.3bb3ac",
    "type": "OPCUA-IIoT-Response",
    "z": "5bf22da3.a9afec",
    "name": "",
    "compressStructure": true,
    "showStatusActivities": false,
    "showErrors": false,
    "activateUnsetFilter": true,
    "activateFilters": true,
    "negateFilter": true,
    "filters": [
      {
        "name": "nodeId",
        "value": "ns=0;*"
      }
    ],
    "x": 470,
    "y": 1760,
    "wires": [
      [
        "abbd158c.b190c8"
      ]
    ]
  },
  {
    "id": "fcb48ae2.54ff78",
    "type": "OPCUA-IIoT-Flex-Connector",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "connector": "3fa097ed.9d44c8",
    "x": 1420,
    "y": 320,
    "wires": [
      [
        "6f9db2fd.dd673c"
      ]
    ]
  },
  {
    "id": "6f9db2fd.dd673c",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": true,
    "console": "false",
    "complete": "true",
    "x": 1610,
    "y": 320,
    "wires": []
  },
  {
    "id": "8382b2ea.b4abd",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "Server 87",
    "topic": "",
    "payload": "{\"endpoint\":\"opc.tcp://localhost:55387/\",\"keepSessionAlive\":true,\"securityPolicy\":\"None\",\"securityMode\":\"None\",\"name\":\"LOCAL FLEX SERVER\",\"showErrors\":true,\"endpointMustExist\":false,\"autoSelectRightEndpoint\":true}",
    "payloadType": "json",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 1200,
    "y": 340,
    "wires": [
      [
        "fcb48ae2.54ff78"
      ]
    ]
  },
  {
    "id": "d9df3b84.0b4d18",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "Server 88",
    "topic": "",
    "payload": "{\"endpoint\":\"opc.tcp://localhost:55388/\",\"keepSessionAlive\":true,\"securityPolicy\":\"None\",\"securityMode\":\"None\",\"name\":\"LOCAL DEMO SERVER\",\"showErrors\":true,\"endpointMustExist\":false,\"autoSelectRightEndpoint\":true}",
    "payloadType": "json",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 1200,
    "y": 280,
    "wires": [
      [
        "fcb48ae2.54ff78"
      ]
    ]
  },
  {
    "id": "d3067eb5.84234",
    "type": "OPCUA-IIoT-Flex-Connector",
    "z": "5bf22da3.a9afec",
    "name": "",
    "showStatusActivities": false,
    "showErrors": true,
    "connector": "73f28bc6.74eba4",
    "x": 1380,
    "y": 600,
    "wires": [
      [
        "5d2f0960.d798a"
      ]
    ]
  },
  {
    "id": "5d2f0960.d798a",
    "type": "debug",
    "z": "5bf22da3.a9afec",
    "name": "",
    "active": true,
    "console": "false",
    "complete": "true",
    "x": 1570,
    "y": 600,
    "wires": []
  },
  {
    "id": "2c1d1b56.628734",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "Server 87",
    "topic": "",
    "payload": "{\"endpoint\":\"opc.tcp://localhost:55387/\",\"keepSessionAlive\":true,\"securityPolicy\":\"None\",\"securityMode\":\"None\",\"name\":\"LOCAL FLEX SERVER\",\"showErrors\":true,\"endpointMustExist\":false,\"autoSelectRightEndpoint\":true}",
    "payloadType": "json",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 1200,
    "y": 620,
    "wires": [
      [
        "d3067eb5.84234"
      ]
    ]
  },
  {
    "id": "49ec807c.baa4e8",
    "type": "inject",
    "z": "5bf22da3.a9afec",
    "name": "Server 88",
    "topic": "",
    "payload": "{\"endpoint\":\"opc.tcp://localhost:55388/\",\"keepSessionAlive\":true,\"securityPolicy\":\"None\",\"securityMode\":\"None\",\"name\":\"LOCAL DEMO SERVER\",\"showErrors\":true,\"endpointMustExist\":false,\"autoSelectRightEndpoint\":true}",
    "payloadType": "json",
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "x": 1200,
    "y": 560,
    "wires": [
      [
        "d3067eb5.84234"
      ]
    ]
  },
  {
    "id": "73f28bc6.74eba4",
    "type": "OPCUA-IIoT-Connector",
    "z": "5bf22da3.a9afec",
    "discoveryUrl": "opc.tcp://localhost:4840",
    "endpoint": "opc.tcp://localhost:55388",
    "keepSessionAlive": true,
    "loginEnabled": false,
    "securityPolicy": "None",
    "securityMode": "None",
    "name": "LOCAL DEMO SERVER",
    "showErrors": true,
    "publicCertificateFile": "",
    "privateKeyFile": "",
    "defaultSecureTokenLifetime": "60000",
    "endpointMustExist": false,
    "autoSelectRightEndpoint": false,
    "strategyMaxRetry": "",
    "strategyInitialDelay": "",
    "strategyMaxDelay": "",
    "strategyRandomisationFactor": "",
    "requestedSessionTimeout": "",
    "connectionStartDelay": "",
    "reconnectDelay": "",
    "maxBadSessionRequests": ""
  },
  {
    "id": "3fa097ed.9d44c8",
    "type": "OPCUA-IIoT-Connector",
    "z": "",
    "discoveryUrl": "",
    "endpoint": "opc.tcp://localhost:55388/",
    "keepSessionAlive": true,
    "loginEnabled": false,
    "securityPolicy": "None",
    "securityMode": "None",
    "name": "LOCAL EVENT CLIENT",
    "showErrors": true,
    "publicCertificateFile": "",
    "privateKeyFile": "",
    "defaultSecureTokenLifetime": "",
    "endpointMustExist": false,
    "autoSelectRightEndpoint": false,
    "strategyMaxRetry": "",
    "strategyInitialDelay": "",
    "strategyMaxDelay": "",
    "strategyRandomisationFactor": "",
    "requestedSessionTimeout": "",
    "connectionStartDelay": "",
    "reconnectDelay": "",
    "maxBadSessionRequests": "10"
  }
]
