{
 "manufacturer": "Greystone Energy Systems",
 "manufacturer_slug": "greystone",
 "model": "CMD Series CO transmitter (BACnet MS/TP)",
 "model_slug": "cmd-co-transmitter",
 "aliases": [
  "CMD",
  "CMD5B",
  "CMDXXXBAC",
  "Greystone CMD carbon monoxide"
 ],
 "equipment_type": "Carbon monoxide (CO) gas sensor / transmitter",
 "applies_to": "Greystone CMD series carbon monoxide transmitters (model name CMD5B) with BACnet MS/TP, with optional relays, buzzer and temperature.",
 "summary": "The CMD is a Greystone carbon monoxide transmitter with native BACnet MS/TP. It reports CO and temperature as Analog Inputs, buzzer and relay settings and timers as Analog Values, enables, resets and relay action as Binary Values, and alarm, relay and fault states as Binary Inputs.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "1.2 (PICS, Feb 15, 2016)",
 "default_device_instance": 381004,
 "access_inferred": false,
 "notes": [
  "Points from the object summary table on page 1 of the setup guide; the object pages print most names with underscores (e.g. Buzzer_Setpoint).",
  "Relay 2 objects do nothing when the second relay is not fitted.",
  "The guide says the BACnet port is for reading values and changing parameters only, not for running control logic; there are no event objects.",
  "AI 2 is only valid on space models mounted flat on a wall; it does not give duct temperature on duct models.",
  "The guide does not list what each Output Test value (0-6) does."
 ],
 "source": {
  "title": "CMD Series Carbon Monoxide Transmitter - Setup Guide BACnet Communication",
  "doc_number": "SG-CMDXXXBAC-01-01",
  "revision_date": "05/19",
  "url": "https://downloads.greystoneenergy.com/Website%20Documents/CMD/SG-CMDXXXBAC.pdf"
 },
 "integration": {
  "summary": "Set the MS/TP MAC and baud in the local menu, then read CO (AI 1) and the alarm and fault BIs. Relay and buzzer setpoints are stored settings, set once.",
  "minimum_points": [
   {
    "ref": "AI 1",
    "name": "CO Sensor Value",
    "why": "Space CO, ppm"
   },
   {
    "ref": "BI 3",
    "name": "Relay 1 Status",
    "why": "Relay 1 (fan or alarm stage) active"
   },
   {
    "ref": "BI 4",
    "name": "Relay 2 Status",
    "why": "Relay 2 active (if fitted)"
   },
   {
    "ref": "BI 1",
    "name": "CO Status",
    "why": "Any CO alarm present"
   },
   {
    "ref": "BI 6",
    "name": "Fault Status",
    "why": "Sensor fault / end-of-life alarm"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Factory defaults are MAC address 4 and 9600 baud, set in the local menu; supported baud 9600-76800.",
   "Device instance defaults to 381000 + MAC (381004); it stops tracking the MAC once written over BACnet.",
   "Set Max_Master to the highest MAC on the segment instead of the default 127."
  ],
  "gotchas": [
   "Poll every 5-10 s; faster polling congests the MS/TP segment.",
   "Fault Mode Time and ReCal Mode Time are multi-year timers; reset them with BV 3 and BV 8 after service."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "CO Sensor Value",
   "description": "CO concentration",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Temperature",
   "description": "Temperature; units follow BV 9 (space models only)",
   "units": "°C / °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Buzzer Setpoint",
   "description": "Buzzer alarm level, 20-500 ppm (default 150)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Buzzer Delay",
   "description": "Buzzer delay, 0-10 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Relay 1 Setpoint",
   "description": "Relay 1 trip level, 20-500 ppm (default 50)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Relay 1 Hysteresis",
   "description": "Relay 1 hysteresis, 10-100 ppm (default 10)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Relay 1 Delay",
   "description": "Relay 1 delay, 0-10 min (default 2)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Relay 2 Setpoint",
   "description": "Relay 2 trip level, 20-500 ppm (default 150)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Relay 2 Hysteresis",
   "description": "Relay 2 hysteresis, 10-100 ppm (default 20)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Relay 2 Delay",
   "description": "Relay 2 delay, 0-10 min (default 2)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Test Mode Time",
   "description": "Test mode duration, 1-15 min (default 5)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Output Test",
   "description": "Output test selection, 0-6 (default 0)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Fault Mode Time",
   "description": "Sensor-life fault timer: 3, 4, 5 or 6 years (default 3)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "ReCal Mode Time",
   "description": "Recalibration reminder: 1, 2 or 3 years (default 1)",
   "units": "years",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Temperature Offset",
   "description": "Temperature calibration offset (default 0)",
   "units": "delta °C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Buzzer Enable/Disable",
   "description": "Buzzer enable (normally 1)",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Fault Mode Enable/Disable",
   "description": "Sensor-life fault alarm enable (normally 0)",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Fault Mode Reset",
   "description": "Write 1 to reset the fault mode and its timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Display Mode",
   "description": "Show CO on the LCD (0 hides the reading)",
   "units": "",
   "access": "W",
   "states": "0=Suppress CO reading, 1=Show"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Backlight Enable/Disable",
   "description": "LCD backlight enable (normally 1)",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Test Mode Enable/Disable",
   "description": "Write 1 to start test mode",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Test mode"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "ReCal Mode Enable/Disable",
   "description": "Recalibration reminder alarm enable (normally 1)",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "ReCal Mode Reset",
   "description": "Write 1 to reset the recal reminder and its timer",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Reset"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Temperature Units",
   "description": "Temperature unit select",
   "units": "",
   "access": "W",
   "states": "0=°C, 1=°F"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Relay 1 Operation",
   "description": "Relay 1 action",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Reverse"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Relay 2 Operation",
   "description": "Relay 2 action",
   "units": "",
   "access": "W",
   "states": "0=Direct, 1=Reverse"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "CO Status",
   "description": "Any alarm present",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Buzzer Status",
   "description": "Buzzer active",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Active"
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Relay 1 Status",
   "description": "Relay 1 active",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Active"
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Relay 2 Status",
   "description": "Relay 2 active",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Active"
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Test Mode Status",
   "description": "Test mode running",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Active"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Fault Status",
   "description": "Fault alarm active",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=Fault"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/greystone/cmd-co-transmitter",
 "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"
}
