{
 "manufacturer": "Greystone Energy Systems",
 "manufacturer_slug": "greystone",
 "model": "GDT Series toxic gas detector, CO / NO2 (BACnet MS/TP)",
 "model_slug": "gdt-toxic-gas-detector",
 "aliases": [
  "GDT",
  "GDTXXXBAC",
  "GS",
  "Greystone CO NO2 gas detector",
  "parking garage gas detector"
 ],
 "equipment_type": "Gas detector / sensor (CO and NO2)",
 "applies_to": "Greystone GDT series toxic gas detectors with CO and/or NO2 sensors, relays, buzzer and strobe, using BACnet MS/TP (typical for parking garages).",
 "summary": "The GDT is a Greystone CO and NO2 gas detector with native BACnet MS/TP. Gas and temperature readings are Analog Inputs; buzzer, strobe and two relay alarms (setpoint, hysteresis, delay) plus sensor-life and recalibration timers are Analog Values; Binary Values enable, test and reset each function, and twelve Binary Inputs report sensor presence, alarms and service states.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "1.0 (PICS, July 10, 2019)",
 "default_device_instance": 381003,
 "access_inferred": false,
 "notes": [
  "Points from the object table on pages 1-2 of the setup guide.",
  "Alarm 1/2 setpoint and hysteresis ranges change with BV 5/BV 6: CO 20-500 ppm, NO2 1-10 ppm.",
  "The table prints AV 19 as \"NO2 Stobe Setpoint\"; its object page spells it \"NO2 Strobe Setpoint\".",
  "Multistate objects are MSV in the guide; listed here as MV. Access from the PICS: AV, BV and MSV Present_Value are writable."
 ],
 "source": {
  "title": "GDT Series Toxic Gas Detector - Setup Guide for BACnet Communication",
  "doc_number": "SG-GDTXXXBAC-003",
  "revision_date": "2019-07-10 (PICS date)",
  "url": "https://downloads.greystoneenergy.com/SG/SG-GDTXXXBAC-003.pdf"
 },
 "integration": {
  "summary": "Set the MS/TP MAC in the menu, then read CO and NO2 and the alarm, fault and recal BIs. Assign and set the two relay alarms once; they usually start garage exhaust fans locally.",
  "minimum_points": [
   {
    "ref": "AI 1",
    "name": "CO Sensor Value",
    "why": "CO level, ppm"
   },
   {
    "ref": "AI 2",
    "name": "NO2 Sensor Value",
    "why": "NO2 level, ppm"
   },
   {
    "ref": "BI 5",
    "name": "Alarm1 Status",
    "why": "Alarm / relay 1 active (fan stage 1)"
   },
   {
    "ref": "BI 6",
    "name": "Alarm2 Status",
    "why": "Alarm / relay 2 active (fan stage 2)"
   },
   {
    "ref": "BI 3",
    "name": "Device Status",
    "why": "General device alarm"
   },
   {
    "ref": "BI 8",
    "name": "CO Fault Mode Status",
    "why": "CO sensor end-of-life fault"
   },
   {
    "ref": "BI 9",
    "name": "NO2 Fault Mode Status",
    "why": "NO2 sensor end-of-life fault"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Device instance defaults to 381003 (381000 + MAC); it stops following the MAC once written over BACnet.",
   "MS/TP baud rates 9600-115200 are supported."
  ],
  "gotchas": [
   "With BV 7 = Manual Reset, alarms latch until reset.",
   "After replacing or recalibrating a sensor, reset its fault and recal timers (BV 14/16/18/20)."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "CO Sensor Value",
   "description": "CO, 0-500 ppm",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "NO2 Sensor Value",
   "description": "NO2, 0-10 ppm",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Temperature Sensor Value",
   "description": "Temperature, -20 to 50 °C",
   "units": "°C / °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "CO Buzzer Setpoint",
   "description": "CO buzzer level, 20-500 ppm (default 150)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "CO Buzzer Delay",
   "description": "CO buzzer delay, 0-10 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "NO2 Buzzer Setpoint",
   "description": "NO2 buzzer level, 1-10 ppm (default 2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "NO2 Buzzer Delay",
   "description": "NO2 buzzer delay, 0-10 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Alarm1 Setpoint",
   "description": "Alarm/relay 1 level (default 50 ppm CO or 2 ppm NO2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Alarm1 Hysteresis",
   "description": "Alarm 1 hysteresis (default 10 ppm CO or 0.5 ppm NO2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Alarm1 Delay",
   "description": "Alarm 1 delay, 0-10 min (default 2)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Alarm2 Setpoint",
   "description": "Alarm/relay 2 level (default 150 ppm CO or 4 ppm NO2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Alarm2 Hysteresis",
   "description": "Alarm 2 hysteresis (default 20 ppm CO or 0.5 ppm NO2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Alarm2 Delay",
   "description": "Alarm 2 delay, 0-10 min (default 2)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Test Mode Time",
   "description": "Test mode duration, 1-15 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "CO Fault Mode Time",
   "description": "CO sensor-life timer, 3-6 years (default 3)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "NO2 Fault Mode Time",
   "description": "NO2 sensor-life timer, 1-4 years (default 2)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "CO ReCal Mode Time",
   "description": "CO recalibration reminder, 1-3 years (default 1)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "NO2 ReCal Mode Time",
   "description": "NO2 recalibration reminder, 1-3 years (default 1)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Temperature Offset",
   "description": "Temperature offset, ±5 Δ°C or ±10 Δ°F (default 0)",
   "units": "delta °C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "CO Strobe Setpoint",
   "description": "CO strobe level, 20-500 ppm (default 150)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "CO Strobe Delay",
   "description": "CO strobe delay, 0-10 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "NO2 Stobe Setpoint",
   "description": "NO2 strobe level, 1-10 ppm (default 2)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "NO2 Strobe Delay",
   "description": "NO2 strobe delay, 0-10 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Buzzer Alarm",
   "description": "Buzzer master enable (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "CO Buzzer Alarm",
   "description": "Buzzer on CO alarm (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "NO2 Buzzer Alarm",
   "description": "Buzzer on NO2 alarm (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Buzzer Alarm Test",
   "description": "Buzzer test",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Test"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Alarm1 Assignment",
   "description": "Gas that drives alarm 1",
   "units": "",
   "access": "W",
   "states": "0=CO, 1=NO2"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Alarm2 Assignment",
   "description": "Gas that drives alarm 2",
   "units": "",
   "access": "W",
   "states": "0=CO, 1=NO2"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Alarm Mode Operation",
   "description": "Alarm 1/2 reset mode (default Auto)",
   "units": "",
   "access": "W",
   "states": "0=Auto Reset, 1=Manual Reset"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Relay1 Operation",
   "description": "Relay 1 action",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Reverse"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Relay2 Operation",
   "description": "Relay 2 action",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Reverse"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Relay1 Test",
   "description": "Relay 1 test",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Test"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Relay2 Test",
   "description": "Relay 2 test",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Test"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Test Mode Enable",
   "description": "Starts test mode",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "CO Fault Mode Enable",
   "description": "CO sensor-life alarm enable (default 0)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "CO Fault Mode Reset",
   "description": "Reset CO fault mode and timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "NO2 Fault Mode Enable",
   "description": "NO2 sensor-life alarm enable (default 0)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "NO2 Fault Mode Reset",
   "description": "Reset NO2 fault mode and timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "CO ReCal Mode Enable",
   "description": "CO recal reminder enable (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "CO ReCal Mode Reset",
   "description": "Reset CO recal reminder and timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "NO2 ReCal Mode Enable",
   "description": "NO2 recal reminder enable (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "NO2 ReCal Mode Reset",
   "description": "Reset NO2 recal reminder and timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "CO Zero Filter",
   "description": "CO zero filter (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 22,
   "name": "NO2 Zero Filter",
   "description": "NO2 zero filter (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "Strobe Alarm",
   "description": "Strobe master enable (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "CO Strobe Alarm",
   "description": "Strobe on CO alarm (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 25,
   "name": "NO2 Strobe Alarm",
   "description": "Strobe on NO2 alarm (default 1)",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 26,
   "name": "Strobe Alarm Test",
   "description": "Strobe test",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Test"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "CO Sensor Status",
   "description": "CO sensor fitted",
   "units": "",
   "access": "R",
   "states": "0=No Sensor, 1=Sensor"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "NO2 Sensor Status",
   "description": "NO2 sensor fitted",
   "units": "",
   "access": "R",
   "states": "0=No Sensor, 1=Sensor"
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Device Status",
   "description": "General device alarm",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Buzzer Status",
   "description": "Buzzer sounding",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Alarm1 Status",
   "description": "Alarm/relay 1 active",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Alarm2 Status",
   "description": "Alarm/relay 2 active",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Test Mode Status",
   "description": "Test mode running",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Test Mode"
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "CO Fault Mode Status",
   "description": "CO sensor-life fault",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=CO Fault Mode"
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "NO2 Fault Mode Status",
   "description": "NO2 sensor-life fault",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=NO2 Fault Mode"
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "CO ReCal Mode Status",
   "description": "CO recalibration due",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=CO ReCal Mode"
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "NO2 ReCal Mode Status",
   "description": "NO2 recalibration due",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=NO2 ReCal Mode"
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Strobe Status",
   "description": "Strobe active",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "LCD Format",
   "description": "Values shown on the LCD (default 1)",
   "units": "",
   "access": "W",
   "states": "1=CO, 2=NO2, 3=CO + NO2, 4=Temp, 5=CO + Temp, 6=NO2 + Temp, 7=Status, 8=None"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "LCD Backlight",
   "description": "LCD backlight mode (default Auto)",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Off, 3=On"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/greystone/gdt-toxic-gas-detector",
 "note": "Provided as-is. Point availability varies by firmware and options; verify against the live device.",
 "disclaimer": "DISCLAIMER: reference only, provided AS IS with no warranty. May contain errors or be out of date. You must verify every point against the manufacturer's current documentation and the live device before use. easybacnet.com accepts no liability for its use and is not affiliated with the manufacturer. Terms: https://easybacnet.com/terms#content"
}
