{
 "manufacturer": "Desert Aire",
 "manufacturer_slug": "desert-aire",
 "model": "ExpertAire LW (Wide Temperature Range) - program 2.0.6",
 "model_slug": "expertaire-lw",
 "aliases": [
  "ExpertAire LW",
  "LW Series",
  "Desert Aire LW",
  "LW 2.0.6"
 ],
 "equipment_type": "Industrial dehumidifier (air handler) controller",
 "applies_to": "Desert Aire ExpertAire LW wide-temperature-range dehumidifiers (industrial, water treatment, ice rink and grow uses) running program version 2.0.6.",
 "summary": "The ExpertAire LW is a single-compressor dehumidifier for low and wide temperature ranges. Over BACnet the BMS can switch the unit off, command occupancy, write occupied and unoccupied space temperature and RH setpoints, and send its own zone temperature and RH readings. An optional heartbeat (enable, toggle point and delay) supervises the BMS link. Status and alarms are binary values; unit status and zone-sensor source are integer codes.",
 "bacnet_transport": [],
 "firmware": "Program version 2.0.6",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "BV 8 Active Alarm is inverted: 0 = alarm, 1 = normal.",
  "The list gives many analog values 'in tenths' (two differential pressures in thousandths); check whether your BMS reads 72.5 or 725 and scale if needed.",
  "The source lists instances 1001 and up as type \"INT\" and does not say which BACnet object type that is. They are shown here as AV, but Desert Aire does not confirm that; check the actual object type with a device discovery before mapping.",
  "AV 30/31 show the setpoints actually in use; AV 23-26 are the BMS-written network setpoints.",
  "The source does not say whether the unit uses BACnet IP or BACnet MS/TP."
 ],
 "source": {
  "title": "BACnet Points List - Unit Type LW For Program Version 2.0.6",
  "doc_number": "ECN 10971 (Rev. 03)",
  "revision_date": "2023-10-10",
  "url": "https://www.desert-aire.com/wp-content/uploads/2025/04/LW-BACnet-Points-Ver-2_0_6.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "Suction Pressure",
   "description": "Range 0.0 to 250.0 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Discharge Pressure",
   "description": "Range 0.0 to 650.0 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Liquid Pressure",
   "description": "Range 0.0 to 650.0 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Zone Air Relative Humidity",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Zone Air Temperature",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Zone Dewpoint",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Suction Line Temperature",
   "description": "Range -58.0 to 212.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Liquid Line Temperature",
   "description": "Range -58.0 to 212.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Return Air Temperature",
   "description": "Range -58.0 to 212.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Reheat Condenser Differential Air Pressure",
   "description": "Range 0.000 to 2.000 in. w.c. (sent in thousandths)",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Refrigerant Superheat",
   "description": "Range -58.0 to 212.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Refrigerant Subcooling",
   "description": "Range -58.0 to 212.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Unit Airflow",
   "description": "Range 0 to 1000 cfm (sent in tenths)",
   "units": "cfm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Air Heating Command",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Evaporator Bypass Damper Command",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Outdoor Air Damper Command",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Evaporator Differential Air Pressure",
   "description": "Range 0.000 to 2.000 in. w.c. (sent in thousandths)",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Surface Temperature Sensor 1",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Surface Temperature Sensor 2",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Surface Temperature Sensor 3",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Surface Temperature Sensor 4",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Electronic Expansion Valve Position",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Network Zone RH Setpoint",
   "description": "Settable 0.0 to 99.9 % (sent in tenths)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Network Zone Temperature Setpoint",
   "description": "Settable 32.0 to 99.9 °F (sent in tenths)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Network Un-Occupied Zone RH Setpoint",
   "description": "Settable 0.0 to 99.9 % (sent in tenths)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Network Un-Occupied Zone Temperature Setpoint",
   "description": "Settable 32.0 to 99.9 °F (sent in tenths)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "Network Zone Temperature",
   "description": "BMS zone temperature input, 32.0-99.9 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Network Zone Relative Humidity",
   "description": "BMS zone RH input, 0.0-99.9 %",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Network Heartbeat Delay",
   "description": "Heartbeat timeout, 1-999 s, default 120 s",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Active Zone RH Setpoint",
   "description": "Range 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Active Zone Temperature Setpoint",
   "description": "Range -42.0 to 137.0 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1001,
   "name": "Unit Status",
   "description": "Current operating state code (listed as INT)",
   "units": "",
   "access": "R",
   "states": "0=Zone Satisfied, 1=Heating Required, 2=Cooling Required, 3=Dehumidification Required, 4=Dehum/Heat, 5=Dehum/Cool, 6=Low Airflow, 7=Defrost Cycle, 8=Low R/A Temp, 9=ExV Initialize, 10=Surface Dehum, 11=Factory Test Running"
  },
  {
   "type": "AV",
   "instance": 1002,
   "name": "Zone Sensor Status",
   "description": "Which zone sensor is in use (listed as INT)",
   "units": "",
   "access": "R",
   "states": "0=Zone Sensor, 1=BMS Zone Sensor, 2=Lead Unit Zone Sensor"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Supply Fan",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Compressor",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Liquid Solenoid",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Defrost Solenoid",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Reheat Solenoid",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Heating Required",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Occupied Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Active Alarm",
   "description": "Unit alarm state (inverted)",
   "units": "",
   "access": "R",
   "states": "0=Alarm, 1=Normal"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Retain Memory Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Retain Memory Write Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Blower Overload Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Overload, 1=Overload"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Compressor Overload Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Overload, 1=Overload"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Smoke/ General Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Low Suction Pressure Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "Discharge Pressure Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "Zone Sensor Fault",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Fault, 1=Fault"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "c.PCOe Configuration Error Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Error, 1=Error"
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "c.PCOe Offline Alarm",
   "description": "Expansion module offline",
   "units": "",
   "access": "R",
   "states": "0=Online, 1=Offline"
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "ExV Motor Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Error, 1=Error"
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "ExV Control Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Error, 1=Error"
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "ExV Emergency Closing Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Action, 1=Emergency Closing"
  },
  {
   "type": "BV",
   "instance": 22,
   "name": "Remote Off",
   "description": "Unit off command",
   "units": "",
   "access": "W",
   "states": "0=On, 1=Off"
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "Network Occupied Input",
   "description": "Occupancy command",
   "units": "",
   "access": "W",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "Remote Reset",
   "description": "Write 1 to reset; clears itself after a scan",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 25,
   "name": "Blower Continuous",
   "description": "Blower mode command",
   "units": "",
   "access": "W",
   "states": "0=Automatic, 1=Continuous"
  },
  {
   "type": "BV",
   "instance": 26,
   "name": "Network Heartbeat Enable",
   "description": "Enables the BMS heartbeat check",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 27,
   "name": "Network Heartbeat",
   "description": "Toggle 1/0 within the heartbeat delay",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 28,
   "name": "Discharge Pressure Sensor Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 29,
   "name": "Network Sensor Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 30,
   "name": "Lead Sensor Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 31,
   "name": "Very Low Suction Pressure Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  },
  {
   "type": "BV",
   "instance": 32,
   "name": "Suction Temperature Sensor Alarm",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Alarm, 1=Alarm"
  }
 ],
 "integration": {
  "summary": "Command occupancy (BV 23) and, if the BMS owns start/stop, Remote Off (BV 22). Write the occupied space temperature and RH setpoints (AV 24, AV 23) and the unoccupied ones if used (AV 26, AV 25). If the heartbeat is enabled (BV 26), toggle BV 27 within the delay set in AV 29. Monitor Unit Status (AV 1001), space conditions and Active Alarm (BV 8, inverted).",
  "minimum_points": [
   {
    "ref": "BV 22",
    "name": "Remote Off",
    "why": "Unit off command (1 = off, 0 = on)"
   },
   {
    "ref": "BV 23",
    "name": "Network Occupied Input",
    "why": "Occupancy command (1 = occupied)"
   },
   {
    "ref": "AV 24",
    "name": "Network Zone Temperature Setpoint",
    "why": "Occupied space temperature setpoint, °F"
   },
   {
    "ref": "AV 23",
    "name": "Network Zone RH Setpoint",
    "why": "Occupied space RH setpoint, %"
   },
   {
    "ref": "BV 27",
    "name": "Network Heartbeat",
    "why": "Toggle within AV 29 delay when heartbeat is on"
   },
   {
    "ref": "BV 24",
    "name": "Remote Reset",
    "why": "Write 1 to reset"
   },
   {
    "ref": "AV 1001",
    "name": "Unit Status",
    "why": "Operating state code (0-11)"
   },
   {
    "ref": "AV 4",
    "name": "Zone Air Relative Humidity",
    "why": "Measured space RH, %"
   },
   {
    "ref": "AV 5",
    "name": "Zone Air Temperature",
    "why": "Measured space temperature, °F"
   },
   {
    "ref": "BV 8",
    "name": "Active Alarm",
    "why": "Unit alarm; 0 = alarm, 1 = normal"
   }
  ],
  "enable": "BV 22 Remote Off turns the unit off when set to 1 and back on at 0. BV 23 Network Occupied Input selects occupied (1) or unoccupied (0); BV 7 confirms the occupied state. BV 25 Blower Continuous switches the blower between automatic and continuous.",
  "heartbeat": "Optional. Write BV 26 Network Heartbeat Enable = 1 to turn it on, then toggle BV 27 Network Heartbeat between 1 and 0 within the delay in AV 29 (1-999 s, default 120 s). The list does not say what the unit does when the heartbeat stops.",
  "remote_sensors": "The BMS can send zone temperature (AV 27) and zone RH (AV 28). AV 1002 Zone Sensor Status shows which sensor is in use (0 = unit sensor, 1 = BMS, 2 = lead unit).",
  "setup": [
   "The source gives no default device instance, MAC address, baud rate or IP settings."
  ],
  "gotchas": [
   "BV 8 Active Alarm is inverted (0 = alarm).",
   "Values are listed 'in tenths'; confirm the scaling your BMS sees.",
   "Objects 1001 and up are listed only as \"INT\"; confirm their BACnet object type by discovery (shown here as AV)."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/desert-aire/expertaire-lw",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
