Vaisala Vaisala GMW90 Modbus RTU template

Vaisala GMW90

Wall transmitter for CO2, temperature and humidity in buildings.

The Vaisala GMW90 is a wall-mounted transmitter that measures CO2, temperature and, on R models, humidity in offices, schools and meeting rooms. This Modbus RTU template reads all measurements and the error code and lets you set the pressure or elevation used for CO2 compensation from ModbusCloud.

Protocol
Modbus RTU
Connection
RS485, 19200 baud
Registers
50, read and write
Brand
Vaisala
Key readings
CO2 concentration · Temperature · Relative humidity · Dew point · Error code
Available commands
Pressure compensation · Elevation
Compatible models
GMW95 · GMW95D · GMW95R · GMW95RD
Last updated

Registers (50)

50 read, 8 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
CO2 ConcentrationppmRead
Relative Humidity%RHRead
Temperature°CRead
Dew Point°CRead
Dew/Frost Point°CRead
Dew Point Depression°CRead
Wet Bulb Temperature°CRead
Absolute Humidityg/m³Read
Mixing Ratiog/kgRead
EnthalpyRead
CO2 Concentration IntegerppmRead
Relative Humidity Integer%RHRead
Temperature Integer°CRead
Dew Point Integer°CRead
Dew/Frost Point Integer°CRead
Dew Point Depression Integer°CRead
Wet Bulb Temperature Integer°CRead
Absolute Humidity Integerg/m³Read
Mixing Ratio Integerg/kgRead
Enthalpy IntegerRead
CO2 Concentration Non-metricppmRead
Relative Humidity Non-metric%RHRead
Temperature Non-metric°FRead
Dew Point Non-metric°FRead
Dew/Frost Point Non-metric°FRead
Dew Point Depression Non-metric°FRead
Wet Bulb Temperature Non-metric°FRead
Absolute Humidity Non-metricRead
Mixing Ratio Non-metricRead
Enthalpy Non-metricRead
CO2 Concentration Non-metric IntegerppmRead
Relative Humidity Non-metric Integer%RHRead
Temperature Non-metric Integer°FRead
Dew Point Non-metric Integer°FRead
Dew/Frost Point Non-metric Integer°FRead
Dew Point Depression Non-metric Integer°FRead
Wet Bulb Temperature Non-metric Integer°FRead
Absolute Humidity Non-metric IntegerRead
Mixing Ratio Non-metric IntegerRead
Enthalpy Non-metric IntegerRead
Error CodeRead
Error Code Non-metric BlockRead
Pressure CompensationhPaRead and write
ElevationmRead and write
Pressure Compensation IntegerhPaRead and write
Elevation IntegermRead and write
Pressure Compensation Non-metrichPaRead and write
Elevation Non-metricRead and write
Pressure Compensation Non-metric IntegerhPaRead and write
Elevation Non-metric IntegerRead and write

Loading registers…

Send your device list

If a device is not in the library yet, we build the template for free as soon as we have the register data.

Number of installations (optional)

Use cases

  • Show CO2 and temperature per room on a dashboard for the facility manager.
  • Get an alert when the CO2 level in a classroom or meeting room stays above a threshold you set.
  • Keep the CO2 and humidity history to check whether ventilation keeps up with occupancy.
  • Watch the error code to see when a measurement module needs service.

Installation

  1. Set the protocol switch to Modbus, choose the baud rate and parity and set a free address with the address switches.

  2. Connect D+, D- and ground to the RS485 port of the ModbusCloud Gateway and terminate the last device on the bus.

  3. In ModbusCloud add a Modbus device with the same address and serial settings and import this template.

  4. Check that CO2 and temperature come in with plausible values, and set the elevation of the building if it is far above sea level.

Things to watch for

The transmitter does not answer. What should I check?

Check that the protocol switch is on Modbus and that the address switches match the address in ModbusCloud. With the baud rate on automatic the transmitter needs traffic on the bus to find the speed; set a fixed rate if your bus is quiet.

Humidity values show NaN or -32768.

Humidity, dew point and the other humidity values only exist on R models such as the GMW95R. On a GMW95 these registers return the not-available value.

Floating point values look wrong but the integer values are fine.

The transmitter sends the low word of a float first. The template already reads it that way; if you copied registers to another system, swap the words there or use the integer registers.

The CO2 reading is a little off at a high site.

CO2 measurement depends on air pressure. Write the elevation of the building or the typical pressure; the transmitter then corrects the CO2 value. Pressure and elevation are linked, so changing one changes the other.

Want to see how it works?

Electrician working in an open distribution board