{
 "manufacturer": "ClimateMaster",
 "manufacturer_slug": "climatemaster",
 "model": "MPC Multi-Protocol DDC Controller - Water-to-Water (Gen 8 and newer)",
 "model_slug": "mpc-water-to-water",
 "aliases": [
  "MPC",
  "ClimateMaster MPC",
  "97B0031N01",
  "Multi-Protocol Controller",
  "CXM2",
  "DXM2.6"
 ],
 "equipment_type": "Water-to-water heat pump controller",
 "applies_to": "ClimateMaster water-to-water heat pumps with the MPC controller, Gen 8 and newer.",
 "summary": "In water-to-water units the MPC controls water temperature instead of space temperature. The BMS commands occupancy, selects heating or cooling with the MC Switch, writes occupied and unoccupied water setpoints and differentials, and can shut the unit down or take direct control of the compressors and reversing valve. Control is on entering water temperature by default and can be moved to leaving water temperature. The unit stays in the selected mode until the mode is changed.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet ARC156"
 ],
 "firmware": "Gen 8 and newer",
 "default_device_instance": "Auto-generated; last two digits = rotary address",
 "access_inferred": false,
 "notes": [
  "Points list from the MPC manual's points matrix; the same table also gives Modbus registers and N2 IDs.",
  "Temperatures follow BV 33 Metric (OFF = °F); some setpoints have separate °F and °C objects.",
  "The source lists BV 21 twice (UPS Signal and Lockout Alarm); only Lockout Alarm is kept here, since it fits the BV 19-24 sequence. UPS Signal sits where water-to-air units have BV 15; find its real instance with a device discovery.",
  "The fault counter descriptions refer to a Fault Count Reset BV 22 that is not in the water-to-water table.",
  "BV 7, BV 9 and BV 10 have no access marked in the source; they are shown writable because the manual says the mode and control sensor are changed over BACnet. AV 34-36 have none marked and are shown read-only."
 ],
 "source": {
  "title": "MPC Multi-Protocol DDC Controls - Application, Operation & Maintenance Manual",
  "doc_number": "97B0031N01",
  "revision_date": "2025-12-11",
  "url": "https://files.climatemaster.com/97b0031n01-climatemaster-mpc-multiprotocol-ddc-controls-water-source-heat-pump-application-manual.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "Actual CL Setpoint",
   "description": "Cooling setpoint in use (occupancy, adjust, units applied)",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Actual HT Setpoint",
   "description": "Heating setpoint in use (occupancy, adjust, units applied)",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Occupied CL SP/ Fahrenheit",
   "description": "Occupied cooling water setpoint, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Master WT/ Fahrenheit",
   "description": "Shared water temperature for follower units, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Occupied HT Setpoint",
   "description": "Occupied heating water setpoint, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Pulse Signal Value",
   "description": "Last fault code from the CXM2/DXM2.6 board",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Unoccupied CL SP/Fahrenheit",
   "description": "Unoccupied cooling water setpoint, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Subordinate HT SP/Fahrenheit",
   "description": "Heating setpoint from the leader unit, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Subordinate CL SP/Fahrenheit",
   "description": "Cooling setpoint from the leader unit, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "HP Fault Counter",
   "description": "High pressure faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "LP Fault Counter",
   "description": "Low pressure faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "LT1 Fault Counter",
   "description": "Liquid temperature 1 faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "LT2 Fault Counter",
   "description": "Liquid temperature 2 faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "CO Fault Counter",
   "description": "Condensate overflow faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Over/Under Voltage Fault Counter",
   "description": "Over/under voltage faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "UPS Fault Counter",
   "description": "UPS faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Swapped LT1/LT2 Fault Counter",
   "description": "Swapped LT1/LT2 faults since start or reset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "C1 Cycle Counter",
   "description": "Times C1 cycled over 6 times in an hour",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "C2 Cycle Counter",
   "description": "Times C2 cycled over 6 times in an hour",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Unoccupied HT Setpoint",
   "description": "Unoccupied heating water setpoint, °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "CLD",
   "description": "Cooling differential: turns off at cooling SP - CLD",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "HTD",
   "description": "Heating differential: turns off at heating SP + HTD",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "SUBORDINATE CLD",
   "description": "Follower cooling differential (BV 16 on)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "SUBORDINATE HTD",
   "description": "Follower heating differential (BV 16 on)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "AUX CFG",
   "description": "AUX (W) output function code",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "Master WT/Celsius",
   "description": "Shared water temperature for follower units, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Unoccupied HT Setpoint Celsius",
   "description": "Unoccupied heating water setpoint, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Occupied HT Setpoint Celsius",
   "description": "Occupied heating water setpoint, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Unoccupied CL SP Celsius",
   "description": "Unoccupied cooling water setpoint, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Occupied CL SP Celsius",
   "description": "Occupied cooling water setpoint, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Subordinate HT Setpoint Celsius",
   "description": "Heating setpoint from the leader unit, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Subordinate CL Setpoint Celsius",
   "description": "Cooling setpoint from the leader unit, °C",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "LWT Load Status",
   "description": "Load coil leaving water temperature",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "EWT Load Status",
   "description": "Load coil entering water temperature",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "LWT Source Status",
   "description": "Source coil leaving water temperature",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "Zone Temp Status",
   "description": "Space temperature",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "HT PID",
   "description": "Heating PID output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "CL PID",
   "description": "Cooling PID output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Load Balance Mode",
   "description": "Compressor sequencing / runtime balancing mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "Compressor Swap time",
   "description": "Compressor swap time (fixed 24 h, AV 59 = 4)",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 99,
   "name": "Application Type",
   "description": "Factory use only",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Alarm State",
   "description": "Lockout condition present",
   "units": "",
   "access": "R",
   "states": "OFF=Normal, ON=Lockout"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "C1 Reset",
   "description": "Reset the C1 runtime alarm",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "C1 Status",
   "description": "Compressor 1 on/off",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "System Reset",
   "description": "Lockout reset; set ON then OFF",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "C2 Reset",
   "description": "Reset the C2 runtime alarm",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "C2 Status",
   "description": "Compressor 2 on/off",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "MC Switch",
   "description": "Water-to-water mode",
   "units": "",
   "access": "W",
   "states": "OFF=Heating, ON=Cooling"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Emergency Shutdown",
   "description": "Emergency stop: Y1, Y2, G and W relays off",
   "units": "",
   "access": "W",
   "states": "OFF=Normal, ON=Shutdown"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "CC Mode",
   "description": "Cooling control sensor",
   "units": "",
   "access": "W",
   "states": "OFF=EWT, ON=LWT"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "HC Mode",
   "description": "Heating control sensor",
   "units": "",
   "access": "W",
   "states": "OFF=EWT, ON=LWT"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Occupied Status",
   "description": "Occupied state",
   "units": "",
   "access": "R",
   "states": "OFF=Unoccupied, ON=Occupied"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Occupied Mode",
   "description": "Occupancy command; default ON",
   "units": "",
   "access": "W",
   "states": "OFF=Unoccupied, ON=Occupied"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "RV Status",
   "description": "Reversing valve on/off",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Work Schedule",
   "description": "Schedule from the BMS sets occupied/unoccupied",
   "units": "",
   "access": "W",
   "states": "OFF=Unoccupied, ON=Occupied"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "M/S Switch",
   "description": "Leader (OFF) or follower sharing a sensor (ON)",
   "units": "",
   "access": "W",
   "states": "OFF=Leader, ON=Follower"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "C1 Runtime Alarm",
   "description": "C1 run hours over 5000; reset with BV 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "C2 Runtime Alarm",
   "description": "C2 run hours over 5000; reset with BV 5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "C1 Cycle Reset",
   "description": "Reset the C1 cycle counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "C2 Cycle Reset",
   "description": "Reset the C2 cycle counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "Lockout Alarm",
   "description": "CXM2/DXM2.6 board in lockout",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "C1 Cycle Alarm",
   "description": "C1 cycled more than 5 times in an hour",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "C2 Cycle Alarm",
   "description": "C2 cycled more than 5 times in an hour",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 25,
   "name": "RV Manual",
   "description": "Reversing valve on/off in test mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 26,
   "name": "C1 Manual",
   "description": "Compressor 1 on/off in test mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 27,
   "name": "C2 Manual",
   "description": "Compressor 2 on/off in test mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 29,
   "name": "Test Mode",
   "description": "Manual test mode, 60 min maximum",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 30,
   "name": "Test Mode Alarm",
   "description": "Unit still in test mode after the timer",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 31,
   "name": "AUX Status",
   "description": "AUX (W) output on/off",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 32,
   "name": "AUX Manual",
   "description": "AUX (W) output on/off in test mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 33,
   "name": "Metric",
   "description": "Engineering units for inputs and outputs",
   "units": "",
   "access": "W",
   "states": "OFF=Fahrenheit, ON=Celsius"
  },
  {
   "type": "BV",
   "instance": 60,
   "name": "RV Override",
   "description": "Network control of reversing valve (BV 62 on)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 61,
   "name": "C1 Override",
   "description": "Network control of C1 (BV 62 on)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 62,
   "name": "Multi Stage Enable",
   "description": "Allow network control of C1, C2 and RV",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 63,
   "name": "C2 Override",
   "description": "Network control of C2 (BV 62 on)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 70,
   "name": "Archive Enable",
   "description": "Archive the current control program",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "integration": {
  "summary": "Address the MPC with the rotary switches and set the MS/TP baud with the DIP switches. Command occupancy with BV 12, choose heating or cooling with BV 7 MC Switch, and write the occupied water setpoints. Use BV 8 for an emergency stop and BV 4 to clear a lockout. Monitor the compressor, load water temperatures and the Alarm State.",
  "minimum_points": [
   {
    "ref": "BV 12",
    "name": "Occupied Mode",
    "why": "Occupancy command (ON = occupied)"
   },
   {
    "ref": "BV 8",
    "name": "Emergency Shutdown",
    "why": "Emergency stop; ON turns Y1, Y2, G and W off"
   },
   {
    "ref": "BV 7",
    "name": "MC Switch",
    "why": "Mode: ON = cooling, OFF = heating"
   },
   {
    "ref": "AV 3",
    "name": "Occupied CL SP/ Fahrenheit",
    "why": "Occupied cooling water setpoint, °F"
   },
   {
    "ref": "AV 5",
    "name": "Occupied HT Setpoint",
    "why": "Occupied heating water setpoint, °F"
   },
   {
    "ref": "BV 4",
    "name": "System Reset",
    "why": "Lockout reset; set ON then back OFF"
   },
   {
    "ref": "BV 3",
    "name": "C1 Status",
    "why": "Compressor 1 running"
   },
   {
    "ref": "AV 35",
    "name": "EWT Load Status",
    "why": "Load entering water temp (default control)"
   },
   {
    "ref": "AV 34",
    "name": "LWT Load Status",
    "why": "Load leaving water temperature"
   },
   {
    "ref": "BV 1",
    "name": "Alarm State",
    "why": "Lockout condition (ON = lockout)"
   }
  ],
  "enable": "BV 12 Occupied Mode (default ON) sets occupied/unoccupied; BV 14 Work Schedule can take a BMS schedule instead. BV 7 MC Switch selects cooling (ON) or heating (OFF) and the unit stays in that mode until it is changed. BV 8 Emergency Shutdown turns the outputs off. With BV 62 Multi Stage Enable ON the BMS can drive C1, C2 and the reversing valve directly through BV 61, BV 63 and BV 60.",
  "heartbeat": null,
  "remote_sensors": "BV 9 CC Mode and BV 10 HC Mode move cooling and heating control from entering (OFF, default) to leaving (ON) water temperature. Follower units (BV 16 ON) take the leader's water temperature in Master WT (AV 4/AV 27) and its setpoints in AV 9/AV 10.",
  "setup": [
   "MAC address comes from two rotary switches (00-99); ClimateMaster suggests 02 for heat pump 1 and HP number + 1 for the rest.",
   "BACnet MS/TP on RS-485 at 9.6, 19.2, 38.4 or 76.8 kbps is set with DIP switches SW1-SW4; the Communications Selection jumper picks RS-485 or BACnet over ARC156 (156 kbps).",
   "The device instance is auto-generated with the address as its last two digits; for more than 99 units turn off 'Auto Generate Device ID' in the Equipment Touch tool and enter it there.",
   "The same port can run N2 or Modbus instead of BACnet; the protocol is chosen with the same switches."
  ],
  "gotchas": [
   "The unit does not change between heating and cooling by itself; the BMS or a technician must switch BV 7.",
   "Occupied defaults are 53 °F cooling and 105 °F heating; unoccupied defaults 73 / 85 °F.",
   "System Reset (BV 4) is not momentary; write ON, then OFF.",
   "Compressor and RV overrides only act while BV 62 Multi Stage Enable is ON."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/climatemaster/mpc-water-to-water",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
