Skip to content

Package: Airthings

Version: 1.0.0
Description: Normalizes Airthings Wave sensors (Temp, Humidity, CO2)

Package Diagram

Executive Summary

This package standardizes environmental data from the Airthings Wave sensor located in the living room. It takes raw source sensors (typically providing data with excess precision or varying attributes) and normalizes them into clean, rounded Template Sensors for Temperature, Humidity, and CO2, ensuring consistent display across dashboards.

Process Description (Non-Technical)

  1. Read: The system reads the raw data from the Airthings integration (e.g., sensor.airthings_wave_living_room_temperature).
  2. Process: It rounds the numbers to 1 decimal place for readability (e.g., 21.564°C becomes 21.6°C).
  3. Publish: It creates new "clean" sensors that are used in the Living Room dashboard.

Dashboard Connections

This package powers the following dashboard views:

  • Living Room: The Living Room dashboard is a media and comfort hub. It features in-depth environmental monitoring (Radon, VOCs, CO2) via Airthings Wave, displaying historical trends. Entertainment controls are central, with remotes for the TV and Soundbar, plus power management for the media wall. The view also includes specific controls for the fireplace, air purifier modes, and various lighting scenes, alongside standard occupancy settings. (Uses 3 entities)

Architecture Diagram

Data flows unidirectionally from the physical Airthings device to Home Assistant. The raw sensor data is intercepted by the Template engine, which applies rounding logic. The resulting "Normalized Sensors" are the final output, providing clean data for the UI.

sequenceDiagram
    participant Device as Airthings Wave
    participant HA as Home Assistant
    participant UI as Dashboard

    Device->>HA: Report Raw Data (21.564°C)
    HA->>HA: Template Logic (Round to 21.6°C)
    HA->>UI: Update "Airthings Wave Temperature"

Configuration (Source Code)

# ------------------------------------------------------------------------------
# Package: Airthings
# Version: 1.0.0
# Description: Normalizes Airthings Wave sensors (Temp, Humidity, CO2)
# Dependencies: sensor.airthings_wave_living_room_temperature
# ------------------------------------------------------------------------------
template:
  - sensor:
      - name: "Airthings Wave Temperature"
        unique_id: airthings_wave_temperature
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        state: >
          {% set value = states('sensor.airthings_wave_living_room_temperature') | float(0) %}
          {{ value | round(1) }}

      - name: "Airthings Wave Humidity"
        unique_id: airthings_wave_humidity
        unit_of_measurement: "%"
        device_class: humidity
        state_class: measurement
        state: >
          {% set value = states('sensor.airthings_wave_living_room_humidity') | float(0) %}
          {{ value | round(1) }}

      - name: "Airthings Wave CO2"
        unique_id: airthings_wave_co2
        unit_of_measurement: "ppm"
        device_class: carbon_dioxide
        state_class: measurement
        state: >
          {% set value = states('sensor.airthings_wave_living_room_co2') | float(0) %}
          {{ value | round(1) }}