{
 "manufacturer": "WaterFurnace",
 "manufacturer_slug": "waterfurnace",
 "model": "Single Compressor Water-to-Air Heat Pump (FX10)",
 "model_slug": "fx10-single-compressor-water-to-air",
 "short_model": "Water-to-Air Single Compressor (FX10)",
 "aliases": [
  "PROFXENV-00",
  "PROFXENV",
  "Envision FX10",
  "WaterFurnace FX10"
 ],
 "equipment_type": "Water-source heat pump controller",
 "applies_to": "WaterFurnace single-compressor water-to-air heat pumps without hot gas reheat, fitted with the FX10 DDC controller.",
 "summary": "BACnet objects for WaterFurnace's single-compressor water-to-air heat pump on the FX10 controller, the version without hot gas reheat. The BAS can command occupancy and let the FX10 hold its setpoints, or send G, Y1, Y2 and O calls directly. Space temperature can be overridden from the network, and passive dehumidification is driven by a humidity setpoint or a network command.",
 "bacnet_transport": [],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "This is the non-reheat sheet. The hot gas reheat version (PROFXENV-RH-00) adds a space humidity override and reheat points and numbers some AV/MO/MV points differently.",
  "Output-type points are volatile and fall back to uncommanded after a power cycle; unlimited writes.",
  "Value-type points (AV/MV) are stored in flash (about 2,000,000 write life); never write them from automatic reset logic.",
  "Multistate numbers assume the BAS shows 255 as uncommanded; if yours shows 254, every state number is one lower (0=Off, 1=On).",
  "Units are mostly not printed; AV5 gives its default as 2.7 C, other temperatures are presumably degrees F. Alarm codes 5-7 are not listed.",
  "The sheet does not state the BACnet transport."
 ],
 "source": {
  "title": "BACnet Points for Single Compressor Water-to-Air Heat Pumps Utilizing the FX10 Controller",
  "doc_number": "PROFXENV-00",
  "revision_date": "2013-02",
  "url": "https://www.waterfurnace.com/downloads/ddc/BACnet-Resources/BACnet-points-pdfs/PROFXENV-00.pdf"
 },
 "integration": {
  "summary": "The BAS can run this heat pump in two ways: command occupancy (MO1) and let the FX10 hold its occupied/unoccupied setpoints, or act as the thermostat and send fan, Y1, Y2 and O calls directly (MO2-MO5). Space temperature can be overridden on AO4, and MO6 forces an emergency shutdown. Keep frequent writes on the volatile AO/MO points, not the flash-backed AV/MV setpoints.",
  "minimum_points": [
   {
    "ref": "MO 1",
    "name": "Occupancy Command",
    "why": "Occupied/unoccupied/bypass/standby command"
   },
   {
    "ref": "MO 6",
    "name": "Emergency Override",
    "why": "Network emergency shutdown"
   },
   {
    "ref": "AV 1",
    "name": "Occupied Cool",
    "why": "Occupied cooling setpoint (flash; write rarely)"
   },
   {
    "ref": "AV 3",
    "name": "Occupied Heat",
    "why": "Occupied heating setpoint (flash; write rarely)"
   },
   {
    "ref": "MO 7",
    "name": "Alarm Reset",
    "why": "Reset manual-reset alarms"
   },
   {
    "ref": "MI 2",
    "name": "Mode",
    "why": "Current unit mode (auto, heat, cool, shutdown...)"
   },
   {
    "ref": "MI 4",
    "name": "Comp Cmd Status",
    "why": "Compressor commanded on/off"
   },
   {
    "ref": "AI 1",
    "name": "Space Temp",
    "why": "Space sensor temperature (terminals RS/AIC)"
   },
   {
    "ref": "AI 2",
    "name": "Discharge Air",
    "why": "Discharge (supply) air temperature"
   },
   {
    "ref": "AI 9",
    "name": "Alarms Enumerated",
    "why": "Active alarm code"
   }
  ],
  "enable": "The sheet has no separate BAS-enable point. MO6 Emergency Override puts the unit in shutdown (5) or back to normal (1). MO2-MO5 let the BAS send fan, compressor and reversing-valve calls directly.",
  "heartbeat": null,
  "remote_sensors": "AO4 Space Temp Override supersedes any space sensor wired to the analog input. It is a volatile output, so it reverts to uncommanded after a power cycle. MO10 Dehum Cmd is the network passive dehumidification command.",
  "setup": [],
  "gotchas": [
   "AV/MV points are stored in flash (about 2,000,000 writes); write them only manually or by schedule, never from automatic reset logic.",
   "Output points (AO/MO) are volatile and go back to uncommanded after a power cycle, so rewrite them after power is restored.",
   "If the BAS shows 254 as uncommanded instead of 255, every multistate value is one lower (0=Off, 1=On).",
   "To set ECM fan speeds from the network, first write MV1-MV3 to On (2), then write the speed percentage to AV10-AV12.",
   "MV4 Dehum Ena/Dis set to Off stops passive dehumidification from ever running.",
   "Alarm Reset needs a write of 2 followed by 1."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Space Temp",
   "description": "Space sensor reading (terminals RS/AIC)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Discharge Air",
   "description": "Discharge air sensor (field mounted unless factory special)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Effective Clg Setpt",
   "description": "Effective cooling setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Effective Hgt Setpt",
   "description": "Effective heating setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Space Humidity",
   "description": "Space humidity, if a sensor is connected",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Water Coil Temp",
   "description": "Refrigerant temperature near the coaxial heat exchanger",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Low Temp Limit",
   "description": "Water coil low temperature limit",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "ECM Cmd Output",
   "description": "Commanded ECM blower speed",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Alarms Enumerated",
   "description": "Active alarm code (0-9, see alarm table)",
   "units": "",
   "access": "R",
   "states": "0=No Alarm; 1=Condensate Detected; 2=Compressor High Discharge Pressure; 3=Compressor Low Suction Pressure; 4=Freeze Protection; 8=Faulty Freeze Sensor Alarm; 9=Loss of Charge"
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "AO2 Value",
   "description": "Commanded value of analog output 2 override",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "Space Setpoint",
   "description": "Midpoint setpoint; moves heating and cooling setpoints together",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "ECM Fan Override",
   "description": "Network control of ECM blower speed",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 3,
   "name": "AO2 Override",
   "description": "Network control of analog output 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 4,
   "name": "Space Temp Override",
   "description": "Network override of the space temperature reading",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Occupied Cool",
   "description": "Occupied cooling setpoint (flash)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Unoccupied Cool",
   "description": "Unoccupied cooling setpoint (flash)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Occupied Heat",
   "description": "Occupied heating setpoint (flash)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Unoccupied Heat",
   "description": "Unoccupied heating setpoint (flash)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "nciRemote Setpt Span",
   "description": "Setpoint shift span of the sensor knob, default 2.7 C",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Remote Setpt Bias",
   "description": "Calibrates the setpoint shift center point",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Space Temp Offset",
   "description": "Calibration offset for the zone sensor",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "nciAux5LevP",
   "description": "Humidity setpoint that starts passive dehumidification",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Low Temp Limit Adj",
   "description": "Water coil low temperature limit for freeze detection",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Fan Only Speed",
   "description": "ECM blower fan-only speed (needs MV1 on)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Fan Medium",
   "description": "ECM blower medium speed (needs MV2 on)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Fan High",
   "description": "ECM blower high speed (needs MV3 on)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "Effective Occupancy",
   "description": "Current occupancy status",
   "units": "",
   "access": "R",
   "states": "1=Occupied; 2=Unoccupied; 3=Bypass (temporary occupancy)"
  },
  {
   "type": "MI",
   "instance": 2,
   "name": "Mode",
   "description": "Current unit mode",
   "units": "",
   "access": "R",
   "states": "1=Auto; 2=Heat; 3=Morning Warm-up; 4=Cool; 5=Night Purge; 6=Pre Cool; 7=Off (Shutdown); 8=Test; 9=Emergency Heat"
  },
  {
   "type": "MI",
   "instance": 3,
   "name": "Fan Cmd Status",
   "description": "Commanded fan status",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 4,
   "name": "Comp Cmd Status",
   "description": "Commanded compressor status",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 5,
   "name": "Comp Hi Capacity Cmd",
   "description": "Commanded high-capacity compressor valve",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 6,
   "name": "Reversing Valve",
   "description": "Commanded reversing valve position",
   "units": "",
   "access": "R",
   "states": "1=Heating; 2=Cooling"
  },
  {
   "type": "MI",
   "instance": 7,
   "name": "Accessory 1 Output",
   "description": "ACC 1 (X1) output state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 8,
   "name": "Accessory 2 Output",
   "description": "ACC 2 (X2) output state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 9,
   "name": "Dirty Filter BI-12",
   "description": "Digital input 12 state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 10,
   "name": "Alarm Status",
   "description": "Alarm output state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 11,
   "name": "BO5 Output",
   "description": "BO5 output state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 12,
   "name": "BO-9 Output",
   "description": "BO9 output state",
   "units": "",
   "access": "R",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MI",
   "instance": 13,
   "name": "Dehum",
   "description": "Dehumidistat input state",
   "units": "",
   "access": "R",
   "states": "1=Open; 2=Closed"
  },
  {
   "type": "MO",
   "instance": 1,
   "name": "Occupancy Command",
   "description": "Network occupancy command",
   "units": "",
   "access": "W",
   "states": "1=Occupied; 2=Unoccupied; 3=Bypass; 4=Standby"
  },
  {
   "type": "MO",
   "instance": 2,
   "name": "Fan Command",
   "description": "Network fan call (thermostat G)",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MO",
   "instance": 3,
   "name": "Compressor Cmd(Y1)",
   "description": "Network compressor call (thermostat Y1)",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MO",
   "instance": 4,
   "name": "Compressor Cmd(Y2)",
   "description": "Network compressor call (thermostat Y2)",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MO",
   "instance": 5,
   "name": "Reversing Vlv Cmd",
   "description": "Network reversing valve call (thermostat O)",
   "units": "",
   "access": "W",
   "states": "1=Heat; 2=Cooling"
  },
  {
   "type": "MO",
   "instance": 6,
   "name": "Emergency Override",
   "description": "Network emergency shutdown",
   "units": "",
   "access": "W",
   "states": "1=Normal; 5=Shutdown"
  },
  {
   "type": "MO",
   "instance": 7,
   "name": "Alarm Reset",
   "description": "Reset manual-reset alarms: write 2, then back to 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MO",
   "instance": 8,
   "name": "Emergency Heat BO5",
   "description": "Network control of binary output 5",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MO",
   "instance": 9,
   "name": "BO9",
   "description": "Network control of binary output 9",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MO",
   "instance": 10,
   "name": "Dehum Cmd",
   "description": "Network passive dehumidification command",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=Dehumidify"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "SW1",
   "description": "ECM switch 1 on; AV10 then sets fan-only speed",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "SW2",
   "description": "ECM switch 2 on; AV11 then sets medium speed",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "SW3",
   "description": "ECM switch 3 on; AV12 then sets high speed",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "Dehum Ena/Dis",
   "description": "Enable or disable the passive dehumidification input",
   "units": "",
   "access": "W",
   "states": "1=Off; 2=On"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "SensorSel",
   "description": "Zone sensor type selection",
   "units": "",
   "access": "W",
   "states": "1=TAXXJ02, TAXXA03, TAXXA04; 2=TAXXA01"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Fan Cycling",
   "description": "Continuous or cycled fan",
   "units": "",
   "access": "W",
   "states": "1=Continuous; 2=Cycled"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/waterfurnace/fx10-single-compressor-water-to-air",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
