{
 "manufacturer": "Johnson Controls",
 "manufacturer_slug": "johnson-controls",
 "model": "HMS1655 Fume Hood Controller (BACnet MS/TP)",
 "model_slug": "hms1655-fume-hood-controller",
 "short_model": "HMS1655 Fume Hood Controller",
 "aliases": [
  "HMS1655",
  "HMS-1655",
  "Hood Monitoring Station",
  "JCI fume hood controller"
 ],
 "equipment_type": "Laboratory VAV controller (fume hood)",
 "applies_to": "Fume hoods controlled and monitored by the Johnson Controls HMS1655 fume hood controller with face velocity, sash, pressure, airflow and temperature inputs.",
 "summary": "The HMS1655 is a fume hood controller and monitor that holds face velocity by driving the exhaust damper and reports sash, pressure, airflow and temperature inputs. Over BACnet MS/TP it exposes six inputs, four analog outputs and four relays, occupancy and emergency purge commands, setpoints, alarm limits, air change and volumetric offset values, network-written sensor values and multistate operating mode and alarm status objects.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "The guide lists each object with a functional description, not an Object_Name string; that description is used as the point name here.",
  "Multistate objects are printed as MSO (multistate output) and are shown here as MO.",
  "Alarm Relay 4 High/Low Setpoint (AV 18/19) are marked N/A for read/write in the table; they are shown as read-only.",
  "What AI 1-4 measure depends on how each input is configured; the names give the factory default use.",
  "Units are not printed in the BACnet table."
 ],
 "source": {
  "title": "HMS1655 Fume Hood Controller Installation Guide",
  "doc_number": "LIT-12013211",
  "revision_date": "2024-05",
  "url": "https://docs.johnsoncontrols.com/bas/api/khub/documents/ZFysYMk8XVZk9JcDCr24Pw/content"
 },
 "integration": {
  "summary": "Map the operating mode and emergency purge commands, the face velocity setpoint, measured face velocity, sash position and exhaust damper signal, and the face velocity alarm status.",
  "minimum_points": [
   {
    "ref": "MO 1",
    "name": "Fume Hood Operating Mode",
    "why": "1 occupied, 2 unoccupied, 3 decommissioned"
   },
   {
    "ref": "BV 2",
    "name": "Emergency Purge. Maximum flow",
    "why": "Emergency purge to maximum flow"
   },
   {
    "ref": "AV 1",
    "name": "AI-1 Setpoint. Fume Hood Face Velocity Setpoint",
    "why": "Face velocity setpoint"
   },
   {
    "ref": "BV 1",
    "name": "Occupancy Status",
    "why": "Occupancy status"
   },
   {
    "ref": "AI 1",
    "name": "Analog Input 1. Default: Fume Hood Face Velocity",
    "why": "Measured face velocity"
   },
   {
    "ref": "AI 2",
    "name": "Analog Input 2. Default: Sash Position Sensor)",
    "why": "Sash position"
   },
   {
    "ref": "AO 1",
    "name": "Analog Output 1. Default: Exhaust Damper Position",
    "why": "Exhaust damper signal"
   },
   {
    "ref": "MO 3",
    "name": "Fume Hood Face Velocity Alarm Status",
    "why": "1 normal, 2 warning, 3 alarm"
   }
  ],
  "enable": "Fume Hood Operating Mode (MSO 1) is read/write: 1 = occupied, 2 = unoccupied, 3 = decommissioned. Emergency Purge (BV 2) drives maximum flow.",
  "heartbeat": null,
  "remote_sensors": "AV 44-47 are writable network variables for humidity, temperature, air changes and differential pressure sent from the BAS.",
  "setup": [
   "BACnet MS/TP only.",
   "Device ID Offset (AV 48) is writable over the network (range 0 to 4,194,000)."
  ],
  "gotchas": [
   "Alarm limits, deadbands and override levels are setup values; don't write them cyclically."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Analog Input 1. Default: Fume Hood Face Velocity",
   "description": "Face velocity (default use of AI 1)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Analog Input 2. Default: Sash Position Sensor)",
   "description": "Sash position (default use of AI 2)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Analog Input 3. Default: DP Sensor",
   "description": "Differential pressure (default use of AI 3)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Analog Input 4. Default: Exhaust Air Flow Volume",
   "description": "Exhaust airflow (default use of AI 4)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Thermistor Input 1. Default: Ambient Temperature",
   "description": "Ambient temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Thermistor Input 2. Default: Duct Temperature",
   "description": "Duct temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "Analog Output 1. Default: Exhaust Damper Position",
   "description": "Exhaust damper signal",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "Analog Output 2 Spare control output",
   "description": "Spare analog output",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 3,
   "name": "Analog Output 3 Spare control output",
   "description": "Spare analog output",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 4,
   "name": "Analog Output 4 Spare control output",
   "description": "Spare analog output",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Digital Input 1. Default: Fume Hood Sash Switch",
   "description": "Sash switch (default)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Digital Input 2. Default: spare digital input",
   "description": "Spare digital input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Digital Input 3. Spare digital input",
   "description": "Spare digital input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Digital Input 4. Spare digital input",
   "description": "Spare digital input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 1,
   "name": "Relay Output 1. Default: Primary Alarm Relay Output",
   "description": "Primary alarm relay",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "Relay Output 2. Default: Secondary Alarm Relay Output",
   "description": "Secondary alarm relay",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "Relay Output 3. Spare relay output",
   "description": "Spare relay",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 4,
   "name": "Relay Output 4. Spare relay output",
   "description": "Spare relay",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Occupancy Status",
   "description": "Occupancy status",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Emergency Purge. Maximum flow",
   "description": "Emergency purge (maximum flow)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "AI-1 Setpoint. Fume Hood Face Velocity Setpoint",
   "description": "Face velocity setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "AI-2 Setpoint",
   "description": "Setpoint for AI 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "AI-3 Setpoint",
   "description": "Setpoint for AI 3",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "AI-4 Setpoint",
   "description": "Setpoint for AI 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "TI-1 Setpoint. Ambient Temperature Setpoint",
   "description": "Ambient temperature setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "TI-2 Setpoint",
   "description": "Setpoint for thermistor input 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Air Change Rate based on Flow Input at AI-1",
   "description": "Air change rate from the AI 1 flow",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Air Change Rate based on Flow Input at AI-2",
   "description": "Air change rate from the AI 2 flow",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Air Change Rate based on Flow Input at AI-3",
   "description": "Air change rate from the AI 3 flow",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Air Change Rate based on Flow Input at AI-4",
   "description": "Air change rate from the AI 4 flow",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Total Air Changes (AI-3/4)",
   "description": "Total air changes from AI 3 and AI 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Alarm Relay 1 High Setpoint",
   "description": "Relay 1 alarm high setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Alarm Relay 1 Low Setpoint",
   "description": "Relay 1 alarm low setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Alarm Relay 2 High Setpoint",
   "description": "Relay 2 alarm high setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Alarm Relay 2 Low Setpoint",
   "description": "Relay 2 alarm low setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Alarm Relay 3 High Setpoint",
   "description": "Relay 3 alarm high setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Alarm Relay 3 Low Setpoint",
   "description": "Relay 3 alarm low setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Alarm Relay 4 High Setpoint",
   "description": "Relay 4 alarm high setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Alarm Relay 4 Low Setpoint",
   "description": "Relay 4 alarm low setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "AI-1 Low Alarm Setpoint. Low Face Velocity Alarm",
   "description": "Face velocity low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "AI-1 Low Warning Setpoint. Low Face Velocity Warning",
   "description": "Face velocity low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "AI-1 High Warning Setpoint. High Face Velocity Warning",
   "description": "Face velocity high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "AI-1 High Alarm Setpoint. High Face Velocity Alarm",
   "description": "Face velocity high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "AI-2 Low Alarm Setpoint",
   "description": "AI 2 low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "AI-2 Low Warning Setpoint",
   "description": "AI 2 low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "AI-2 High Warning Setpoint",
   "description": "AI 2 high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "AI-2 High Alarm Setpoint",
   "description": "AI 2 high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "AI-3 Low Alarm Setpoint",
   "description": "AI 3 low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "AI-3 Low Warning Setpoint",
   "description": "AI 3 low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "AI-3 High Warning Setpoint",
   "description": "AI 3 high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "AI-3 High Alarm Setpoint",
   "description": "AI 3 high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "AI-4 Low Alarm Setpoint",
   "description": "AI 4 low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "AI-4 Low Warning Setpoint",
   "description": "AI 4 low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "AI-4 High Warning Setpoint",
   "description": "AI 4 high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "AI-4 High Alarm Setpoint",
   "description": "AI 4 high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "TI-1 Low Alarm Setpoint",
   "description": "TI 1 low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "TI-1 Low Warning Setpoint",
   "description": "TI 1 low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "TI-1 High Warning Setpoint",
   "description": "TI 1 high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "TI-1 High Alarm Setpoint",
   "description": "TI 1 high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "TI-2 Low Alarm Setpoint",
   "description": "TI 2 low alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "TI-2 Low Warning Setpoint",
   "description": "TI 2 low warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "TI-2 High Warning Setpoint",
   "description": "TI 2 high warning limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "TI-2 High Alarm Setpoint",
   "description": "TI 2 high alarm limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "Writable Network Variable – Humidity",
   "description": "Humidity written by the BAS",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "Writable Network Variable – Temperature",
   "description": "Temperature written by the BAS",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "Writable Network Variable – Air Changes",
   "description": "Air changes written by the BAS",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "Writable Network Variable – Differential Pressure",
   "description": "Differential pressure written by the BAS",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "Device ID Offset (range: 0 to 4,194,000)",
   "description": "Offset added to form the device ID",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 49,
   "name": "Duct Air Flow based on AI-1 flow input",
   "description": "Duct airflow from the AI 1 flow input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "Duct Air Flow based on AI-2 flow input",
   "description": "Duct airflow from the AI 2 flow input",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 51,
   "name": "Duct Air Flow based on AI-3 flow input (Supply Flow)",
   "description": "Supply airflow from AI 3",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "Duct Air Flow based on AI-4 flow input (Exhaust Flow)",
   "description": "Exhaust airflow from AI 4",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Volumetric Offset (Supply Flow – Exhaust Flow)",
   "description": "Supply minus exhaust airflow",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "Volumetric Offset Setpoint",
   "description": "Volumetric offset setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "AO-1 Override Level",
   "description": "Override level for AO 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "AO-2 Override Level",
   "description": "Override level for AO 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "AO-3 Override Level",
   "description": "Override level for AO 3",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "AO-4 Override Level",
   "description": "Override level for AO 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "AI-1 Deadband Setting",
   "description": "Deadband for AI 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "AI-2 Deadband Setting",
   "description": "Deadband for AI 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "AI-3 Deadband Setting",
   "description": "Deadband for AI 3",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "AI-4 Deadband Setting",
   "description": "Deadband for AI 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "TI-1 Deadband Setting",
   "description": "Deadband for thermistor input 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "TI-2 Deadband Setting",
   "description": "Deadband for thermistor input 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MO",
   "instance": 1,
   "name": "Fume Hood Operating Mode",
   "description": "Hood operating mode",
   "units": "",
   "access": "W",
   "states": "1=occupied, 2=unoccupied, 3=decommisioned"
  },
  {
   "type": "MO",
   "instance": 2,
   "name": "Secondary Operating Mode",
   "description": "Secondary operating mode",
   "units": "",
   "access": "W",
   "states": "1=occupied, 2=unoccupied, 3=decommisioned"
  },
  {
   "type": "MO",
   "instance": 3,
   "name": "Fume Hood Face Velocity Alarm Status",
   "description": "Face velocity alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 4,
   "name": "Secondary Face Velocity Alarm Status",
   "description": "Secondary face velocity alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 5,
   "name": "AI-3 Alarm Status",
   "description": "AI 3 alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 6,
   "name": "AI-4 Alarm Status",
   "description": "AI 4 alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 7,
   "name": "TI-1 Alarm Status",
   "description": "Thermistor input 1 alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 8,
   "name": "TI-2 Alarm Status",
   "description": "Thermistor input 2 alarm state",
   "units": "",
   "access": "R",
   "states": "1=normal, 2=warning, 3=alarm"
  },
  {
   "type": "MO",
   "instance": 9,
   "name": "OS CTRL STATUS",
   "description": "Occupancy sensor control",
   "units": "",
   "access": "W",
   "states": "1=disabled, 2=enabled"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/johnson-controls/hms1655-fume-hood-controller",
 "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"
}
