{
  "name": "OPC-UA Uplink Converter",
  "type": "UPLINK",
  "integrationType": "OPC_UA",
  "debugMode": false,
  "debugSettings": {
    "failuresEnabled": true,
    "allEnabled": false,
    "allEnabledUntil": 0
  },
  "configuration": {
    "scriptLang": "JS",
    "decoder": "var data = decodeToJson(payload);\nvar deviceName = metadata['opcUaNode_name'];\nvar deviceType = 'airconditioner';\n\nvar result = {\n   deviceName: deviceName,\n   deviceType: deviceType,\n   telemetry: {\n   },\n   attributes: {\n   }\n};\n\nif (data.temperature) {\n    result.telemetry.temperature = Number(Number(data.temperature).toFixed(2));\n}\n\nif (data.humidity) {\n    result.telemetry.humidity = Number(Number(data.humidity).toFixed(2));\n}\n\nif (data.powerConsumption) {\n    result.telemetry.powerConsumption = Number(Number(data.powerConsumption).toFixed(2));\n}\n\nif (data.state !== undefined) {\n    result.attributes.state = data.state === '1' ? true : false;\n}\n\nfunction decodeToString(payload) {\n   return String.fromCharCode.apply(String, payload);\n}\n\nfunction decodeToJson(payload) {\n   var str = decodeToString(payload);\n   var data = JSON.parse(str);\n   return data;\n}\n\nreturn result;",
    "tbelDecoder": "var data = decodeToJson(payload);\nvar deviceName = metadata['opcUaNode_name'];\nvar namespaceIndex = metadata['opcUaNode_namespaceIndex'];\nvar deviceType = 'airconditioner';\n\nvar result = {\n   deviceName: deviceName,\n   deviceType: deviceType,\n   telemetry: {\n   },\n   attributes: {\n       namespaceIndex: namespaceIndex\n   }\n};\n\nif (data.temperature != null) {\n    result.telemetry.temperature = toFixed(data.temperature, 2);\n}\n\nif (data.humidity != null) {\n   result.telemetry.humidity = toFixed(data.humidity, 2);\n}\n\nif (data.powerConsumption != null) {\n   result.telemetry.powerConsumption = toFixed(data.powerConsumption, 2);\n}\n\nif (data.state != null) {\n   result.attributes.state = data.state == '1' ? true : false;\n}\n\n/** Helper functions 'decodeToString' and 'decodeToJson' are already built-in **/\n\nreturn result;",
    "encoder": null,
    "tbelEncoder": null,
    "updateOnlyKeys": [
      "manufacturer"
    ]
  },
  "additionalInfo": {
    "description": ""
  },
  "edgeTemplate": false,
  "converterVersion": 1
}