{
 "manufacturer": "Contemporary Controls",
 "manufacturer_slug": "contemporary-controls",
 "model": "PVI Industries XR10CX controller via BASgatewayLX",
 "short_model": "BASgatewayLX PVI XR10CX",
 "model_slug": "basgatewaylx-pvi-xr10cx",
 "aliases": [
  "XR10CX",
  "Dixell XR10CX",
  "PVI XR10CX Modbus"
 ],
 "equipment_type": "Water heater controller",
 "applies_to": "PVI Industries water heaters using the XR10CX digital controller on Modbus, read by a BASgatewayLX.",
 "summary": "Gateway profile for the XR10CX: 22 objects (1 AI, 6 AO, 12 BI, 3 BO), all polled. It writes the system setpoint, differential, alarm delays, keypad lock and an on/off for control, and reads probe 1 temperature, the call-for-heat relay, probe errors and high/low/external alarms.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Built from Contemporary Controls' BASgatewayLX Modbus device profile PVI_Industries_XR10CX_a_LX.csv; the profile maps the registers in the XR10CX Modbus register list (https://www.ccontrols.com/support/dp/PV500-67.pdf).",
  "Object instances are the ones this profile assigns when it is loaded into the gateway. A site that edited or rebuilt the profile may use different instances.",
  "All 22 rows are flagged for polling in the profile, so every object is served to BACnet once the profile is loaded.",
  "The CSV has no read/write column: Analog/Binary Inputs are read-only and Analog/Binary Outputs are commandable (priority array), which is how the gateway maps them (access inferred). Descriptions give the Modbus register each object reads."
 ],
 "source": {
  "title": "BASgatewayLX Modbus device profile PVI_Industries_XR10CX_a",
  "doc_number": "PVI_Industries_XR10CX_a_LX.csv",
  "revision_date": null,
  "url": "https://www.ccontrols.com/support/dp/PVI_Industries_XR10CX.zip"
 },
 "integration": {
  "summary": "Write On/Off for Control and the system setpoint, then read probe 1 and the call-for-heat relay.",
  "minimum_points": [
   {
    "ref": "BO 8",
    "name": "On Off for Control",
    "why": "Control on/off"
   },
   {
    "ref": "AO 7",
    "name": "System Setpoint",
    "why": "System setpoint"
   },
   {
    "ref": "AI 1",
    "name": "Probe 1 Temperature",
    "why": "Probe 1 temperature"
   },
   {
    "ref": "BI 21",
    "name": "Relay Call For Heat",
    "why": "Relay calling for heat"
   },
   {
    "ref": "BI 16",
    "name": "High Temperature Alarm Pb1",
    "why": "High temperature alarm"
   },
   {
    "ref": "BI 17",
    "name": "Low Temperature Alarm Pb1",
    "why": "Low temperature alarm"
   },
   {
    "ref": "BI 12",
    "name": "Probe 1 Error",
    "why": "Probe 1 error"
   },
   {
    "ref": "BI 18",
    "name": "Alarm from External input",
    "why": "External input alarm"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "The BASgatewayLX presents each Modbus device as its own virtual BACnet device on BACnet IP; give it a unique device instance and Modbus address (serial) or IP address (Modbus TCP) when you add it with this profile.",
   "One BASgatewayLX handles up to 100 Modbus devices and 1000 polled points in total, so leave unneeded rows unpolled."
  ],
  "gotchas": [
   "AO 6 is the controller's Modbus address; writing it breaks communication."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Probe 1 Temperature",
   "description": "Modbus 400257",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "Differential",
   "description": "Modbus 400769",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 3,
   "name": "Temperature Alarm Delay",
   "description": "Modbus 400830",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 4,
   "name": "Temp Alarm Delay at Startup",
   "description": "Modbus 400831",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 5,
   "name": "Dig Input Alarm Delay 0-255min",
   "description": "Modbus 400847",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 6,
   "name": "Modbus Address 1-247",
   "description": "Modbus 400852",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 7,
   "name": "System Setpoint",
   "description": "Modbus 400864",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 8,
   "name": "On Off for Control",
   "description": "Modbus 000513",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 9,
   "name": "Keypad Lock",
   "description": "Modbus 000516",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 10,
   "name": "Mute Buz and Any-Alarm",
   "description": "Modbus 000517",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "Digital input Pin 9",
   "description": "Modbus 000520",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Probe 1 Error",
   "description": "Modbus 000521",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Probe 2 Error",
   "description": "Modbus 000522",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Probe 3 Error",
   "description": "Modbus 000523",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "Probe 4 Error",
   "description": "Modbus 000524",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "High Temperature Alarm Pb1",
   "description": "Modbus 000525",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Low Temperature Alarm Pb1",
   "description": "Modbus 000526",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "Alarm from External input",
   "description": "Modbus 000529",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "EEPROM Failure",
   "description": "Modbus 000532",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "ANY-Alarm Can be Muted",
   "description": "Modbus 000538",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 21,
   "name": "Relay Call For Heat",
   "description": "Modbus 000543",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 22,
   "name": "Buzzer On with Ext or Hi Alarm",
   "description": "Modbus 000545",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/contemporary-controls/basgatewaylx-pvi-xr10cx",
 "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"
}
