#767 JSON output from NHaystack API call

Ramamurthi Iyer Tue 10 Dec 2019

Hi,

We are making a call to an Nhaystack service which is running on Niagara 4.8 workbench. We have sites, equipment(AHU) created on a Demo station

API Call: https://tridium.dev.iot.synchronoss.net/haystack/read?filter=equipRef

Following is JSON Payload from the response: I have 2 questions:

  1. How can I exclude/filter out the cols field from the API response
  2. I have a column name "name": "dischargeAirFanCmd". I need to have a value assigned to this column "dischargeAirFanCmd" as the value of the column "curVal".

Is that possible as per API specifications?

{

"meta": {
    "ver": "2.0"
},
"cols": [
    {
        "name": "cur"
    },
    {
        "name": "tz"
    },
    {
        "name": "air"
    },
    {
        "name": "curStatus"
    },
    {
        "name": "point"
    },
    {
        "name": "dischargeAirFanCmd"
    },
    {
        "name": "writable"
    },
    {
        "name": "dis"
    },
    {
        "name": "curErr"
    },
    {
        "name": "fan"
    },
    {
        "name": "curVal"
    },
    {
        "name": "writeStatus"
    },
    {
        "name": "discharge"
    },
    {
        "name": "axType"
    },
    {
        "name": "navName"
    },
    {
        "name": "equipRef"
    },
    {
        "name": "id"
    },
    {
        "name": "kind"
    },
    {
        "name": "writeLevel"
    },
    {
        "name": "axSlotPath"
    },
    {
        "name": "siteRef"
    },
    {
        "name": "enum"
    },
    {
        "name": "writeVal"
    },
    {
        "name": "writeErr"
    },
    {
        "name": "axStatus"
    },
    {
        "name": "cmd"
    },
    {
        "name": "actions"
    },
    {
        "name": "axAnnotated"
    },
    {
        "name": "precision"
    },
    {
        "name": "maxVal"
    },
    {
        "name": "minVal"
    },
    {
        "name": "unit"
    },
    {
        "name": "hisErr"
    },
    {
        "name": "his"
    },
    {
        "name": "hisStatus"
    },
    {
        "name": "hisInterpolate"
    }
],
"rows": [
    {
        "cur": "m:",
        "tz": "UTC",
        "air": "m:",
        "curStatus": "ok",
        "point": "m:",
        "dischargeAirFanCmd": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SFanCmd",
        "curErr": "",
        "fan": "m:",
        "curVal": false,
        "writeStatus": "ok",
        "discharge": "m:",
        "axType": "s:control:BooleanWritable",
        "navName": "SFanCmd",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SFanCmd",
        "kind": "Bool",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanCmd",
        "siteRef": "r:S.Rackspace",
        "enum": "CmdOff,CmdOn",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "ok",
        "cmd": "m:",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"HandOn\",\"pointOverride($self, true, $duration)\"\n\"HandOff\",\"pointOverride($self, false, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "axAnnotated": "m:"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SFanSts",
        "curErr": "",
        "curVal": false,
        "writeStatus": "ok",
        "axType": "s:control:BooleanWritable",
        "navName": "SFanSts",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SFanSts",
        "kind": "Bool",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanSts",
        "siteRef": "r:S.Rackspace",
        "enum": "Off,On",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "unackedAlarm"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 ClgCmd",
        "curErr": "",
        "curVal": "n:0.0 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "ClgCmd",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.ClgCmd",
        "kind": "Number",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/ClgCmd",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:0.0",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"ClgOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RFanSts",
        "curErr": "",
        "curVal": false,
        "writeStatus": "ok",
        "axType": "s:control:BooleanWritable",
        "navName": "RFanSts",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RFanSts",
        "kind": "Bool",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RFanSts",
        "siteRef": "r:S.Rackspace",
        "enum": "Off,On",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "unackedAlarm"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RFanCmd",
        "curErr": "",
        "curVal": false,
        "writeStatus": "ok",
        "axType": "s:control:BooleanWritable",
        "navName": "RFanCmd",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RFanCmd",
        "kind": "Bool",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RFanCmd",
        "siteRef": "r:S.Rackspace",
        "enum": "CmdOff,CmdOn",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"HandOn\",\"pointOverride($self, true, $duration)\"\n\"HandOff\",\"pointOverride($self, false, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 HtgCmd",
        "curErr": "",
        "curVal": "n:0.0 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "HtgCmd",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.HtgCmd",
        "kind": "Number",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/HtgCmd",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:0.0",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"HtgOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 OaDmp",
        "curErr": "",
        "curVal": "n:60 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "OaDmp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.OaDmp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/OaDmp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:60",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"DmpOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 EaDmp",
        "curErr": "",
        "curVal": "n:60 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "EaDmp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.EaDmp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/EaDmp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:60",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"DmpOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RaDmp",
        "curErr": "",
        "curVal": "n:60 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "RaDmp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RaDmp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RaDmp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:60",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"DmpOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 FilterAlm",
        "curErr": "",
        "curVal": "null",
        "writeStatus": "unknown",
        "axType": "s:control:BooleanWritable",
        "navName": "FilterAlm",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.FilterAlm",
        "kind": "Bool",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/FilterAlm",
        "siteRef": "r:S.Rackspace",
        "enum": "Normal,InAlarm",
        "writeVal": "null",
        "writeErr": "",
        "axStatus": "null"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RaTemp",
        "curErr": "",
        "curVal": "n:150 °F",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "RaTemp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RaTemp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RaTemp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:150",
        "writeErr": "",
        "axStatus": "alarm,unackedAlarm",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "°F",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RaCo2",
        "curErr": "",
        "curVal": "n:600 ppm",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "RaCo2",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RaCo2",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RaCo2",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:600",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "ppm",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RaFlow",
        "curErr": "",
        "curVal": "n:50 cfm",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "RaFlow",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RaFlow",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RaFlow",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:50",
        "writeErr": "",
        "axStatus": "alarm,unackedAlarm",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "cfm",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 RFanSpeed",
        "curErr": "",
        "curVal": "n:0.0 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "RFanSpeed",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.RFanSpeed",
        "kind": "Number",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/RFanSpeed",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:0.0",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"FanOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SFanSpeed",
        "curErr": "",
        "curVal": "n:0.0 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SFanSpeed",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SFanSpeed",
        "kind": "Number",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanSpeed",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:0.0",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"FanOverride\",\"pointOverride($self, $val, $duration)\"\n\"BasCtrl\",\"pointAuto($self)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 OaTemp",
        "curErr": "",
        "curVal": "n:70 °F",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "OaTemp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.OaTemp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/OaTemp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:70",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "°F",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 OaCo2",
        "curErr": "",
        "curVal": "n:300 ppm",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "OaCo2",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.OaCo2",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/OaCo2",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:300",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "ppm",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 OaFlow",
        "curErr": "",
        "curVal": "n:1500 cfm",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "OaFlow",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.OaFlow",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/OaFlow",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:1500",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "cfm",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SaTemp",
        "curErr": "",
        "curVal": "n:70 °F",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SaTemp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SaTemp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SaTemp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:70",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "°F",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SaFlow",
        "curErr": "",
        "curVal": "n:1500 cfm",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SaFlow",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SaFlow",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SaFlow",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:1500",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "cfm",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SaStatic",
        "curErr": "",
        "curVal": "n:3 in/wc",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SaStatic",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SaStatic",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SaStatic",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:3",
        "writeErr": "",
        "axStatus": "alarm,unackedAlarm",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:5",
        "minVal": "n:0.0",
        "unit": "in/wc",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SaStaticSp",
        "curErr": "",
        "curVal": "n:1.5 in/wc",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SaStaticSp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SaStaticSp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SaStaticSp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:1.5",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:5",
        "minVal": "n:0.0",
        "unit": "in/wc"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SFanMinSp",
        "curErr": "",
        "curVal": "n:30 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SFanMinSp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SFanMinSp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanMinSp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:30",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SFanMaxSp",
        "curErr": "",
        "curVal": "n:100 %",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SFanMaxSp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SFanMaxSp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanMaxSp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:100",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:1.0",
        "maxVal": "n:100",
        "minVal": "n:0.0",
        "unit": "%"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SaSp",
        "curErr": "",
        "curVal": "n:75 °F",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "SaSp",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SaSp",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SaSp",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:75",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "°F"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 SpChangeover",
        "curErr": "",
        "curVal": false,
        "writeStatus": "ok",
        "axType": "s:control:BooleanWritable",
        "navName": "SpChangeover",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.SpChangeover",
        "kind": "Bool",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/SpChangeover",
        "siteRef": "r:S.Rackspace",
        "enum": "Hide,Show",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 Schedule",
        "curErr": "",
        "curVal": false,
        "writeStatus": "ok",
        "axType": "s:control:BooleanWritable",
        "navName": "Schedule",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.Schedule",
        "kind": "Bool",
        "writeLevel": "n:10",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/Schedule",
        "siteRef": "r:S.Rackspace",
        "enum": "ScheduleOff,ScheduleOn",
        "writeVal": false,
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Active\",\"pointOverride($self, true, $duration)\"\n\"Inactive\",\"pointOverride($self, false, $duration)\"\n\"Auto\",\"pointAuto($self)\"\n\"Set\",\"pointSetDef($self, $val)\"\n"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 HvacMode",
        "curErr": "",
        "curVal": "Fans",
        "writeStatus": "ok",
        "axType": "s:control:EnumWritable",
        "navName": "HvacMode",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.HvacMode",
        "kind": "Str",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/HvacMode",
        "siteRef": "r:S.Rackspace",
        "enum": "Cool,Heat,Fans",
        "writeVal": "Fans",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n"
    },
    {
        "cur": "m:",
        "tz": "UTC",
        "curStatus": "ok",
        "point": "m:",
        "writable": "m:",
        "dis": "Rackspace AHU_01 OaHum",
        "curErr": "",
        "curVal": "n:54 %RH",
        "writeStatus": "ok",
        "axType": "s:control:NumericWritable",
        "navName": "OaHum",
        "equipRef": "r:S.Rackspace.AHU_01",
        "id": "r:S.Rackspace.AHU_01.OaHum",
        "kind": "Number",
        "writeLevel": "n:17",
        "axSlotPath": "s:slot:/Drivers/BacnetNetwork/AHU_01/OaHum",
        "siteRef": "r:S.Rackspace",
        "writeVal": "n:54",
        "writeErr": "",
        "axStatus": "ok",
        "actions": "s:ver:\"3.0\"\ndis,expr\n\"Set\",\"pointSetDef($self, $val)\"\n",
        "precision": "n:2",
        "maxVal": "n:INF",
        "minVal": "n:-INF",
        "unit": "%RH",
        "hisErr": "",
        "his": "m:",
        "hisStatus": "ok",
        "hisInterpolate": "linear"
    }
]

}

Richard McElhinney Thu 12 Dec 2019

Hi Ramamurthi,

For your first question I have reviewed the REST API specifications as documented on this website and I couldn't see any reference to the server response being able to exclude specific columns. Therefore this will not be supported in nhaystack. If you wish to do this you would need to do some processing of the response grid in your client before presenting the grid to the user or the next step of your process.

For your second question I'm not sure how to achieve what you want. When using the control points in a Niagara station the value of the out slot is automatically applied to the curVal tag via implicit tagging. In nhaystack there isn't a configurable option to change where the value of the out slot is set.

Again, you could achieve this with some processing of the response on your client.

Justin Scott Mon 16 Dec 2019

For the exclusion here is a Javascript example of how I process the payload responses:

let data = {
  meta: {
    ver: "2.0"
  },
  cols: [
    {
      name: "cur"
    },
    {
      name: "tz"
    },
    {
      name: "air"
    }
  ],
  rows: [
    {
      cur: "m:",
      tz: "UTC",
      air: "m:",
      curStatus: "ok",
      point: "m:",
      dischargeAirFanCmd: "m:",
      writable: "m:",
      dis: "Rackspace AHU_01 SFanCmd",
      curErr: "",
      fan: "m:",
      curVal: false,
      writeStatus: "ok",
      discharge: "m:",
      axType: "s:control:BooleanWritable",
      navName: "SFanCmd",
      equipRef: "r:S.Rackspace.AHU_01",
      id: "r:S.Rackspace.AHU_01.SFanCmd",
      kind: "Bool",
      writeLevel: "n:10",
      axSlotPath: "s:slot:/Drivers/BacnetNetwork/AHU_01/SFanCmd",
      siteRef: "r:S.Rackspace",
      enum: "CmdOff,CmdOn",
      writeVal: false,
      writeErr: "",
      axStatus: "ok",
      cmd: "m:",
      actions:
        's:ver:"3.0"\ndis,expr\n"HandOn","pointOverride($self, true, $duration)"\n"HandOff","pointOverride($self, false, $duration)"\n"BasCtrl","pointAuto($self)"\n',
      axAnnotated: "m:"
    }
  ]
};


let dataTrim = data.rows;

// Synchronous
dataTrim.forEach( row => {
    // Log a row 
    console.log(row);
    delete row.curVal;
    let displayName = row.dis;
    console.log(displayName);
});

Most languages should allow you to point to a path on the DICT/Object/etc. JS you get a good bit of flexibility as it treats JSON like a JS Object with certain operations. Object.Keys() and Object.Values() are good to parse with if you just want the keys and/or values as well as doing some iterations over arrays from an object.

Login or Signup to reply.