{
 "manufacturer": "AERCO",
 "manufacturer_slug": "aerco",
 "model": "AM Series Dependent boiler / water heater (ProtoNode FPC-N34/N35)",
 "model_slug": "am-series-dependent-protonode",
 "aliases": [
  "AM Series",
  "AM Dependent",
  "AM Dep",
  "AERCO AM",
  "ProtoNode FPC-N34",
  "FPC-N35"
 ],
 "equipment_type": "Boiler / water heater controller gateway",
 "applies_to": "AERCO AM Series boilers or water heaters set up as dependent units of a cascade, read through the AERCO ProtoNode FPC-N34 / FPC-N35.",
 "summary": "AERCO's ProtoNode maps each AM Series dependent unit to 49 objects: the unit's state, status, error and warning codes, CH/DHW setpoints, operation and mode settings, temperatures, firing rates, flame current, water pressure, pump states, counters and lockout/blocking history, plus MV 95 Control Register that unlocks writes. Cascade-level objects are on the managing unit's list.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Appendix C-2 of OMM-0107 (pages 61-62). Objects 1-48 and 95 match the first part of the managing-unit list (aerco/am-series-manager-protonode).",
  "Only BACnet objects are listed; the appendix also gives N2, LonWorks and Modbus TCP addresses."
 ],
 "integration": {
  "summary": "A dependent AM unit normally follows its managing unit. From the BMS, read State, Status, supply/return temperatures, firing rate and the error/warning codes; for writes, set MV 95 Control Register bit 0 first.",
  "minimum_points": [
   {
    "ref": "MV 95",
    "name": "Control Register",
    "why": "Write 1 (bit 0) before any write; bit 14 resets"
   },
   {
    "ref": "AV 9",
    "name": "Boiler Operation",
    "why": "Boiler operation command (0..x per AERCO)"
   },
   {
    "ref": "AI 3",
    "name": "State",
    "why": "Unit state; see Appendix I"
   },
   {
    "ref": "AI 4",
    "name": "Status",
    "why": "Unit status; see Appendix I"
   },
   {
    "ref": "AI 13",
    "name": "Supply Temp",
    "why": "Supply water temperature"
   },
   {
    "ref": "AI 18",
    "name": "Firing Rate",
    "why": "Firing rate"
   },
   {
    "ref": "AI 5",
    "name": "Error Code",
    "why": "Error code; see Appendix I"
   },
   {
    "ref": "AI 6",
    "name": "Warning Code",
    "why": "Warning code"
   }
  ],
  "enable": "Writing is a two-step process: write 1 to MV 95 Control Register (bit 0 = write enable), then write the target AV. Bit 14 resets the unit after a lockout.",
  "heartbeat": "The Control Register bits reset when the unit sees no Modbus traffic for more than 4 seconds.",
  "remote_sensors": null,
  "setup": [
   "ProtoNode FPC-N34 (BACnet MS/TP, BACnet IP, N2, Modbus TCP) or FPC-N35 (LonWorks); the BACnet protocol is picked with DIP switches.",
   "Boiler side: Modbus RTU, 9600 baud, no parity, 8 data bits, 1 stop bit; AM units use addresses 1-16.",
   "BACnet device instance = Node_Offset (default 50,000) + Modbus Node-ID."
  ],
  "gotchas": [
   "Writes are two steps: write 1 (bit 0) to MV 95 Control Register, then write the target object; the Control Register bits clear after 4 s without Modbus traffic.",
   "AERCO limits each register to about 10,000 value changes; CH/DHW setpoints are presets (about two changes a day), not for dynamic temperature control.",
   "Access is inferred from the N2 type (AO = writable); the appendix has no read/write column.",
   "State, Status and error codes are decoded with the tables in Appendix I of the manual."
  ]
 },
 "source": {
  "title": "AERCO ProtoNode FPC-N34 & FPC-N35 User Manual, Appendix C-2 AM Dep Modbus RTU Mappings to BACnet",
  "doc_number": "OMM-0107_0B (GF-150)",
  "revision_date": "2017-03-07",
  "url": "https://www.watts.com/dfsmedia/0533dbba17714b1ab581ab07a4cbb521/58270-source/OMM-0107_0B_GF-150_ProtoNode%20FPC%20N34-N35%20User%20Manual_03-07-17.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "Modbus Units",
   "description": "Modbus register 40101",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Device Type",
   "description": "Modbus register 40102",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "State",
   "description": "Modbus register 40103",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Status",
   "description": "Modbus register 40104",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Error Code",
   "description": "Modbus register 40105",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Warning Code",
   "description": "Modbus register 40106",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Boiler CH SP",
   "description": "Modbus register 40107",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Boiler DHW SP",
   "description": "Modbus register 40108",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Boiler Operation",
   "description": "Modbus register 40109",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "DHW Type",
   "description": "Modbus register 40110",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "CH Mode",
   "description": "Modbus register 40111",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "DHW Mode",
   "description": "Modbus register 40112",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Supply Temp",
   "description": "Modbus register 40113",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Return Temp",
   "description": "Modbus register 40114",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "DHW Temp",
   "description": "Modbus register 40115",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "Flue Gas Temp",
   "description": "Modbus register 40116",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "Heat Exchanger Temp",
   "description": "Modbus register 40117",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Firing Rate",
   "description": "Modbus register 40118",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "Min Firing Rate",
   "description": "Modbus register 40119",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Flame Current",
   "description": "Modbus register 40120",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "Water Pressure",
   "description": "Modbus register 40121",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "Analog in",
   "description": "Modbus register 40122",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Analog out",
   "description": "Modbus register 40123",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "Information",
   "description": "Modbus register 40124",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "CH pump",
   "description": "Modbus register 40125",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "DHW pump",
   "description": "Modbus register 40126",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Ignition Count OK",
   "description": "Modbus register 40127",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "Ignition Count Failed",
   "description": "Modbus register 40128",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "Flame Count Failed",
   "description": "Modbus register 40129",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "Burner High Hours / CH Hours",
   "description": "Modbus register 40130",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "Burner Med Hours / DHW Hours",
   "description": "Modbus register 40131",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "Burner Low Hours",
   "description": "Modbus register 40132",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 33,
   "name": "1st Lockout in History",
   "description": "Modbus register 40133",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 34,
   "name": "Time after 1st Lockout",
   "description": "Modbus register 40134",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "2nd Lockout",
   "description": "Modbus register 40135",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 36,
   "name": "Time after 2nd Lockout",
   "description": "Modbus register 40136",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 37,
   "name": "3rd Lockout",
   "description": "Modbus register 40137",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 38,
   "name": "Time after 3rd Lockout",
   "description": "Modbus register 40138",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 39,
   "name": "4th Lockout",
   "description": "Modbus register 40139",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 40,
   "name": "Time after 4th Lockout",
   "description": "Modbus register 40140",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 41,
   "name": "1st Blocking Error in History",
   "description": "Modbus register 40143",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 42,
   "name": "Time after 1st Blocking Error",
   "description": "Modbus register 40144",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 43,
   "name": "2nd Blocking Error",
   "description": "Modbus register 40145",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 44,
   "name": "Time after 2nd Blocking Error",
   "description": "Modbus register 40146",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 45,
   "name": "3rd Blocking Error",
   "description": "Modbus register 40147",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 46,
   "name": "Time after 3rd Blocking Error",
   "description": "Modbus register 40148",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 47,
   "name": "4th Blocking Error",
   "description": "Modbus register 40149",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 48,
   "name": "Time after 4th Blocking Error",
   "description": "Modbus register 40150",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 95,
   "name": "Control Register",
   "description": "Bit 0 write enable, bit 14 reset; register 40100",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/aerco/am-series-dependent-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"
}
