{
 "manufacturer": "Veris",
 "manufacturer_slug": "veris",
 "model": "PMW Protocol Series particulate (PM), CO2 and VOC room sensor",
 "model_slug": "pmw-protocol-air-quality-sensor",
 "aliases": [
  "PMW",
  "PMW Protocol",
  "SpaceLogic SLP PM",
  "SLP Series PM",
  "ZL0199",
  "Veris PM sensor BACnet"
 ],
 "equipment_type": "Indoor air quality sensor (PM, CO2, VOC, temperature, humidity)",
 "applies_to": "Veris PMW Protocol Series wall air quality sensors, and the identical Schneider SpaceLogic SLP PM Series, on BACnet MS/TP.",
 "summary": "The PMW wall sensor measures temperature, humidity, CO2, VOC and particulate matter (PM1, PM2.5, PM4, PM10) and reports them over BACnet MS/TP or Modbus. Writable values cover touchscreen setpoints, CO2 and PM stoplight limits, per-sensor offsets, CO2 calibration and display options.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "Vendor ID + MS/TP address (nnn)",
 "access_inferred": false,
 "notes": [
  "Names with * are preserved through power outages; avoid writing them cyclically.",
  "Touchscreen setpoint, fan speed, display and color objects only matter on touchscreen models.",
  "The SpaceLogic SLP PM Series guide (ZL0199-0A) lists the same 38 object identifiers; it is covered by this entry. Its names differ only in spelling 'Limits' for AV 3-6.",
  "Which measurements are present depends on the model ordered.",
  "Source: PMW Protocol Series Installation Guide ZL0201-0A (08/2024), objects table p9-10."
 ],
 "source": {
  "title": "PMW Protocol Series Installation Guide",
  "doc_number": "ZL0201-0A",
  "revision_date": "2024-08",
  "url": "https://download.se.com/files?p_Doc_Ref=ZL0201"
 },
 "integration": {
  "summary": "Set the MS/TP address and BACnet mode on the DIP switches, then read CO2, PM2.5/PM10, VOC, temperature and humidity. Offsets and limits are preserved settings to write once.",
  "minimum_points": [
   {
    "ref": "AI 3",
    "name": "CO2 Sensor",
    "why": "CO2 concentration, ppm"
   },
   {
    "ref": "AI 1",
    "name": "Room Temperature",
    "why": "Room temperature"
   },
   {
    "ref": "AI 2",
    "name": "Room Humidity",
    "why": "Room relative humidity, %"
   },
   {
    "ref": "AI 4",
    "name": "VOC Sensor",
    "why": "VOC level"
   },
   {
    "ref": "AI 6",
    "name": "PM2.5 Sensor",
    "why": "PM2.5 concentration, µg/m3"
   },
   {
    "ref": "AI 8",
    "name": "PM10 Sensor",
    "why": "PM10 concentration, µg/m3"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "BACnet MS/TP on RS-485: DIP switch ADDRESS positions 1-7 set the MAC (0-127 for BACnet), position 8 selects BACnet or Modbus.",
   "Baud rates for BACnet: 9600, 19200, 38400, 76800, set on the CONFIG DIP switch.",
   "Device instance = Vendor_ID followed by the MS/TP address (e.g. 133nnn); it can be rewritten in the device object."
  ],
  "gotchas": [
   "Writing CO2 FRC 400 (BV 10) active re-baselines the CO2 sensor to 400 ppm; treat it as a one-off calibration.",
   "If the PM sensor board is loose the PM values read a steady 0."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Room Temperature",
   "description": "Room temperature",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Room Humidity",
   "description": "Room relative humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "CO2 Sensor",
   "description": "CO2 concentration",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "VOC Sensor",
   "description": "VOC level",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "PM1 Sensor",
   "description": "PM1 concentration",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "PM2.5 Sensor",
   "description": "PM2.5 concentration",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "PM4 Sensor",
   "description": "PM4 concentration",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "PM10 Sensor",
   "description": "PM10 concentration",
   "units": "µg/m3",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Temperature Setpoint*",
   "description": "Temperature setpoint, 0-50",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Humidity Setpoint*",
   "description": "Humidity setpoint, 0-100",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "CO2 Yellow Limit*",
   "description": "CO2 level for green-to-yellow screen, 400-10000",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "CO2 Red Limit*",
   "description": "CO2 level for yellow-to-red screen, 400-10000",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "PM Yellow Limit*",
   "description": "PM level for green-to-yellow screen, 4-100",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "PM Red Limit*",
   "description": "PM level for yellow-to-red screen, 4-100",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Temperature Offset *",
   "description": "Offset added to temperature, -5 to 5",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Humidity Offset*",
   "description": "Offset added to humidity reading, -10 to 10",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "CO2 Offset*",
   "description": "Offset added to CO2, -250 to 250",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "VOC Offset*",
   "description": "Offset added to VOC, -10 to 10",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "PM1 Offset**",
   "description": "Offset added to PM1, -10 to 10",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "PM2.5 Offset",
   "description": "Offset added to PM2.5, -10 to 10",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "PM4 Offset*",
   "description": "Offset added to PM4, -10 to 10",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "PM10 Offset*",
   "description": "Offset added to PM10, -10 to 10",
   "units": "µg/m3",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "CO2 Stoplight*",
   "description": "Enables the CO2 stoplight screen colors",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Touch Disable*",
   "description": "Disables touch response when active",
   "units": "",
   "access": "W",
   "states": "0=Touch enabled, 1=Touch disabled"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "CO2 ABC Cal*",
   "description": "Enables automatic baseline calibration",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Temperature Units*",
   "description": "Display units",
   "units": "",
   "access": "W",
   "states": "0=Celsius, 1=Fahrenheit"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Occupancy Override",
   "description": "Occupancy override (active = room not occupied)",
   "units": "",
   "access": "W",
   "states": "0=Occupied, 1=Not occupied"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Screen Timeout*",
   "description": "Enables screen timeout",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Display Humidity*",
   "description": "Shows humidity on the screen",
   "units": "",
   "access": "W",
   "states": "0=Hidden, 1=Shown"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Display CO2*",
   "description": "Shows CO2 on the screen",
   "units": "",
   "access": "W",
   "states": "0=Hidden, 1=Shown"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Display VOC*",
   "description": "Shows VOC on the screen",
   "units": "",
   "access": "W",
   "states": "0=Hidden, 1=Shown"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "CO2 FRC 400",
   "description": "Active sets 400 ppm CO2 baseline (forced calibration)",
   "units": "",
   "access": "W",
   "states": "0=No action, 1=Set 400 ppm baseline"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Select Temperature Display*",
   "description": "Main screen shows setpoint (active) or room temperature",
   "units": "",
   "access": "W",
   "states": "0=Room temp on main screen, 1=Setpoint on main screen"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "PM Stoplight*",
   "description": "Enables the PM stoplight screen colors",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Display Setpoint*",
   "description": "Shows temperature setpoint on home screen",
   "units": "",
   "access": "W",
   "states": "0=Hidden, 1=Shown"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Screen Color Set*",
   "description": "Screen color theme, 1-4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "Fan Speed*",
   "description": "Fan speed selection, 1-5",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "PM Selection*",
   "description": "PM size shown on screen and used for the stoplight, 1-5",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/veris/pmw-protocol-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"
}
