{
 "manufacturer": "Price Industries",
 "manufacturer_slug": "price-industries",
 "model": "BFC BACnet flow controller for fan filter units",
 "model_slug": "bfc-fan-filter-unit-controller",
 "aliases": [
  "BFC",
  "BACnet Flow Controller",
  "Price BFC",
  "FFU controller",
  "UFFU"
 ],
 "equipment_type": "Fan filter unit (FFU) controller",
 "applies_to": "Price fan filter units (FFU / UFFU) with the BFC BACnet Flow Controller, firmware v3.2.0.",
 "summary": "The BFC is Price's ECM fan controller for fan filter units, with BACnet MS/TP. The points list has 38 objects: ECM setpoint and setback setpoint, airflow, motor speed, unit pressure, filter load and runtime, unit and fan status, control mode and unit configuration.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "v3.2.0",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Taken from the \"BACnet points list for BFC firmware v3.2.0\" at the end of the manual (PDF pages 30-31; the contents page calls it v3.1.0).",
  "Several AV and MV objects carry coded values; the codes are listed in the states field.",
  "AO1-AO3 functions are set with MV 9-11 (AO usage)."
 ],
 "source": {
  "title": "BACnet Flow Controller (BFC) for Fan Filter Units - Manual",
  "doc_number": null,
  "revision_date": null,
  "url": "https://priceindustries.com/wp-content/uploads/Assets/literature/manuals/section%20a/bfc-bacnet-flow-controller-manual.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Analog Input 1 (BAS)",
   "description": "0-10 VDC Signal for remote fan speed control",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Analog Input 2 (LED)",
   "description": "0-10 VDC remote LED dimming signal (UFFU with BACnet dimming)",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Thermistor",
   "description": "Current air temperature over filter",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "ECM Speed",
   "description": "Current RPM of motor",
   "units": "rpm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Unit Pressure",
   "description": "Current differential pressure measured across the filter",
   "units": "in. w.g.",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Contact Closure",
   "description": "Binary Input for monitoring only",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "Analog Output 1 Filter Load",
   "description": "Configurable for Unit Pressure, CFM, RPM, Filter Load , BAS, *LED Dimming",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "Analog Output 2 Unit Pressure",
   "description": "Configurable for Unit Pressure, CFM, RPM, Filter Load , BAS, *LED Dimming",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 3,
   "name": "Analog Output 3 (BAS)",
   "description": "Configurable output: pressure, CFM, RPM, filter load, BAS or LED",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 4,
   "name": "ECM Setpoint",
   "description": "Set ECM motor setpoint",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Filter Load",
   "description": "Current percent of filter loading based on new, clean filter pressure drop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Filter Runtime",
   "description": "Current number of hours on filter since last reset",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Motor Runtime",
   "description": "Current number of hours on motor since last reset",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Airflow",
   "description": "Current airflow",
   "units": "cfm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Filter Calibrated Pressure",
   "description": "Unit pressure when filter was calibrated",
   "units": "in. w.g.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Filter Trip Pressure",
   "description": "Filter trip pressure",
   "units": "in. w.g.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Filter Loading Trip Point",
   "description": "Factory set filter loading trip point",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "ECM Setback Setpoint",
   "description": "Second ECM setpoint, used while BI 1 contact is closed",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "ECM CFM Offset",
   "description": "Set a fixed offset for adjusting CFM readout",
   "units": "cfm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "ECM CFM Tweak",
   "description": "Set a percent offset for adjusting CFM readout",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "LED Dimming Setpoint",
   "description": "Set LED dimming percentage (for UFFU w/ BACnet Dimming)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "No Load Pressure",
   "description": "Calibrate filter by writing 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "ECM Fan Status",
   "description": "Displays motor status",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Normal, 3=No RPM, 4=Overspeed"
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Filter Calibrating",
   "description": "Displays filter calibration status",
   "units": "",
   "access": "R",
   "states": "0=Calibration Complete, 1=Calibrating"
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "BAS Enabled",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No AI1 BAS Signal, 1=AI1 BAS signal present"
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "BAS LED Enabled",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No AI2 BAS Signal, 1=AI2 BAS signal present"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Unit Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Low Pressure , 3=Normal, 4=Filter Loaded"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "Control Mode",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=BACnet, 2=BAS, 3=Local"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "Motor Program",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Constant Torque, 2=Constant Volume"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "Unit Size",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=2x2, 2=2x3, 3=2x4"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "Unit Filter Type",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=BTR, 2=RSR"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Unit Wheel Type",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=FC, 2=BC"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "Unit Voltage Type",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=115, 2=240, 3=277"
  },
  {
   "type": "MV",
   "instance": 9,
   "name": "AO1 Usage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Disabled, 2=RPM, 3=Fitler Load, 4=BAS, 5=Unit Press, 6=LED (On/Off), 7=LED (Dimming), 8=CFM"
  },
  {
   "type": "MV",
   "instance": 10,
   "name": "AO2 Usage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Disabled, 2=RPM, 3=Fitler Load, 4=BAS, 5=Unit Press, 6=LED (On/Off), 7=LED (Dimming), 8=CFM"
  },
  {
   "type": "MV",
   "instance": 11,
   "name": "AO3 Usage",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Disabled, 2=RPM, 3=Fitler Load, 4=BAS, 5=Unit Press, 6=LED (On/Off), 7=LED (Dimming), 8=CFM"
  },
  {
   "type": "MV",
   "instance": 12,
   "name": "RS-485 Term.",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "MV",
   "instance": 13,
   "name": "Baud Rate",
   "description": "",
   "units": "bps",
   "access": "R",
   "states": "0=9600, 1=19200, 2=38400, 3=76800"
  }
 ],
 "integration": {
  "summary": "Write AO 4 ECM Setpoint (motor speed %) from the BMS and read AV 4 airflow, AI 4 motor speed, MV 1 unit status, AV 13 fan status and AV 1 filter load. MV 2 shows whether BACnet, the BAS 0-10 V input or local control is in charge.",
  "minimum_points": [
   {
    "ref": "AO 4",
    "name": "ECM Setpoint",
    "why": "Motor speed setpoint, %"
   },
   {
    "ref": "MV 2",
    "name": "Control Mode",
    "why": "Active control: BACnet, BAS or local"
   },
   {
    "ref": "AV 4",
    "name": "Airflow",
    "why": "Current airflow, cfm"
   },
   {
    "ref": "AI 4",
    "name": "ECM Speed",
    "why": "Motor speed, rpm"
   },
   {
    "ref": "AV 1",
    "name": "Filter Load",
    "why": "Filter loading, %"
   },
   {
    "ref": "MV 1",
    "name": "Unit Status",
    "why": "Off, low pressure, normal, filter loaded"
   },
   {
    "ref": "AV 13",
    "name": "ECM Fan Status",
    "why": "Off, normal, no RPM, overspeed"
   }
  ],
  "enable": "A BAS 0-10 V signal on AI1 above 1 V overrides the local setpoint (AV 15 shows when it is present); MV 2 Control Mode reports BACnet, BAS or local control.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Device instance and MAC address are set on the BFC service menu (device instance range 1-4,194,303); default baud rate 76800.",
   "Write AV 12 No Load Pressure = 1 to calibrate the clean filter pressure."
  ],
  "gotchas": [
   "Write AV 2 Filter Runtime = 0 only after a filter change and calibration."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/price-industries/bfc-fan-filter-unit-controller",
 "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"
}
