Developer Portal
Connector Guides
API ReferenceConsole

Airthings

AirthingsLogo

Airthings provides sensors to track air quality and radon levels in your building. This connector allows you to retrieve the indoor air quality data from your AirThings account.

Use Cases

Potential use cases include:

  • Track occupancy across your building
  • Track air quality across your building
  • Track radon levels across your building

Configuration

This connector requires the following credentials:

CredentialDescription
Client IDThe Client ID issued by Airthings with read and write privileges
Client SecretThe Client secret issue by Airthings

Mapped Concepts

Connector ConceptMapped Type
PlaceBuilding, Floor, Space, Occupancy_Zone
ThingSensor_Equipment
PointTVOC_Sensor, CO2_Level_Sensor, Humidity_Sensor, PM_1_Level_Sensor, Pressure_Sensor, Occupancy_Count_Sensor, PM_10_Level_Sensor, PM_2.5_Level_Sensor, Illuminance_Sensor, Air_Temperature_Sensor, Radon_Concentration_Sensor

Sample Code

There are a few likely ways you'd want to retrieve the air quality data - first would be if you knew which sensor in specific you wanted to look up:

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  things(filter: {id: {eq: "THGUeKkU5s1Lyg4sSieSg1abC"}}) {
    id
    name
    exactType
    points {
      id
      name
      unit {
        name
      }
      series(latest: true) {
        timestamp
        value {
          float64Value
        }
      }
    }
  }
}

An alternative might be to look up a specific space the sensor is located in:

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  spaces(filter: {id: {eq: "SPCLLKzRU2zqrQU2KSnmbabcD"}}) {
    id
    name
    things {
      id
      name
      points {
        id
        name
        exactType
        series(latest: true) {
          timestamp
          value {
            float64Value
          }
        }
      }
    }
  }
}

Note that in some cases, an occupancy sensor may not be assigned to a specific space - zone is another possibility:

Request Response
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  zones(filter: {id: {eq: "ZONEMwCKzKpgaNeUwuihwiABcd"}}) {
    id
    name
    things {
      id
      name
      points {
        id
        name
        exactType
        series(latest: true) {
          timestamp
          value {
            float64Value
          }
        }
      }
    }
  }
}