{
 "manufacturer": "Senva",
 "manufacturer_slug": "senva",
 "model": "TotalSense air quality sensor (BACnet MS/TP)",
 "model_slug": "totalsense-air-quality-sensor",
 "aliases": [
  "TotalSense",
  "AQ2W",
  "AQ2W-XXXXXX",
  "Senva TotalSense IAQ",
  "Senva TotalSense CO2 PM TVOC"
 ],
 "equipment_type": "Indoor air quality multi-sensor (CO2 / PM / TVOC / CO / ozone)",
 "applies_to": "Senva TotalSense (AQ2W) room air quality sensors with temperature, RH, CO2, TVOC, particulates and optional CO, ozone, light, occupancy, pressure, relay and analog output, using BACnet MS/TP.",
 "summary": "TotalSense is a Senva indoor air quality monitor with BACnet MS/TP. Analog Inputs give temperature, RH, dew point, CO2, TVOC, PM mass and counts, CO, ozone, light, occupancy, pressure, an air quality index and per-sensor status flags. Analog Values hold offsets, CO2 auto-calibration, relay and analog output setup, a built-in PID loop, air quality thresholds and display options.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "VSBHP 14.10, application 1.2.x (PICS 5/13/2021)",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Points from the Readings, Diagnostics and Settings tables of guide 154-0043-0G.",
  "Objects for sensors a model does not have (CO, ozone, pressure, PIR, light, relay, analog output) are not active on that model.",
  "The guide reuses names for AV 77-80 (\"AQI Temp Range Low\", \"AQI CO Good quality\"); their descriptions say they are the temperature and humidity good-quality window limits. Kept as printed.",
  "Relay on/off thresholds AV 17/18 are percent of the selected sensor's full scale.",
  "Protocol, MAC address, baud and parity (AV 32-35) are read from DIP switches and are read-only."
 ],
 "source": {
  "title": "BACnet Protocol Guide TotalSense Series",
  "doc_number": "154-0043-0G",
  "revision_date": "2025-12-09",
  "url": "https://www.senvainc.com/catalog/documents/downloadcenter/154-0043-0G%20TotalSense%20BACnet%20Guide.pdf"
 },
 "integration": {
  "summary": "Set protocol, MAC and baud on the DIP switches, then read temperature, RH, CO2, PM2.5, TVOC and the air quality index. Check the per-sensor status AIs for faults.",
  "minimum_points": [
   {
    "ref": "AI 1",
    "name": "Temperature",
    "why": "Space temperature (units per AV 2)"
   },
   {
    "ref": "AI 2",
    "name": "Relative humidity",
    "why": "Space RH"
   },
   {
    "ref": "AI 3",
    "name": "CO2",
    "why": "Space CO2, ppm"
   },
   {
    "ref": "AI 7",
    "name": "PM 2.5 ug/m3",
    "why": "PM2.5, µg/m3"
   },
   {
    "ref": "AI 4",
    "name": "TVOC ug/m3",
    "why": "TVOC, µg/m3"
   },
   {
    "ref": "AI 10",
    "name": "Air quality",
    "why": "0 Good, 1 Fair, 2 Poor"
   },
   {
    "ref": "AI 12",
    "name": "Occupancy",
    "why": "PIR occupancy (PIR models)"
   },
   {
    "ref": "AI 17",
    "name": "System status",
    "why": "System fault bit flags"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Protocol, MAC address (0-127), baud (9600-115200) and data/parity/stop come from DIP switches.",
   "Device instance ships as 655xxx (last 3 digits of the serial number) and is writable; Max_Master is writable."
  ],
  "gotchas": [
   "AV 31 = 1234 restores factory settings.",
   "TVOC ppb assumes ethanol's molecular weight; use AV 8 to rescale for another compound."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Temperature",
   "description": "Space temperature (units per AV 2)",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Relative humidity",
   "description": "Relative humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "CO2",
   "description": "CO2 concentration",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "TVOC ug/m3",
   "description": "TVOC, compensated for temperature and pressure",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "TVOC PPB",
   "description": "TVOC as ppb (ethanol-based conversion, scale with AV 8)",
   "units": "ppb",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "PM 1.0 ug/m3",
   "description": "Concentration of particles sized 0.3-1.0 µg/m3",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "PM 2.5 ug/m3",
   "description": "Concentration of particles sized 0.3-2.5 µg/m3",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "PM 4.0 ug/m3",
   "description": "Concentration of particles sized 0.3-4.0 µg/m3",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "PM 10.0 ug/m3",
   "description": "Concentration of particles sized 0.3-10.0 µg/m3",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Air quality",
   "description": "Air quality status",
   "units": "",
   "access": "R",
   "states": "0=Good, 1=Fair, 2=Poor"
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Slider display",
   "description": "Setpoint slider position",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Occupancy",
   "description": "Status of PIR occupancy sensor",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Ambient light",
   "description": "Ambient light level",
   "units": "fc",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Relay contacts state",
   "description": "State of setpoint relay",
   "units": "",
   "access": "R",
   "states": "0=OPEN, 1=CLOSED"
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Dewpoint",
   "description": "Dew point temperature",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "Pressure",
   "description": "Barometric pressure (pressure models)",
   "units": "inHg",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "System status",
   "description": "System status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=EEPROM hardware fault (Consult factory); 0x02=EEPROM data corruption (Consult factory); 0x04=EEPROM write error (Consult factory); 0x08=Device is currently using factory defaults (Consult factory); 0x10=Sensor error (see individual sensor status to more info). Bolded statuses will trigger this error."
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Temp sensor status",
   "description": "Temp sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor hardware fault (Consult factory); 0x02=Sensor Data error (Consult factory)"
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "RH sensor status",
   "description": "RH sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor hardware fault (Consult factory); 0x02=Sensor Data error (Consult factory)"
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "CO2 sensor status",
   "description": "CO2 sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor hardware fault (Consult factory); 0x02=Sensor Data error (Consult factory); 0x04=Sensor not ready (Consult factory); 0x40=Temperature compensation not applied (No action necessary. Default value 25oC is used for temp compensation).; 0x80=Pressure compensation not applied (No action necessary. Default value 25oC is used for pressure compensation."
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "TVOC sensor status",
   "description": "TVOC sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor hardware (I2C) fault (Consult factory); 0x02=Sensor data error; 0x04=Sensor other hardware error; 0x08=Sensor not ready (training); 0x10=Temperature compensation not applied; 0x20=Humidity compensation not applied"
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "PM sensor status",
   "description": "PM sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor communication error (Consult factory); 0x02=Sensor Data Error (Consult factory); 0x04=Sensor not ready (Consult factory); 0x08=Sensor fan speed warning (Consult factory); 0x10=Sensor fan failure (Consult factory); 0x20=Sensor laser failure (Consult factory)"
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Pressure sensor status",
   "description": "Pressure sensor status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor hardware fault (Consult factory); 0x02=Sensor Data error (Consult factory); 0x04=Sensor not ready (Consult factory)"
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "PID Output Power",
   "description": "PID analog output level",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "PM0.5 Particle Count",
   "description": "Counts for particles size 0.3 to 0.5",
   "units": "#/cm3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "PM1.0 Particle Count",
   "description": "Counts for particles size 0.3 to 1.0",
   "units": "#/cm3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "PM2.5 Particle Count",
   "description": "Counts for particles size 0.3 to 2.5",
   "units": "#/cm3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "PM4.0 Particle Count",
   "description": "Counts for particles size 0.3 to 4.0",
   "units": "#/cm3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "PM10.0 Particle Count",
   "description": "Counts for particles size 0.3 to 10.0",
   "units": "#/cm3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "PM Avg Particle Size",
   "description": "Average measured particle size",
   "units": "µm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "CO Reading",
   "description": "CO reading",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "CO Status",
   "description": "CO Status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor communication error (Consult factory); 0x02=Sensor Data Error (Consult factory); 0x04=Sensor Error; 0x08=Sensor not ready (Consult factory); 0x10=Sensor End of Life; 0x20=Calibration Expired; 0x40=Temperature compensation not applied"
  },
  {
   "type": "AI",
   "instance": 33,
   "name": "O3 Reading",
   "description": "Ozone reading",
   "units": "ppb",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 34,
   "name": "O3 Status",
   "description": "O3 Status bit flags",
   "units": "",
   "access": "R",
   "states": "0x01=Sensor communication error (Consult factory); 0x02=Sensor Data Error (Consult factory); 0x04=Sensor Error; 0x08=Sensor not ready (Consult factory); 0x10=Temperature compensation not applied; 0x02=Humidity compensation not applied"
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "User BTN Active State",
   "description": "User button activity",
   "units": "",
   "access": "R",
   "states": "0=No button press in timeout, 1=Pressed within timeout"
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Temp Offset",
   "description": "Temperature offset, ±9 °F (±5 °C)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Temp Unit",
   "description": "Temperature units for display and BACnet values",
   "units": "",
   "access": "W",
   "states": "0=°F, 1=°C"
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "RH Offset",
   "description": "RH offset, ±5 %RH",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "CO2 Offset",
   "description": "CO2 offset, ±250 ppm",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "CO2 autocal enable",
   "description": "CO2 automatic baseline calibration (ABC) enable",
   "units": "",
   "access": "W",
   "states": "0=disabled, 1=enabled"
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "CO2 Autocal Baseline",
   "description": "CO2 ABC baseline (default 400)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "CO2 Autocal Period",
   "description": "CO2 ABC period (default 14)",
   "units": "days",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "TVOC scale",
   "description": "TVOC scaling factor (default 1.000 = ethanol)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Slider display min",
   "description": "Value shown at slider bottom (display only)",
   "units": "°F / °C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Slider display max",
   "description": "Value shown at slider top (display only)",
   "units": "°F / °C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "PIR Motion event sensitivity",
   "description": "PIR motion sensitivity (default 80)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "PIR Occupied delay",
   "description": "Occupied hold time after motion (default 10)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "PM clean interval",
   "description": "PM sensor auto-clean interval, 0 = off (default 168)",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "PM command",
   "description": "PM sensor command",
   "units": "",
   "access": "W",
   "states": "1=Fan manual clean, 2=PM sensor reset"
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Relay source",
   "description": "Which measurement will activate setpoint relay",
   "units": "",
   "access": "W",
   "states": "0=None, 1=CO2, 2=Humidity, 3=Temp, 4=TVOC µg/m3, 5=PM, 6=Occupancy, 7=Air Quality, 8=CO, 9=Ozone, 10=Ambient Light"
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Relay polarity",
   "description": "Relay contact type",
   "units": "",
   "access": "W",
   "states": "0=N.O., 1=N.C."
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Relay on threshold",
   "description": "Relay on point, % of sensor full scale",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Relay off threshold",
   "description": "Relay off point, % of sensor full scale",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Relay min on time",
   "description": "Relay minimum on time (default 60)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Relay min off time",
   "description": "Relay minimum off time (default 60)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Display PM size",
   "description": "PM size shown on display",
   "units": "µm",
   "access": "W",
   "states": "0=0.3-1.0, 1=0.3-2.5, 2=0.3-4.0, 3=0.3-10.0"
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Display center",
   "description": "Value shown in display center",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Temperature, 2=Humidity, 3=CO2, 4=Air Quality, 5=TVOC µg/m3, 6=TVOC ppb, 7=PM, 8=Temp Setpoint, 9=CO, 10=O3"
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Display upper left",
   "description": "Relay icon on display",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Relay Icon"
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Display upper right",
   "description": "Value shown upper right",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Temperature, 2=Humidity, 3=CO2, 5=TVOC µg/m3, 6=TVOC ppb, 7=PM, 8=Temp Setpoint, 9=CO, 10=O3"
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Display lower left",
   "description": "Value shown lower left",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Temperature, 2=Humidity, 3=CO2, 5=TVOC µg/m3, 6=TVOC ppb, 7=PM, 8=Temp Setpoint, 9=CO, 10=O3"
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Display lower right",
   "description": "Value shown lower right",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Temperature, 2=Humidity, 3=CO2, 5=TVOC µg/m3, 6=TVOC ppb, 7=PM, 8=Temp Setpoint, 9=CO, 10=O3"
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "AQ Ring brightness",
   "description": "AQ ring brightness (default 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Good-Fair",
   "description": "Good/Fair air quality boundary (default 70)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Fair-Poor",
   "description": "Fair/Poor air quality boundary (default 40)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "VOC Mode",
   "description": "VOC sensor mode",
   "units": "",
   "access": "W",
   "states": "0=Normal operation, 1=Training mode (48 hours)"
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Factory reset",
   "description": "Write 1234 to restore factory settings",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Protocol",
   "description": "Read from the DIP switches",
   "units": "",
   "access": "R",
   "states": "0=Modbus, 1=BACnet"
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "MAC address",
   "description": "Read from the DIP switches",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "Baud rate",
   "description": "Read from the DIP switches",
   "units": "",
   "access": "R",
   "states": "0=9600, 1=19200, 2=38400, 3=57600, 4=76800, 5=115200"
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "Data/Parity/Stop",
   "description": "Read from the DIP switches",
   "units": "",
   "access": "R",
   "states": "0=8N1, 1=8N2, 2=8O1, 3=8E1"
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "Analog Source",
   "description": "Analog output source",
   "units": "",
   "access": "W",
   "states": "0=None, 1=CO2, 2=Humidity, 3=Temperature, 4=VOC, 5=PM, 6=Slider Temp, 7=PID-Temp, 8=PID-CO2, 9=PID-Slider Temp, 10=CO, 11=Ozone, 12=PID-AirQuality, 13=Ambient Light"
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "Analog V min",
   "description": "Analog output low end, volts",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "Analog V max",
   "description": "Analog output high end, volts",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "Analog mA min",
   "description": "Analog output low end, mA",
   "units": "mA",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Analog mA max",
   "description": "Analog output high end, mA",
   "units": "mA",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "PID CO2 setpoint",
   "description": "CO2 setpoint for the PID controlled analog output",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "PID Temp Setpoint",
   "description": "Temperature set point for the PID controlled analog output",
   "units": "°F / °C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "PID Kp",
   "description": "Proportional gain PID coefficient",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "PID Ki",
   "description": "Integral gain PID coefficient",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "PID Kd",
   "description": "Derivative gain PID coefficient",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "PID Invert",
   "description": "Reverses the PID error sign",
   "units": "",
   "access": "W",
   "states": "0=Not Inverted, 1=Inverted"
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "AQ Enable Temp",
   "description": "Use temperature in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 51,
   "name": "AQ Enable Humidity",
   "description": "Use humidity in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "AQ Enable CO2",
   "description": "Use CO2 in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "AQ Enable PM",
   "description": "Use PM in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "AQ Enable VOC",
   "description": "Use VOC in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "Display Lock",
   "description": "Locks the settings menu",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "PIR Display Wake-Up",
   "description": "Wake display on motion",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "Screensaver Timeout",
   "description": "Screensaver delay (default 1)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "AQ Enable CO",
   "description": "Use CO in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "AQ Enable Ozone",
   "description": "Use ozone in the air quality index",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "CO Calibration Expiration",
   "description": "Days until CO calibration due",
   "units": "days",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "CO Sensor End of Life",
   "description": "Days of CO sensor life left",
   "units": "days",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "Ozone Calibration expiration",
   "description": "Days left on ozone calibration",
   "units": "days",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "BTN State Hold Time",
   "description": "How long the button state stays active (default 10)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "Ozone Sensor end of life",
   "description": "Days of ozone sensor life left",
   "units": "days",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "Temp Setpoint",
   "description": "Setpoint used without a slider (default 72)",
   "units": "°F / °C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "AQI PID Setpoint",
   "description": "Air quality index PID setpoint",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "AQI CO2 Poor quality",
   "description": "Threshold where CO2 quality becomes Poor",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "AQI CO2 Good quality",
   "description": "Threshold where CO2 quality becomes Good",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 69,
   "name": "AQI VOC Poor quality",
   "description": "Threshold where VOC quality becomes Poor",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 70,
   "name": "AQI VOC Good quality",
   "description": "Threshold where VOC quality becomes Good",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 71,
   "name": "AQI PM Poor quality",
   "description": "Threshold where PM quality becomes Poor",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 72,
   "name": "AQI PM Good quality",
   "description": "Threshold where PM quality becomes Good",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 73,
   "name": "AQI CO Poor quality",
   "description": "Threshold where CO quality becomes Poor",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 74,
   "name": "AQI CO Good quality",
   "description": "Threshold where CO quality becomes Good",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 75,
   "name": "AQI O3 Poor quality",
   "description": "Threshold where Ozone quality becomes Poor",
   "units": "ppb",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 76,
   "name": "AQI O3 Good quality",
   "description": "Threshold where Ozone quality becomes Good",
   "units": "ppb",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 77,
   "name": "AQI Temp Range Low",
   "description": "Low window threshold for good temperature quality",
   "units": "°F / °C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 78,
   "name": "AQI CO Good quality",
   "description": "High window threshold for good temperature quality",
   "units": "°F / °C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 79,
   "name": "AQI Temp Range Low",
   "description": "Low window threshold for good humidity quality",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "AQI CO Good quality",
   "description": "High window threshold for good humidity quality",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "Ambient Range",
   "description": "Sets max range for Ambient Light Sensor",
   "units": "fc",
   "access": "W",
   "states": "0=300, 1=1000"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/senva/totalsense-air-quality-sensor",
 "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"
}
