{
 "manufacturer": "AERCO",
 "manufacturer_slug": "aerco",
 "model": "AM Series Managing boiler / water heater (ProtoNode FPC-N34/N35)",
 "model_slug": "am-series-manager-protonode",
 "aliases": [
  "AM Series",
  "AM Manager",
  "AM Mngr",
  "AERCO AM",
  "ProtoNode FPC-N34",
  "FPC-N35"
 ],
 "equipment_type": "Boiler / water heater cascade controller gateway",
 "applies_to": "AERCO AM Series boilers or water heaters set up as the managing (or stand-alone) unit of a cascade, read through the AERCO ProtoNode FPC-N34 / FPC-N35.",
 "summary": "AERCO's ProtoNode maps the AM Series managing unit to 95 objects. Objects 1-48 are the unit's own state, status, error and warning codes, setpoints, operation and mode settings, temperatures, firing rates, pump states, counters and lockout/blocking history; 49-76 report state, status, error and firing rate of up to 7 dependent units; 77-94 are the cascade controller's state, setpoints, outdoor reset settings, header temperature and firing rate; MV 95 is the Control Register that unlocks writes.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Appendix C-1 of OMM-0107 (pages 57-60). Each object's Modbus holding register is given in the description.",
  "Only BACnet objects are listed; the same appendix also gives N2, LonWorks and Modbus TCP addresses.",
  "Registers 40141-40142 are skipped in the Modbus column, so object 41 maps to 40143."
 ],
 "integration": {
  "summary": "For each write, first set MV 95 Control Register bit 0, then write Boiler Operation, the CH or DHW setpoint or the controller setpoints. Read State, Status, supply/return/header temperatures, firing rates, the error and warning codes and the state of each dependent unit. Do not use the setpoints for continuous temperature control.",
  "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": "AV 81",
    "name": "Controller CH SP",
    "why": "Cascade CH setpoint (preset, not dynamic)"
   },
   {
    "ref": "AI 3",
    "name": "State",
    "why": "Managing boiler state; see Appendix I"
   },
   {
    "ref": "AI 4",
    "name": "Status",
    "why": "Managing boiler status; see Appendix I"
   },
   {
    "ref": "AI 89",
    "name": "Header Temp",
    "why": "Cascade header temperature"
   },
   {
    "ref": "AI 91",
    "name": "Cascade Firing Rate",
    "why": "Cascade firing rate"
   },
   {
    "ref": "AI 49",
    "name": "Dependent_1 State",
    "why": "Dependent 1 state (repeat for 2-7)"
   },
   {
    "ref": "AI 5",
    "name": "Error Code",
    "why": "Managing boiler error code"
   },
   {
    "ref": "AI 79",
    "name": "Controller Error Code",
    "why": "Controller (cascade) error code"
   }
  ],
  "enable": "Writing is a two-step process: write 1 to MV 95 Control Register (bit 0 = write enable), then write the target AV (e.g. AV 9 Boiler Operation, AV 7/8 boiler CH/DHW setpoints, AV 81/82 controller setpoints). Bit 14 of the Control Register resets the controller after a lockout.",
  "heartbeat": "The Control Register bits reset when the AM unit sees no Modbus traffic for more than 4 seconds, so set bit 0 again right before each write.",
  "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.",
   "Temperature and pressure units follow AV 1 Modbus Units (bit 0 °C/°F, bit 1 bar/psi)."
  ]
 },
 "source": {
  "title": "AERCO ProtoNode FPC-N34 & FPC-N35 User Manual, Appendix C-1 AM Mngr 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": "AI",
   "instance": 49,
   "name": "Dependent_1 State",
   "description": "Modbus register 40151",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 50,
   "name": "Dependent_1 Status",
   "description": "Modbus register 40152",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 51,
   "name": "Dependent_1 Error Number",
   "description": "Modbus register 40153",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 52,
   "name": "Dependent_1 Firing Rate",
   "description": "Modbus register 40154",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 53,
   "name": "Dependent_2 State",
   "description": "Modbus register 40156",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 54,
   "name": "Dependent_2 Status",
   "description": "Modbus register 40157",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 55,
   "name": "Dependent_2 Error Number",
   "description": "Modbus register 40158",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 56,
   "name": "Dependent_2 Firing Rate",
   "description": "Modbus register 40159",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 57,
   "name": "Dependent_3 State",
   "description": "Modbus register 40161",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 58,
   "name": "Dependent_3 Satus",
   "description": "Modbus register 40162",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 59,
   "name": "Dependent_3 Error Number",
   "description": "Modbus register 40163",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 60,
   "name": "Dependent_3 Firing Rate",
   "description": "Modbus register 40164",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 61,
   "name": "Dependent_4 State",
   "description": "Modbus register 40166",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 62,
   "name": "Dependent_4 Status",
   "description": "Modbus register 40167",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 63,
   "name": "Dependent_4 Error Number",
   "description": "Modbus register 40168",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 64,
   "name": "Dependent_4 Firing Rate",
   "description": "Modbus register 40169",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 65,
   "name": "Dependent_5 State",
   "description": "Modbus register 40171",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 66,
   "name": "Dependent_5 Status",
   "description": "Modbus register 40172",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 67,
   "name": "Dependent_5 Error Number",
   "description": "Modbus register 40173",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 68,
   "name": "Dependent_5 Firing Rate",
   "description": "Modbus register 40174",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 69,
   "name": "Dependent_6 State",
   "description": "Modbus register 40176",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 70,
   "name": "Dependent_6 Status",
   "description": "Modbus register 40177",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 71,
   "name": "Dependent_6 Error Number",
   "description": "Modbus register 40178",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 72,
   "name": "Dependent_6 Firing Rate",
   "description": "Modbus register 40179",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 73,
   "name": "Dependent_7 State",
   "description": "Modbus register 40181",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 74,
   "name": "Dependent_7 Status",
   "description": "Modbus register 40182",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 75,
   "name": "Dependent_7 Error Number",
   "description": "Modbus register 40183",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 76,
   "name": "Dependent_7 Firing Rate",
   "description": "Modbus register 40184",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 77,
   "name": "Controller State",
   "description": "Modbus register 40201",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 78,
   "name": "Controller Status",
   "description": "Modbus register 40202",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 79,
   "name": "Controller Error Code",
   "description": "Modbus register 40203",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 80,
   "name": "Controller Warning Code",
   "description": "Modbus register 40204",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "Controller CH SP",
   "description": "Modbus register 40205",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 82,
   "name": "Controller DHW SP",
   "description": "Modbus register 40206",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 83,
   "name": "High Outdoor Air Temp",
   "description": "Modbus register 40207",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 84,
   "name": "Minimum Outdoor Air SP",
   "description": "Modbus register 40208",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 85,
   "name": "Low Outdoor Air Temp",
   "description": "Modbus register 40209",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "Maximum Outdoor Air SP",
   "description": "Modbus register 40210",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 87,
   "name": "Outdoor Air Shutdown Temp",
   "description": "Modbus register 40211",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 88,
   "name": "Night Setback",
   "description": "Modbus register 40212",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 89,
   "name": "Header Temp",
   "description": "Modbus register 40213",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 90,
   "name": "Outside Temp",
   "description": "Modbus register 40214",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 91,
   "name": "Cascade Firing Rate",
   "description": "Modbus register 40215",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 92,
   "name": "Min Firing Rate",
   "description": "Modbus register 40216",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 93,
   "name": "System Pump",
   "description": "Modbus register 40217",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 94,
   "name": "Amount of Dep Detected",
   "description": "Modbus register 40218",
   "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-manager-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"
}
