{
 "manufacturer": "Lochinvar",
 "manufacturer_slug": "lochinvar",
 "model": "Regent",
 "model_slug": "regent",
 "aliases": [
  "Regent IWH",
  "IWH500-1000"
 ],
 "equipment_type": "Commercial water heater controller",
 "applies_to": "Regent IWH 500-1000 commercial gas water heaters.",
 "summary": "The Regent water heater shares the Crest communication manual but has its own BACnet MS/TP object map. It covers DHW thermostat and setpoint commands, safety switch and relay states, temperatures, flow rate, combustion values and status codes.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "680000 + MAC address (base can be changed)",
 "notes": [
  "BACnet needs the optional Lochinvar Modbus/BACnet communication board; address and baud rate are set on its dip switches.",
  "The BACnet board is an MS/TP master only, so MAC addresses 0-127 are usable.",
  "AV 0 (Configuration) is a bitmask: set a bit to 1 to make the water heater use the BAS-written value instead of its own input.",
  "BAS-supplied temperatures must be rewritten every few seconds and other commands at least every 4 minutes, or the unit reverts to local control.",
  "Temperatures are in °C on the bus.",
  "AI 4-6 units are misprinted as \"5\" in the manual; they are percentages."
 ],
 "integration": {
  "summary": "The Regent water heater uses the same Modbus/BACnet board and configuration approach as the Crest: write AV 0 Configuration to say which values the BAS supplies, then command the DHW thermostat and setpoint. Most integrations simply read status, temperatures and the status, blocking and lockout codes.",
  "minimum_points": [
   {
    "ref": "AV 0",
    "name": "Configuration",
    "why": "Bitmask of BAS-supplied inputs; resend before commands"
   },
   {
    "ref": "BV 4",
    "name": "DHW Thermostat",
    "why": "DHW call from the BAS"
   },
   {
    "ref": "AV 3",
    "name": "DHW Setpoint",
    "why": "DHW setpoint from the BAS"
   },
   {
    "ref": "AI 13",
    "name": "Unit Status Code",
    "why": "What the heater is doing; 40 = lockout"
   },
   {
    "ref": "AI 8",
    "name": "Outlet Temperature",
    "why": "Heater outlet water temperature, °C"
   },
   {
    "ref": "AI 11",
    "name": "Firing Rate",
    "why": "Burner firing rate, %"
   },
   {
    "ref": "AI 15",
    "name": "Unit Lockout Code",
    "why": "Lockout cause; valid only when status code is 40"
   }
  ],
  "enable": "Set the Demand Configuration under Main Menu > Setup > BMS. ENABLE active / BMS inactive: local setpoints plus an enable (BV 4, packed in AV 1). ENABLE and BMS active: enable plus the AV 2 setpoint command. Set the matching AV 0 bits first.",
  "heartbeat": "The Regent communication timer is fixed at 300 s; if communication stops longer than that the unit reverts to its own controls. When the BAS sends a setpoint command it must refresh it at least every 4 seconds or the unit reverts to its own inputs.",
  "remote_sensors": "With the matching AV 0 bits set, the BAS can write AV 6 System Supply Temperature and AV 7 Building Recirculation Temperature (°C).",
  "setup": [
   "MAC address from dip switches 1-8 (master only, so 0-127); baud from switches 9-10: 9600, 19200, 38400 or 76800.",
   "Device instance = base 680000 + MAC address; the base can be changed."
  ],
  "gotchas": [
   "Resend the AV 0 configuration bits before each command.",
   "AI 4-6 units are misprinted as \"5\" in the manual; they are percentages."
  ]
 },
 "source": {
  "title": "Modbus and BACnet Communication Instructions (Crest FB/OF751-6001, FCB1000-6000 & Regent IWH500-1000)",
  "doc_number": "100161012_2000020084",
  "revision_date": "Rev X, 04/26",
  "url": "https://assets.lochinvar.com/damroot/Original/10017/MODB_100161012_2000020084_REV%20X_(71343).pdf"
 },
 "points": [
  {
   "type": "BV",
   "instance": 4,
   "name": "DHW Thermostat",
   "description": "Tank / DHW thermostat call",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 0,
   "name": "Hex Door Temperature Switch / MRHL",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Flow Switch",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Gas Pressure Switch 1",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Proof of Closure",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Blocked Drain Switch",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Flame 1",
   "description": "Flame status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Blocked Vent Switch",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "Gas Pressure Switch 2",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "Flue Damper Switch",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 22,
   "name": "Flame 2",
   "description": "Flame status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 29,
   "name": "DHW Thermostat",
   "description": "Tank / DHW thermostat call",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 32,
   "name": "Run Time Contacts",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 33,
   "name": "Alarm Contacts",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 34,
   "name": "Internal Circulation Pump",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 35,
   "name": "Cascade Isolation Valve",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 37,
   "name": "Gas Valve",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 40,
   "name": "Building Recirculation Pump",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 43,
   "name": "Flue Damper Output",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 48,
   "name": "Main Fan",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 50,
   "name": "External Spark / HSI",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 51,
   "name": "Air Valve Trigger",
   "description": "Output or relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 52,
   "name": "Air Proving Switch",
   "description": "Safety / proving switch status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 0,
   "name": "Binary Inputs 0-15",
   "description": "Packed word of binary inputs 0-15",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Binary Inputs 16-31",
   "description": "Packed word of binary inputs 16-31",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Binary Inputs 32-47",
   "description": "Packed word of binary inputs 32-47",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "System / Cascade Setpoint",
   "description": "Setpoint value",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "System Pump Speed",
   "description": "Pump speed output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Cascade Total Power",
   "description": "Total cascade firing capacity",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Cascade Current Power",
   "description": "Current cascade firing rate",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Outlet Setpoint",
   "description": "Setpoint value",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Outlet Temperature",
   "description": "Temperature reading",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Inlet Temperature",
   "description": "Temperature reading",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Flue Temperature",
   "description": "Temperature reading",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Firing Rate",
   "description": "Burner firing rate",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Unit Status Code",
   "description": "Current operating status code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Unit Blocking Code",
   "description": "Active blocking (soft lockout) code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Unit Lockout Code",
   "description": "Active lockout code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Air Damper Target Angle",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "Gas Damper Target Angle",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Fan Speed Target",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "O2 Sensor Status",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Current Trim Factor",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "Barometer",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "Binary Inputs 48-63",
   "description": "Packed word of binary inputs 48-63",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "Lock-Out Error Leader",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Lock-Out Error Member 1",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "Lock-Out Error Member 2",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "Lock-Out Error Member 3",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "Lock-Out Error Member 4",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "Lock-Out Error Member 5",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "Lock-Out Error Member 6",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 33,
   "name": "Lock-Out Error Member 7",
   "description": "Lockout flag for this cascade unit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "Flame 1",
   "description": "Flame status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 36,
   "name": "Flame 2",
   "description": "Flame status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 37,
   "name": "Corrected O2 Reading",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 38,
   "name": "Flow Rate",
   "description": "Combustion / flow value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "Configuration",
   "description": "Bitmask selecting which values the BAS supplies",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Coils",
   "description": "Packed word of the binary value commands",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "0-10 Volt Input / Setpoint Command",
   "description": "BAS rate or setpoint command (0-100%)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "DHW Setpoint",
   "description": "Setpoint value",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "System Supply Temperature",
   "description": "Temperature reading",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Building Recirculation Temperature",
   "description": "Temperature reading",
   "units": "°C",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/lochinvar/regent",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
