Homebridge plugin to expose air quality data from the Withings WS-50 Smart Body Analyzer

Usage no npm install needed!

<script type="module">
  import homebridgeWithingsAirQuality from 'https://cdn.skypack.dev/homebridge-withings-air-quality';


ℹ️ Please note that his plugin is not actively maintained anymore.


This plugin retrieves carbon dioxide and temperature levels from a Withings Smart Body Analyzer smart scale and exposes them as HomeKit sensors with Homebridge.


The plugin can be installed using the command line

$ npm install -g homebridge-withings-air-quality

or by searching homebridge-withings-air-quality in the Plugins page of a Homebridge Config UI dashboard.


The Withings Smart Body Analyzer cannot be accessed directly, so the plugin will require my.withings.com email address and password in order to fetch the air quality data online.

The plugin also requires the MAC address of the smart scale. It can be found where the batteries are located.

Here is a sample config (you can view config.sample.json for more details):

  "accessories": [
      "accessory": "Withings Air Quality",
      "name": "Bathroom scale",
      "email": "my.withings@email.com",
      "password": "myWithingsPassword",
      "mac": "0a:b2:c3:d4:e5:f6",
      "levels": [
        350,  // Excellent
        1000, // Good
        2500, // Fair
        5000  // Inferior

The levels parameter is used to control the information displayed on the air quality sensor. The values are measured in ppm (parts per million). Carbon dioxide level higher than the value for "Inferior" will trigger a warning in HomeKit. For more information, check out this page.