{
 "manufacturer": "Contemporary Controls",
 "manufacturer_slug": "contemporary-controls",
 "model": "Lochinvar Armor, Knight, FTXL and Wall Mount via BASgatewayLX",
 "short_model": "BASgatewayLX Lochinvar Knight/Armor/FTXL",
 "model_slug": "basgatewaylx-lochinvar-armor-knight-ftxl-wall-mount",
 "aliases": [
  "Lochinvar Knight",
  "Lochinvar Armor",
  "FTXL",
  "Knight Wall Mount",
  "WB",
  "AW",
  "KB",
  "KBX",
  "SMART SYSTEM Modbus"
 ],
 "equipment_type": "Boiler / water heater controller",
 "applies_to": "Lochinvar Knight (KB/KBX), Knight Wall Mount (WB), Armor (AW) and FTXL boilers and water heaters with SMART SYSTEM Modbus, read by a BASgatewayLX.",
 "summary": "Gateway profile shared by Lochinvar Knight, Wall Mount, Armor and FTXL units: 48 objects (13 AI, 7 AO, 16 BI, 12 BO), 29 polled by default. Inputs give the safety switches, flame, thermostat and contact states, pump and gas valve outputs, system/outlet/inlet/flue temperatures, firing rate and the status, blocking and lockout codes. The BMS command objects (room/tank thermostat, configuration bits, 0-10 V rate/setpoint command and BMS temperatures) are outputs but unpolled by default.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Built from Contemporary Controls' BASgatewayLX Modbus device profile Lochinvar_WB__AW__KB__KBX_LX.csv; the profile maps the registers in the Lochinvar SMART SYSTEM Modbus communication document (https://www.ccontrols.com/support/dp/MODB-I-O.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.",
  "Only 29 of the 48 rows are flagged for polling in the profile; the rest are served only after you tick them in the gateway. Their descriptions say \"not polled by default\".",
  "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.",
  "Some names appear more than once in the profile as published (Room Thermostat 1; Room Thermostat 2; Tank Thermostat); they are kept as printed and told apart by instance."
 ],
 "source": {
  "title": "BASgatewayLX Modbus device profile Lochinvar_WB__AW__KB__KBX",
  "doc_number": "Lochinvar_WB__AW__KB__KBX_LX.csv",
  "revision_date": null,
  "url": "https://www.ccontrols.com/support/dp/Lochinvar_WB__AW__KB__KBX.zip"
 },
 "integration": {
  "summary": "Enable the configuration bits and command outputs you need, set the matching configuration bit (e.g. BO 36 for the rate/setpoint command), write the command, then read run-time contacts, outlet temperature, firing rate and the codes.",
  "minimum_points": [
   {
    "ref": "BO 1",
    "name": "Room Thermostat 1",
    "why": "Room thermostat 1 call from the BMS"
   },
   {
    "ref": "AO 43",
    "name": "0-10 Volt Input / Rate Command / Setpoint Command",
    "why": "Rate or setpoint command (0-10 V equivalent)"
   },
   {
    "ref": "BO 36",
    "name": "Configuration Rate Command / 10 - 10V Input / Setpoint Command",
    "why": "Use the BMS rate/setpoint command"
   },
   {
    "ref": "BI 15",
    "name": "Run-time Contacts",
    "why": "Run-time contacts (burner on)"
   },
   {
    "ref": "AI 26",
    "name": "Outlet Temperature",
    "why": "Outlet temperature"
   },
   {
    "ref": "AI 27",
    "name": "Inlet Temperature",
    "why": "Inlet temperature"
   },
   {
    "ref": "AI 25",
    "name": "Outlet Setpoint",
    "why": "Outlet setpoint"
   },
   {
    "ref": "AI 29",
    "name": "Firing Rate",
    "why": "Firing rate"
   },
   {
    "ref": "BI 16",
    "name": "Alarm Contacts",
    "why": "Alarm contacts"
   },
   {
    "ref": "AI 33",
    "name": "Boiler Lockout Code",
    "why": "Lockout code"
   }
  ],
  "enable": "Each BMS value (enable/thermostat, rate/setpoint command, tank and system temperatures) only takes effect when its configuration bit (BO 34-41) is set; those and the command outputs are unpolled in the published profile.",
  "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": [
   "Command and configuration objects are unpolled by default; enable them first.",
   "Unpolled rows do not appear as BACnet objects until enabled in the gateway's device profile page."
  ]
 },
 "points": [
  {
   "type": "BO",
   "instance": 1,
   "name": "Room Thermostat 1",
   "description": "Modbus 000001; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "Room Thermostat 2",
   "description": "Modbus 000002; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "Room Thermostat 3",
   "description": "Modbus 000003; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 4,
   "name": "Tank Thermostat",
   "description": "Modbus 000004; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Flow Switch",
   "description": "Modbus 100002",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Gas Pressure Switch",
   "description": "Modbus 100003",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Louver Proving Switch",
   "description": "Modbus 100004",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "Air Pressure Switch",
   "description": "Modbus 100005",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "Blocked Drain Switch",
   "description": "Modbus 100006",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Auto Reset High Limit",
   "description": "Modbus 100007",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "Flame",
   "description": "Modbus 100008",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Room Thermostat 1",
   "description": "Modbus 100009",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Tank Thermostat",
   "description": "Modbus 100010",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Room Thermostat 2",
   "description": "Modbus 100024",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "Run-time Contacts",
   "description": "Modbus 100033",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Alarm Contacts",
   "description": "Modbus 100034",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "CH Pump",
   "description": "Modbus 100035",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "DHW Pump",
   "description": "Modbus 100036",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "Gas Valve",
   "description": "Modbus 100038",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "System Pump",
   "description": "Modbus 100039",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "System / Cascade Setpoint",
   "description": "Modbus 300004",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "System Pump Speed",
   "description": "Modbus 300005",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Cascade Total Power",
   "description": "Modbus 300006",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "Cascade Current Power",
   "description": "Modbus 300007",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "Outlet Setpoint",
   "description": "Modbus 300008",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "Outlet Temperature",
   "description": "Modbus 300009",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Inlet Temperature",
   "description": "Modbus 300010",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "Flue Temperature",
   "description": "Modbus 300011",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "Firing Rate",
   "description": "Modbus 300012",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "Boiler Pump Speed",
   "description": "Modbus 300013",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "Boiler Status Code",
   "description": "Modbus 300014",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "Boiler Blocking Code",
   "description": "Modbus 300015",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 33,
   "name": "Boiler Lockout Code",
   "description": "Modbus 300016",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 34,
   "name": "Configuration Boiler Enable",
   "description": "Modbus 400001 bit 0; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 35,
   "name": "Configuration Tank Thermostat",
   "description": "Modbus 400001 bit 1; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 36,
   "name": "Configuration Rate Command / 10 - 10V Input / Setpoint Command",
   "description": "Modbus 400001 bit 2; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 37,
   "name": "Configuration Tank Setpoint",
   "description": "Modbus 400001 bit 3; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 38,
   "name": "Configuration System Supply Temperature",
   "description": "Modbus 400001 bit 4; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 39,
   "name": "Configuration Outdoor Temperature",
   "description": "Modbus 400001 bit 5; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 40,
   "name": "Configuration Tank Temperature",
   "description": "Modbus 400001 bit 6; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 41,
   "name": "Configuration System Return Temperature",
   "description": "Modbus 400001 bit 7; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 42,
   "name": "Coils",
   "description": "Modbus 400002; not polled by default",
   "units": "",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 43,
   "name": "0-10 Volt Input / Rate Command / Setpoint Command",
   "description": "Modbus 400003; not polled by default",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 44,
   "name": "Tank Setpoint",
   "description": "Modbus 400004; not polled by default",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 45,
   "name": "Tank Temperature",
   "description": "Modbus 400005; not polled by default",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 46,
   "name": "Outdoor Temperature",
   "description": "Modbus 400006; not polled by default",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 47,
   "name": "System Supply Temperature",
   "description": "Modbus 400007; not polled by default",
   "units": "°C",
   "access": "C",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 48,
   "name": "System Return Temperature",
   "description": "Modbus 400008; not polled by default",
   "units": "°C",
   "access": "C",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/contemporary-controls/basgatewaylx-lochinvar-armor-knight-ftxl-wall-mount",
 "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"
}
