{
 "manufacturer": "Vaisala",
 "manufacturer_slug": "vaisala",
 "model": "GMW90 series CO2, temperature and humidity transmitter (BACnet MS/TP)",
 "model_slug": "gmw90",
 "aliases": [
  "GMW95",
  "GMW95D",
  "GMW95R",
  "GMW95RD",
  "GMW90 BACnet",
  "XMW90",
  "Vaisala CO2 transmitter BACnet",
  "M211659EN"
 ],
 "equipment_type": "CO2, temperature and humidity sensor (wall transmitter)",
 "applies_to": "Vaisala GMW90 series wall transmitters with digital output (GMW95 models), set to the BACnet MS/TP protocol.",
 "summary": "The digital GMW95 transmitters measure CO2 and temperature, and the R models add humidity. On BACnet MS/TP each value is an Analog Input; humidity models also give dewpoint, wet bulb, absolute humidity, mixing ratio and enthalpy. Two writable Analog Values set the operating pressure or altitude used for CO2 pressure compensation.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Application software 1.1.28 and later (firmware 1.1.0.0 and later)",
 "default_device_instance": "Unique value set at the factory",
 "access_inferred": false,
 "notes": [
  "All models have AI 1 (CO2) and AI 3 (T). AI 2, AI 4-10 and the AV 1-2 operating objects are listed for models that include humidity measurement.",
  "Units: the T object (AI 3) Units property is writable (°C or °F); calculated objects list metric/non-metric unit pairs, with Vaisala-defined units for the non-metric absolute humidity and mixing ratio. The display DIP switch has no effect on BACnet.",
  "AV 1 OPER P and AV 2 OPER Altitude are linked: writing one recalculates the other.",
  "Analog Input Present_Value can be written only when Out_Of_Service is set.",
  "The manual prints the same description 'Dewpoint' for both Td (AI 4) and Tdf (AI 5).",
  "Source: GMW90 Series User's Guide M211659EN-C, Appendix A (BACnet reference)."
 ],
 "source": {
  "title": "GMW90 Series Carbon Dioxide, Temperature, and Humidity Transmitters User's Guide",
  "doc_number": "M211659EN-C",
  "revision_date": "2016-04",
  "url": "https://docs.vaisala.com/api/khub/documents/9qppJ_IBz5JrKtQAoZ~ioQ/content"
 },
 "integration": {
  "summary": "Set the protocol, baud rate and MAC address on the DIP switches, give the transmitter a unique device instance, then read CO2 (AI 1), temperature (AI 3) and, on humidity models, relative humidity (AI 2). If the site is well above sea level, write the altitude (AV 2) or pressure (AV 1) once so the CO2 reading is compensated.",
  "minimum_points": [
   {
    "ref": "AI 1",
    "name": "CO2",
    "why": "CO2 concentration, ppm"
   },
   {
    "ref": "AI 3",
    "name": "T",
    "why": "Temperature"
   },
   {
    "ref": "AI 2",
    "name": "RH",
    "why": "Relative humidity, % (humidity models)"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": "AV 1 (operating pressure, hPa) or AV 2 (altitude) can be written by the BMS to compensate the CO2 measurement; the two are linked.",
  "setup": [
   "BACnet MS/TP on RS-485. DIP switches select the protocol (BACnet or Modbus) and baud rate: Automatic (default), 9600, 19200, 38400, 57600, 76800 or 115200.",
   "MAC address 0-255 on the 8-way address DIP switch; below 128 the transmitter is an MS/TP master, 128 and up a slave.",
   "The device instance is set to a unique value at the factory; change it, the device name, description, location and Max_Master with the BACNET service-port command.",
   "With automatic baud the transmitter listens 10 s at each rate and locks to the first valid traffic until reset or power cycle."
  ],
  "gotchas": [
   "Baud rate 4800 is not available with BACnet.",
   "OPER P and OPER Altitude are linked; write only one of them (writing one updates the other).",
   "Objects depend on the model: models without humidity do not have RH or the calculated values."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "CO2",
   "description": "Carbon dioxide",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "RH",
   "description": "Relative humidity (humidity models)",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "T",
   "description": "Temperature",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Td",
   "description": "Dewpoint (humidity models)",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Tdf",
   "description": "Dewpoint (humidity models)",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "dTd",
   "description": "Dewpoint depression (humidity models)",
   "units": "K or °F (delta)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Tw",
   "description": "Wet bulb temperature (humidity models)",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "a",
   "description": "Absolute humidity (humidity models)",
   "units": "g/m³ or gr/ft³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "x",
   "description": "Mixing ratio (humidity models)",
   "units": "g/kg or gr/lb",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "h",
   "description": "Enthalpy (humidity models)",
   "units": "kJ/kg or BTU/lb",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "OPER P",
   "description": "Operating pressure for compensation, default 1013.25",
   "units": "hPa",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "OPER Altitude",
   "description": "Operating altitude; linked to OPER P",
   "units": "m or ft",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/vaisala/gmw90",
 "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"
}
