{
 "manufacturer": "Fulton",
 "manufacturer_slug": "fulton",
 "model": "Hydronic SOLA Master (lead/lag) (N54 ProtoNode)",
 "model_slug": "sola-master-protonode-n54",
 "aliases": [
  "SOLA Master",
  "Fulton SOLA lead lag",
  "N54 ProtoNode"
 ],
 "equipment_type": "Boiler plant controller gateway",
 "applies_to": "The SOLA lead/lag master of a group of Fulton hydronic boilers (up to 8 slaves), read through the N54 ProtoNode.",
 "summary": "Fulton's N54 ProtoNode publishes 65 objects for the SOLA lead/lag master boiler. The first 41 mirror the per-boiler SOLA list for the master itself; the rest give status, stage and firing rate for slaves 1-8. The BMS can enable central heat, DHW and lead/lag and send their setpoints.",
 "bacnet_transport": [],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Object IDs 1-65 are fixed (no boiler address prefix).",
  "The sheet does not say which BACnet transport the gateway is set to; ProtoNode gateways are normally configured for BACnet IP or BACnet MS/TP.",
  "Slave status, stage and firing rate repeat for slaves 1-8 in groups of three IDs."
 ],
 "integration": {
  "summary": "On the lead/lag master, enable lead/lag with LL Enable and write the LL setpoint (or use CH Enable and the CH setpoint for a single boiler). Read the master burner status, outlet temperature, firing rate and alarms, plus the status, stage and firing rate of each of up to 8 slaves.",
  "minimum_points": [
   {
    "ref": "BV 36",
    "name": "Master Boiler LL Enable",
    "why": "Lead/lag enable (1 = enable)"
   },
   {
    "ref": "AV 37",
    "name": "Master Boiler LL Setpoint Input",
    "why": "Lead/lag setpoint, °F"
   },
   {
    "ref": "BV 32",
    "name": "Master Boiler CH Enable",
    "why": "Central heat enable (1 = enable)"
   },
   {
    "ref": "AV 33",
    "name": "Master Boiler CH Setpoint Input",
    "why": "Central heat setpoint, °F"
   },
   {
    "ref": "AI 39",
    "name": "Master Boiler Burner Status",
    "why": "Master burner state code; see states"
   },
   {
    "ref": "AI 1",
    "name": "Master Boiler Outlet Temperature",
    "why": "Master outlet water temperature, °F"
   },
   {
    "ref": "AI 13",
    "name": "Master Boiler Firing Rate",
    "why": "Master firing rate, %"
   },
   {
    "ref": "AI 42",
    "name": "Slave 1 Status",
    "why": "Slave 1 state (repeat per slave)"
   },
   {
    "ref": "BI 16",
    "name": "Master Boiler Alarm Status",
    "why": "Master alarm active (1 = active)"
   },
   {
    "ref": "AI 17",
    "name": "Master Boiler Lockout Code",
    "why": "Lockout code; 0 = no lockout"
   }
  ],
  "enable": "BV 36 LL Enable and AV 37 LL Setpoint Input run the lead/lag group from the master. BV 32/AV 33 (central heat) and BV 34/AV 35 (DHW) enable and set the master itself; AV 40 Remote Operating Mode and AV 41 Remote Firing Rate force its burner.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Object IDs 1-65 are fixed and do not depend on the boiler address.",
   "Slave blocks: slave 1 = 42-44, each further slave adds 3 (slave 8 = 63-65).",
   "The sheet gives no device instance, MAC address or baud rate; those are set on the ProtoNode gateway."
  ],
  "gotchas": [
   "Lockout codes (1-4096) are decoded with the SOLA control manual.",
   "Slave Stage reads 0 when the slave is not staged; the sheet lists no other values."
  ]
 },
 "source": {
  "title": "Hydronic SOLA Master - Fulton N54 ProtoNode BACnet Network Addressing",
  "doc_number": null,
  "revision_date": "2020-04-08 (file date)",
  "url": "https://fulton.com/app/uploads/2021/02/N54-sola-master-BACnet-list_2020-0408.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Master Boiler Outlet Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Master Boiler Inlet Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Master Boiler DHW Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Master Boiler Outdoor Air Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Master Boiler Header Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Master Boiler Stack Temperature",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Master Boiler Active CH Setpoint",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Master Boiler Active DHW Setpoint",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Master Boiler Active LL Setpoint",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Master Boiler CH Operating Point",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Master Boiler CH DHW Operating Point",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Master Boiler LL Operating Point",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Master Boiler Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Master Boiler Fan Speed",
   "description": "Range based on user settings.",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Master Boiler Flame Signal",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Master Boiler Alarm Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "Master Boiler Lockout Code",
   "description": "Range 1 to 4096 (see manual)",
   "units": "",
   "access": "R",
   "states": "0=No Lockout"
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Master Boiler Alarm Reason",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=None, 1=Lockout (See Manal), 2=Alert (See Manual), 3=Other"
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "Master Boiler Low Water Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "Master Boiler Air Switch Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 21,
   "name": "Master Boiler Low Gas Pressure Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 22,
   "name": "Master Boiler High Gas Pressure Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 23,
   "name": "Master Boiler High Back Pressure Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 24,
   "name": "Master Boiler High Condensate Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "Master Boiler High Temp Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 26,
   "name": "Master Boiler Auxiliary Annunciator Input Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Circuit Open, 1=Circuit Made"
  },
  {
   "type": "BI",
   "instance": 27,
   "name": "Master Boiler Pump A Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 28,
   "name": "Master Boiler Pump B Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 29,
   "name": "Master Boiler Pump C Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "Master Boiler Burner Cycle Count",
   "description": "Range 0 - 999,999",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "Master Boiler Burner Run Hours",
   "description": "Range 0 - 999,999",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 32,
   "name": "Master Boiler CH Enable",
   "description": "",
   "units": "",
   "access": "W",
   "states": "0=Disable Central Heat, 1=Enable Central Heat"
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Master Boiler CH Setpoint Input",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 34,
   "name": "Master Boiler DHW Enable",
   "description": "",
   "units": "",
   "access": "W",
   "states": "0=Disable DHW, 1=Enable DHW"
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "Master Boiler DHW Setpoint Input",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 36,
   "name": "Master Boiler LL Enable",
   "description": "",
   "units": "",
   "access": "W",
   "states": "0=Disable Lead Lag, 1=Enable Lead Lag"
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "Master Boiler LL Setpoint Input",
   "description": "Range -40 to 266",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 38,
   "name": "Master Boiler Burner Demand Source",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=No Source Demand, 2=CH, 3=DHW, 4=Lead Lag Slave, 5=Lead Lag Master, 6=CH Frost Protection, 7=DHW Frost Protection, 8=No demand due to burner switch turned off, 9=DHW Storage, 11=Warm Weather Shutdown, 12=Hot Standby"
  },
  {
   "type": "AI",
   "instance": 39,
   "name": "Master Boiler Burner Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Disabled, 1=Locked out, 2-3=Reserved, 4=Anti Short Cycle, 5=Unconfigured Safety Data, 6-33=Reserved, 34=Standby Hold, 35=Standby Delay, 36-47=Reserved, 48=Normal Standby, 49=Preparing, 50=Ignition, 51=Firing, 52=Postpurge"
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Master Boiler Remote Operating Mode",
   "description": "",
   "units": "",
   "access": "W",
   "states": "0=Auto, 1=Remote Off, 2=Remote On"
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "Master Boiler Remote Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 42,
   "name": "Slave 1 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 43,
   "name": "Slave 1 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 44,
   "name": "Slave 1 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 45,
   "name": "Slave 2 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 46,
   "name": "Slave 2 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 47,
   "name": "Slave 2 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 48,
   "name": "Slave 3 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 49,
   "name": "Slave 3 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 50,
   "name": "Slave 3 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 51,
   "name": "Slave 4 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 52,
   "name": "Slave 4 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 53,
   "name": "Slave 4 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 54,
   "name": "Slave 5 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 55,
   "name": "Slave 5 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 56,
   "name": "Slave 5 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 57,
   "name": "Slave 6 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 58,
   "name": "Slave 6 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 59,
   "name": "Slave 6 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 60,
   "name": "Slave 7 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing, 5=On Leaved, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 61,
   "name": "Slave 7 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 62,
   "name": "Slave 7 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 63,
   "name": "Slave 8 Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unknown, 1=Available, 2=Add Stage, 3=Suspend Stage, 4=Firing Rate, 5=On Leave, 6=Disabled, 7=Recovering"
  },
  {
   "type": "AI",
   "instance": 64,
   "name": "Slave 8 Stage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Not Staged"
  },
  {
   "type": "AI",
   "instance": 65,
   "name": "Slave 8 Firing Rate",
   "description": "Range 0 to 100",
   "units": "%",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/fulton/sola-master-protonode-n54",
 "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"
}
