{
 "manufacturer": "AERCO",
 "manufacturer_slug": "aerco",
 "model": "ECS and SmartPlate water heaters (ProtoNode RER)",
 "model_slug": "ecs-smartplate-protonode",
 "aliases": [
  "ECS",
  "Electronic Control System",
  "SmartPlate",
  "SmartPlate water heater",
  "E Valve",
  "ProtoNode RER",
  "64084",
  "GF-129",
  "OMM-0080"
 ],
 "equipment_type": "Water heater controller via ProtoNode gateway",
 "applies_to": "AERCO SmartPlate and ECS (Electric Valve) water heaters, up to four, read through the AERCO ProtoNode RER.",
 "summary": "The AERCO ProtoNode RER profile for four ECS/SmartPlate systems serves 7 analog values per heater on BACnet IP or BACnet MS/TP: control output, setpoint in use, a writable remote setpoint, outlet and feedback temperatures, an alarm bit field and flow rate.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "Node_Offset + A-bank DIP switch value (MAC); the manual's example uses Node_Offset 50,000",
 "access_inferred": false,
 "notes": [
  "Older document (OMM-0080_0H, November 2014) for the ProtoNode RER gateway.",
  "Object IDs are fixed per profile and do not follow a formula; heaters 1-4 are ECS/SmartPlate Modbus addresses 29-32.",
  "Point names repeat for each heater; the heater number is in the description."
 ],
 "integration": {
  "summary": "Set S2 On (S0, S1, S3, A1 Off) for the BACnet profile with 4 ECS/SP systems, give the heaters addresses 29-32, and for remote setpoint set Rmt = SP and L-r = rmt on each heater. Then write 03-RmSetpt and read outlet temperature, control output and the alarm bit field.",
  "minimum_points": [
   {
    "ref": "AV 81",
    "name": "03-RmSetpt",
    "why": "Heater 1 remote setpoint, 40-180 °F"
   },
   {
    "ref": "AV 80",
    "name": "02-Setpoint",
    "why": "Heater 1 setpoint in use, °F"
   },
   {
    "ref": "AV 84",
    "name": "04-Outlet Temp",
    "why": "Heater 1 outlet temperature, °F"
   },
   {
    "ref": "AV 11",
    "name": "01-Cntl Output Signal",
    "why": "Heater 1 control output, %"
   },
   {
    "ref": "AV 86",
    "name": "06-Over Temp Alarm",
    "why": "Heater 1 alarm bits; bit 0-3 = alarm 1-4"
   }
  ],
  "enable": "For remote setpoint control set Rmt = SP and L-r = rmt on the heater, then write its 03-RmSetpt. There is no start/stop object.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "S2 On, S0/S1/S3 Off, A1 Off = BACnet IP / MS/TP profile with 4 ECS/SP systems.",
   "Device instance = Node_Offset (set in the Web Configurator) + A-bank DIP value; MS/TP MAC is 1-127 on A0-A7, baud on B0-B3.",
   "Default IP 192.168.1.24; change it in the ProtoNode web GUI.",
   "Modbus side: every AERCO unit at 9600 baud, 8 data bits, 1 stop bit, no parity.",
   "ECS/SmartPlate controller address (Addr) 29-32."
  ],
  "gotchas": [
   "Heater object IDs are scattered (heater 1 setpoint is AV 80-81, heater 2 is AV 3-4); use the table, not a pattern."
  ]
 },
 "source": {
  "title": "AERCO ProtoNode Gateway User Manual (ProtoNode-RER / ProtoNode-LER), GF-129",
  "doc_number": "OMM-0080_0H",
  "revision_date": "2014-11-06",
  "url": "https://www.aerco.com/dfsmedia/0533dbba17714b1ab581ab07a4cbb521/58249-source/637395359810000000/omm-0080-0h-gf-129-protonode-ler-rer-11-06-14.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 11,
   "name": "01-Cntl Output Signal",
   "description": "Heater 1: control output signal (0-100)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "02-Setpoint",
   "description": "Heater 1: setpoint in use (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "03-RmSetpt",
   "description": "Heater 1: remote setpoint written over the network (40-180)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 84,
   "name": "04-Outlet Temp",
   "description": "Heater 1: outlet temperature (40-205)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "05-FBk Sensor Temp",
   "description": "Heater 1: feedback sensor temperature (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "06-Over Temp Alarm",
   "description": "Heater 1: alarm bit field (alarms 1-4, manual, sensor/loop break, heater fail)",
   "units": "",
   "access": "R",
   "states": "Bit 0-3=Alarm 1-4 (1=alarm), Bit 4=Manual mode, Bit 5=Sensor break, Bit 6=Loop break, Bit 7=Heater fail"
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "07-Flow Rate",
   "description": "Heater 1: flow rate",
   "units": "GPM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "01-Cntl Output Signal",
   "description": "Heater 2: control output signal (0-100)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "02-Setpoint",
   "description": "Heater 2: setpoint in use (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "03-RmSetpt",
   "description": "Heater 2: remote setpoint written over the network (40-180)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "04-Outlet Temp",
   "description": "Heater 2: outlet temperature (40-205)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "05-FBk Sensor Temp",
   "description": "Heater 2: feedback sensor temperature (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "06-Over Temp Alarm",
   "description": "Heater 2: alarm bit field (alarms 1-4, manual, sensor/loop break, heater fail)",
   "units": "",
   "access": "R",
   "states": "Bit 0-3=Alarm 1-4 (1=alarm), Bit 4=Manual mode, Bit 5=Sensor break, Bit 6=Loop break, Bit 7=Heater fail"
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "07-Flow Rate",
   "description": "Heater 2: flow rate",
   "units": "GPM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "01-Cntl Output Signal",
   "description": "Heater 3: control output signal (0-100)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 150,
   "name": "02-Setpoint",
   "description": "Heater 3: setpoint in use (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 151,
   "name": "03-RmSetpt",
   "description": "Heater 3: remote setpoint written over the network (40-180)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 152,
   "name": "04-Outlet Temp",
   "description": "Heater 3: outlet temperature (40-205)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 153,
   "name": "05-FBk Sensor Temp",
   "description": "Heater 3: feedback sensor temperature (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 154,
   "name": "06-Over Temp Alarm",
   "description": "Heater 3: alarm bit field (alarms 1-4, manual, sensor/loop break, heater fail)",
   "units": "",
   "access": "R",
   "states": "Bit 0-3=Alarm 1-4 (1=alarm), Bit 4=Manual mode, Bit 5=Sensor break, Bit 6=Loop break, Bit 7=Heater fail"
  },
  {
   "type": "AV",
   "instance": 155,
   "name": "07-Flow Rate",
   "description": "Heater 3: flow rate",
   "units": "GPM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "01-Cntl Output Signal",
   "description": "Heater 4: control output signal (0-100)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 158,
   "name": "02-Setpoint",
   "description": "Heater 4: setpoint in use (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 159,
   "name": "03-RmSetpt",
   "description": "Heater 4: remote setpoint written over the network (40-180)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 160,
   "name": "04-Outlet Temp",
   "description": "Heater 4: outlet temperature (40-205)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 161,
   "name": "05-FBk Sensor Temp",
   "description": "Heater 4: feedback sensor temperature (40-180)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 156,
   "name": "06-Over Temp Alarm",
   "description": "Heater 4: alarm bit field (alarms 1-4, manual, sensor/loop break, heater fail)",
   "units": "",
   "access": "R",
   "states": "Bit 0-3=Alarm 1-4 (1=alarm), Bit 4=Manual mode, Bit 5=Sensor break, Bit 6=Loop break, Bit 7=Heater fail"
  },
  {
   "type": "AV",
   "instance": 157,
   "name": "07-Flow Rate",
   "description": "Heater 4: flow rate",
   "units": "GPM",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/aerco/ecs-smartplate-protonode",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
