{
 "manufacturer": "Hamilton Engineering",
 "manufacturer_slug": "hamilton-engineering",
 "model": "BDB-CDB (ProtoNode FPC-N54)",
 "model_slug": "bdb-cdb-protonode",
 "aliases": [
  "BDB-CDB",
  "BDB",
  "CDB",
  "ProtoNode FPC-N54",
  "FPC-N54-1776",
  "Hamilton ProtoNode"
 ],
 "equipment_type": "Boiler cascade controller via ProtoNode gateway",
 "applies_to": "Hamilton Engineering equipment with the BDB-CDB control, which reports cascade values and up to eight BCB blocks (BCB1-BCB8), connected through a ProtoNode FPC-N54.",
 "summary": "Hamilton Engineering's BDB-CDB control is read over Modbus RTU by a ProtoNode FPC-N54 and served on BACnet IP or BACnet MS/TP. The 99-object profile has writable central heating, DHW, indirect DHW, pool and spa setpoints, cascade sensor readings and an anomaly code, then a 9-object block for each of BCB1 to BCB8. This file lists the cascade objects and the BCB1 block.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "50032 (Node_Offset default 50,000 + the BDB-CDB Node-ID 32)",
 "access_inferred": true,
 "notes": [
  "Per-boiler blocks repeat every 9 objects: BCB n = the BCB1 instance + 9 x (n - 1), so BCB2 is AI/MI 37-45 and BCB8 is AI/MI 91-99.",
  "The guide only names the device BDB-CDB and does not expand BCB; it does not say which Hamilton products use it.",
  "The table has no read/write column, units or state texts; access is inferred from object type (AV writable, AI/MI read only).",
  "The two anomaly code 2 parts are multistate inputs; their state texts are not given."
 ],
 "integration": {
  "summary": "Wire the BDB-CDB Modbus port (9600, 8N1) to the ProtoNode R1 port, pick BACnet IP or BACnet MS/TP in the Web Configurator, add the BDB-CDB profile with Node-ID 32, and discover the device at 50032. Setpoints are the writable analog values; status and fault information comes from the cascade anomaly and the per-board working status and anomaly codes.",
  "minimum_points": [
   {
    "ref": "AV 2",
    "name": "CH Requests",
    "why": "Central heating request; values not defined in the guide"
   },
   {
    "ref": "AV 11",
    "name": "Boiler For Heating Setpoint",
    "why": "Boiler setpoint for the heating load"
   },
   {
    "ref": "AV 12",
    "name": "Dhw SP Temp",
    "why": "Domestic hot water setpoint"
   },
   {
    "ref": "AI 31",
    "name": "BCB1 Working Status",
    "why": "BCB1 working status"
   },
   {
    "ref": "AI 21",
    "name": "Cascade S1 Temp Sensor Value",
    "why": "Cascade sensor S1 temperature"
   },
   {
    "ref": "AI 27",
    "name": "Cascade Anomaly",
    "why": "Cascade-level anomaly (fault) code"
   },
   {
    "ref": "AI 32",
    "name": "BCB1 Anom Code 1",
    "why": "BCB1 anomaly code"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Device instance = Node_Offset (default 50,000) + Node-ID; the BDB-CDB profile uses Node-ID 32, so 50032 by default.",
   "Modbus side (R1 port): Modbus RTU 9600, 8N1. BMS RS-485 on the R2 port; bias resistors are DIP switches on each port.",
   "Default IP 192.168.1.24 (255.255.255.0); the field protocol is chosen with the Protocol Selector in the Web Configurator.",
   "Each ProtoNode on a subnet needs its own BACnet Network Number (default 50001)."
  ],
  "gotchas": [
   "Boiler blocks repeat every 9 instances (BCB n = BCB1 + 9 x (n - 1)); only BCB1 is listed here.",
   "The guide gives no units, ranges or code tables; confirm values with Hamilton Engineering."
  ]
 },
 "source": {
  "title": "ProtoNode FPC-N54 Start-up Guide for Interfacing Hamilton Engineering Products: BDB-CDB",
  "doc_number": "Document Revision 2.A (Web Configurator Template Revision 3)",
  "revision_date": "2019-06",
  "url": "https://hamiltonengineering.com/wp-content/uploads/ProtoNode-FPC-N54-Start-up-Guide-06.19.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "System Configuration",
   "description": "System configuration value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "CH Requests",
   "description": "Central heating requests",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "CH SP / CH Offset 1",
   "description": "CH setpoint or CH offset 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "CH SP / CH Offset 2",
   "description": "CH setpoint or CH offset 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "CH SP / CH Offset 3",
   "description": "CH setpoint or CH offset 3",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "CH SP / CH Offset 4",
   "description": "CH setpoint or CH offset 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "CH SP / CH Offset 5",
   "description": "CH setpoint or CH offset 5",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "CH SP / CH Offset 6",
   "description": "CH setpoint or CH offset 6",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "CH SP / CH Offset 7",
   "description": "CH setpoint or CH offset 7",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "CH SP / CH Offset 8",
   "description": "CH setpoint or CH offset 8",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Boiler For Heating Setpoint",
   "description": "Boiler setpoint for heating",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Dhw SP Temp",
   "description": "Domestic hot water setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Recirculation SP For Cascade Reg",
   "description": "Recirculation setpoint for cascade regulation",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Idhw SP Temp",
   "description": "Indirect DHW setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Boiler For Idhw Load Setpoint",
   "description": "Boiler setpoint for indirect DHW load",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Ispa SP Temp",
   "description": "Spa setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Boiler For Pool Load Setpoint",
   "description": "Boiler setpoint for pool load",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Ipool SP Temp",
   "description": "Pool setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Boiler For Spa Load Setpoint",
   "description": "Boiler setpoint for spa load",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Cascade Temp Sensors State",
   "description": "Cascade sensor status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "Cascade S1 Temp Sensor Value",
   "description": "Cascade sensor S1 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "Cascade S2 Temp Sensor Value",
   "description": "Cascade sensor S2 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Cascade S3 Temp Sensor Value",
   "description": "Cascade sensor S3 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "Cascade S4 Temp Sensor Value",
   "description": "Cascade sensor S4 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "Cascade S5 Temp Sensor Value",
   "description": "Cascade sensor S5 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "Cascade S6 Temp Sensor Value",
   "description": "Cascade sensor S6 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Cascade Anomaly",
   "description": "Cascade anomaly (fault) code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "BCB1 Temp Sensors State",
   "description": "BCB1 sensor status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "BCB1 T1 Temp Sensor Value",
   "description": "BCB1 sensor T1 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "BCB1 T2 Temp Sensor Value",
   "description": "BCB1 sensor T2 temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "BCB1 Working Status",
   "description": "BCB1 working status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "BCB1 Anom Code 1",
   "description": "BCB1 anomaly code 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 33,
   "name": "BCB1 Anom Code 2 Prefix",
   "description": "BCB1 anomaly code 2, prefix",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 34,
   "name": "BCB1 Anom Code 2 Suffix",
   "description": "BCB1 anomaly code 2, suffix",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "BCB1 Fan Modulation Relative Per",
   "description": "BCB1 fan modulation, relative",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 36,
   "name": "BCB1 Fan Modulation Absolute Per",
   "description": "BCB1 fan modulation, absolute",
   "units": "%",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/hamilton-engineering/bdb-cdb-protonode",
 "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"
}
