{
 "manufacturer": "UV Partners",
 "manufacturer_slug": "uv-partners",
 "model": "UV Angel Clean Air Active (102-2200-01-00-30)",
 "model_slug": "uv-angel-clean-air-active",
 "aliases": [
  "UV Angel Clean Air Active",
  "UV Angel",
  "102-2200-01-00-30",
  "102-2200-01-xx-30",
  "air20",
  "UV Angel BACnet"
 ],
 "equipment_type": "Germicidal UV air treatment fixture",
 "applies_to": "UV Angel Clean Air Active upper in-room germicidal UV (GUV) air treatment units, firmware 4.5.5.0, on BACnet IP.",
 "summary": "UV Angel Clean Air Active is an upper-room germicidal UV (GUV) air treatment unit with UV bulbs, filters and fans. On BACnet IP it reports bulb and filter life, treatment status and mode, built-in temperature, humidity, CO2, VOC and IAQ readings, and door, lamp and fan faults. The BMS can set the treatment mode and downlight brightness.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": "4.5.5.0 (application 1.26.007.18.55.B1.S)",
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "The PICS prints no access column; the AOs and BO 19 are marked writable from their descriptions.",
  "BO 19 is printed as 'BO:19' under a Binary Values heading.",
  "Bulb and filter life reset when the bulbs and filters are replaced during maintenance.",
  "No units column; units come from the object names and descriptions."
 ],
 "integration": {
  "summary": "Write AO 11 to pick standby or one of five speeds and read AI 9 to confirm the mode actually running. Watch BI 12 for treatment status and the door, lamp, fan and end-of-life flags for service needs.",
  "minimum_points": [
   {
    "ref": "AO 11",
    "name": "Desired Treatment Mode",
    "why": "Treatment mode: 0 = standby, 1-5 = speed"
   },
   {
    "ref": "AI 9",
    "name": "Reported Treatment Mode",
    "why": "Running mode; -1 = error"
   },
   {
    "ref": "BI 12",
    "name": "UV Treatment Status",
    "why": "UV treatment active"
   },
   {
    "ref": "AI 0",
    "name": "UV Bulb Remaining Life (%)",
    "why": "Bulb life left, %"
   },
   {
    "ref": "AI 1",
    "name": "Air Filter Remaining Life (%)",
    "why": "Filter life left, %"
   },
   {
    "ref": "BI 14",
    "name": "Lamp Error",
    "why": "Lamp needs troubleshooting"
   },
   {
    "ref": "BI 16",
    "name": "Fan Error",
    "why": "Fans need troubleshooting"
   },
   {
    "ref": "BI 15",
    "name": "Door Fault",
    "why": "Door fault"
   }
  ],
  "enable": "BO 19 BACnet Enabled must stay true; writing false reboots the unit into cloud-connected mode until told to return to BACnet mode.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "BACnet IP only; normal or foreign-device mode, BBMD address and subscription lifetime are writable on the Network Port object.",
   "DHCP or static IP; static address, DNS and gateway are writable when DHCP is off.",
   "Device object name and device ID are writable."
  ],
  "gotchas": [
   "Writing BO 19 = false takes the unit off BACnet until it is switched back."
  ]
 },
 "source": {
  "title": "BACnet Protocol Implementation Conformance Statement, UV Angel Clean Air Active",
  "doc_number": null,
  "revision_date": "2026-01-28",
  "url": "https://www.bacnetinternational.net/catalog/manu/uv%20partners,%20inc/PICS%20air20_bacnet_final_2026jan28_revised.pdf",
  "unofficial": true,
  "host": "BACnet International catalog"
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "UV Bulb Remaining Life (%)",
   "description": "Remaining UV bulb life, 0-100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Air Filter Remaining Life (%)",
   "description": "Remaining filter life, 0-100",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Lifetime Treatment Duration (Seconds)",
   "description": "Total UV treatment time",
   "units": "s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Boot Count (#)",
   "description": "Number of reboots",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Sensor Value (TEMP)",
   "description": "Temperature, 10-50",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Sensor Value (HUMIDITY)",
   "description": "Relative humidity, 10-95",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Sensor Value (CO2)",
   "description": "CO2, 0-10000",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Sensor Value (VOC)",
   "description": "VOC, 0-1000",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Sensor Value (IAQ)",
   "description": "IAQ score, 0-500",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Reported Treatment Mode",
   "description": "Actual treatment mode",
   "units": "",
   "access": "R",
   "states": "-1=Error, 0=Standby, 1-5=static speeds"
  },
  {
   "type": "AO",
   "instance": 10,
   "name": "Downlight Brightness (%)",
   "description": "Downlight brightness, 0-100 (units with a downlight)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 11,
   "name": "Desired Treatment Mode",
   "description": "Treatment mode command",
   "units": "",
   "access": "W",
   "states": "0=Standby, 1-5=static speeds"
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "UV Treatment Status",
   "description": "UV treatment running (bulbs and filters on)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Door Open",
   "description": "Maintenance door open",
   "units": "",
   "access": "R",
   "states": "0=closed, 1=open"
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Lamp Error",
   "description": "Lamp needs troubleshooting",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "Door Fault",
   "description": "Door fault",
   "units": "",
   "access": "R",
   "states": "0=No Fault, 1=Fault"
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Fan Error",
   "description": "Fans need troubleshooting",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Filter EOL",
   "description": "Filters at end of life",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "Lamp EOL",
   "description": "Lamp at end of life",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 19,
   "name": "BACnet Enabled",
   "description": "BACnet mode vs cloud mode; false reboots to cloud mode",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/uv-partners/uv-angel-clean-air-active",
 "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"
}
