text: """Constants for the Awair component."""
  
  from dataclasses import dataclass
  from datetime import timedelta
  import logging
  
  from python_awair_local_sensors.devices import AwairLocalDevice
  
  from homeassistant.const import (
      ATTR_DEVICE_CLASS,
      CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
      CONCENTRATION_PARTS_PER_BILLION,
      CONCENTRATION_PARTS_PER_MILLION,
      DEVICE_CLASS_HUMIDITY,
      DEVICE_CLASS_ILLUMINANCE,
      DEVICE_CLASS_TEMPERATURE,
      TEMP_CELSIUS,
      UNIT_PERCENTAGE,
  )
  
  API_CO2 = "carbon_dioxide"
  API_DUST = "dust"
  API_HUMID = "humidity"
  API_LUX = "illuminance"
  API_PM10 = "particulate_matter_10"
  API_PM25 = "particulate_matter_2_5"
  API_SCORE = "score"
  API_SPL_A = "sound_pressure_level"
  API_TEMP = "temperature"
  API_LOCAL_TIMEOUT = 2
  API_VOC = "volatile_organic_compounds"
  
  ATTRIBUTION = "Awair air quality sensor"
  
  ATTR_ICON = "icon"
  ATTR_LABEL = "label"
  ATTR_UNIT = "unit"
  ATTR_UNIQUE_ID = "unique_id"
  
  DOMAIN = "awair_local"
  
  DUST_ALIASES = [API_PM25, API_PM10]
  
  LOGGER = logging.getLogger(__package__)
  
  UPDATE_INTERVAL = timedelta(seconds=30)
  
  SENSOR_TYPES = {
      API_SCORE: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:blur",
          ATTR_UNIT: UNIT_PERCENTAGE,
          ATTR_LABEL: "Awair score",
          ATTR_UNIQUE_ID: "score",  # matches legacy format
      },
      API_HUMID: {
          ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
          ATTR_ICON: None,
          ATTR_UNIT: UNIT_PERCENTAGE,
          ATTR_LABEL: "Humidity",
          ATTR_UNIQUE_ID: "HUMID",  # matches legacy format
      },
      API_LUX: {
          ATTR_DEVICE_CLASS: DEVICE_CLASS_ILLUMINANCE,
          ATTR_ICON: None,
          ATTR_UNIT: "lx",
          ATTR_LABEL: "Illuminance",
          ATTR_UNIQUE_ID: "illuminance",
      },
      API_SPL_A: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:ear-hearing",
          ATTR_UNIT: "dBa",
          ATTR_LABEL: "Sound level",
          ATTR_UNIQUE_ID: "sound_level",
      },
      API_VOC: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:cloud",
          ATTR_UNIT: CONCENTRATION_PARTS_PER_BILLION,
          ATTR_LABEL: "Volatile organic compounds",
          ATTR_UNIQUE_ID: "VOC",  # matches legacy format
      },
      API_TEMP: {
          ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
          ATTR_ICON: None,
          ATTR_UNIT: TEMP_CELSIUS,
          ATTR_LABEL: "Temperature",
          ATTR_UNIQUE_ID: "TEMP",  # matches legacy format
      },
      API_PM25: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:blur",
          ATTR_UNIT: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
          ATTR_LABEL: "PM2.5",
          ATTR_UNIQUE_ID: "PM25",  # matches legacy format
      },
      API_PM10: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:blur",
          ATTR_UNIT: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
          ATTR_LABEL: "PM10",
          ATTR_UNIQUE_ID: "PM10",  # matches legacy format
      },
      API_CO2: {
          ATTR_DEVICE_CLASS: None,
          ATTR_ICON: "mdi:cloud",
          ATTR_UNIT: CONCENTRATION_PARTS_PER_MILLION,
          ATTR_LABEL: "Carbon dioxide",
          ATTR_UNIQUE_ID: "CO2",  # matches legacy format
      },
  }
  
  
  @dataclass
  class AwairResult:
      """Wrapper class to hold an awair device and set of air data."""
  
      device: AwairLocalDevice
      air_data: dict
  