Skip to the content.

Configuration

Once you take control in ESPHome, there are two sections you need to configure, substitutions: and packages:. In the substitutions: section you will find settings for many of the available sensors. You only need to declare substitutions if you need a value other than default.

With yaml all substitutions are strings and should be in 'single quotes' or
"double quotes" even if the value is a float or a boolean value.

substitutions:
  name: "sensor-rev-b-pkg-a"
  friendly_name: "Indoor Multi-Sensor Rev-B Sens-Pkg-A C4001"

  # Settings
  # Voice name allows you to change the voice of spoken announcements to fit your preferences.
  #   For a list of voice names see https://github.com/mikelawrence/esphome-indoor-multi-sensor-sounds/#available-voices
  voice_name: "lily-wolff-female"
  # Room name allows you to personalize the room name in which the sensor is installed.
  #   For a list of room names see https://github.com/mikelawrence/esphome-indoor-multi-sensor-sounds/?tab=readme-ov-file#available-rooms
  room_name: "none"
  pir_installed: "true"
  # Status LED Configuration
  status_nightlight_brightness: "1.0"
  status_day_brightness: "0.5"
  status_night_brightness: "0.20"
  status_daytime_lux: "12.0"
  status_nighttime_lux: "7.0"
  # Temperature Configuration
  temperature_offset: "0.0"
  # Humidity Configuration
  humidity_offset: "0.0"
  # CO₂ Configuration
  co2_calibration_date: "Not Set"
  # CO Configuration
  co_offset: "0.0"
  co_sensitivity: "2.000e-9"
  co_manufacture_date: "Not Set"
  co_serial_number: "Not Set"
  # Automatically controlled Vent
  vent_ha_entity: "fan.vent_id"
  vent_use_humidity: "true"
  vent_use_co2: "true"
  vent_min_on_time: "15"
  vent_hum_on_trigger: "10.0"
  vent_hum_off_trigger: "2.5"
  vent_co2_on_trigger: "1100"
  vent_co2_off_trigger: "900"
  # Home Assistant Entities
  # Presence entity
  presence_ha_entity: "binary_sensor.unknown_room_occupancy"

  # git ref, leave at main unless you know what you are doing
  ref: "main"

The packages: section will allow you to disable sensors by commenting out it’s included package.

packages:
  remote:
    url: https://github.com/mikelawrence/esphome-indoor-multi-sensor-config
    refresh: 1min
    ref: main
    files:
      # Main Config Files for Sensor Package-A and C4001 Radar
      - common/common.yaml
      - common/pkga-sen6x.yaml
      - common/radar-ld2410s.yaml

      # ADDITIONAL SENSORS
      # Carbon Dioxide (CO) - Figaro TGS5141 sensor
      - common/add-co.yaml
      # Energy Usage Rev-B - INA2XX sensor to measure Voltage, Power and Energy Usage, Rev B only
      - common/add-ina2xx-rev-b.yaml
      # Energy Usage - INA2XX sensor to measure Voltage, Power and Energy Usage
      - common/add-ina2xx.yaml
      # Light Level - TSL2591 sensor
      - common/add-tsl2591.yaml
      # Barometric Pressure - BMP581 sensor
      - common/add-bmp581.yaml
      # Microphone - Adds Sound Level meter
      - common/add-microphone.yaml

      # FEATURES
      # Automatic Vent - Use humidity and CO₂ to control a bathroom vent
      # - common/feat-auto-vent.yaml
      # Smoke Alarm - Use PM and CO₂ for smoke alarm functionality
      # - common/feat-smoke-alarm.yaml

The Main Config Files vary based on Sensor Package and Radar. Only these combinations of Main Config Files will work.

      # Main Config Files for Sensor Package-A and C4001 Radar
      - common/common.yaml
      - common/pkga-sen6x.yaml
      - common/radar-c4001.yaml

      # Main Config Files for Sensor Package-A and LD2410 Radar
      - common/common.yaml
      - common/pkga-sen6x.yaml
      - common/radar-ld2410.yaml

      # Main Config Files for Sensor Package-A and LD2450 Radar
      - common/common.yaml
      - common/pkga-sen6x.yaml
      - common/radar-ld2450.yaml

      # Main Config Files for Sensor Package-A and LD2410S Radar, Warning: Rev-B only!
      - common/common.yaml
      - common/pkga-sen6x.yaml
      - common/radar-ld2410s.yaml

      # Main Config Files for Sensor Package-B and C4001 Radar
      - common/common.yaml
      - common/pkgb-sht4x.yaml
      - common/pkgb-scd4x.yaml
      - common/pkgb-sgp4x.yaml
      - common/radar-c4001.yaml

      # Main Config Files for Sensor Package-B and LD2410 Radar
      - common/common.yaml
      - common/pkgb-sht4x.yaml
      - common/pkgb-scd4x.yaml
      - common/pkgb-sgp4x.yaml
      - common/radar-ld2410.yaml

      # Main Config Files for Sensor Package-B and LD2450 Radar
      - common/common.yaml
      - common/pkgb-sht4x.yaml
      - common/pkgb-scd4x.yaml
      - common/pkgb-sgp4x.yaml
      - common/radar-ld2450.yaml

      # Main Config Files for Sensor Package-B and LD2410S Radar, Warning: Rev-B only!
      - common/common.yaml
      - common/pkgb-sht4x.yaml
      - common/pkgb-scd4x.yaml
      - common/pkgb-sgp4x.yaml
      - common/radar-ld2410s.yaml

The additional Sensors and Features packages can mostly be included or not based on whether or not the sensors are populated on the board.

As an example, if you enable SCD4X pressure compensation but don’t have a SCD4X sensor installed it’s not going to work.

Settings

substitutions:
  name: "office-sensor"
  friendly_name: "Office Sensor"

  # Settings
  voice_name: "adam-male"
  room_name: "none"
  pir_installed: "true"
  # Status LED Configuration
  status_nightlight_brightness: "1.0"
  status_day_brightness: "0.5"
  status_night_brightness: "0.20"
  status_daytime_lux: "12.0"
  status_nighttime_lux: "7.0"
  presence_ha_entity: "binary_sensor.unknown_room_occupancy"
  # Temperature Configuration
  temperature_offset: "0.0"
  # Humidity Configuration
  humidity_offset: "0.0"
  # CO₂ Configuration
  co2_calibration_date: "Not Set"

These are base settings available for any configuration.

Carbon Monoxide(CO) Configuration

packages:
  # Carbon Dioxide (CO) - Figaro TGS5141 sensor
  co: github://mikelawrence/esphome-indoor-multi-sensor-config/common/add-co.yaml@main

If you have included this package the CO sensor is enabled and there are substitutions you need to edit.

substitutions:
  # CO Configuration
  co_offset: "0.0"
  co_sensitivity: "2.000e-9"
  co_manufacture_date: "12/22/2022"
  co_serial_number: "221111554259031129"

Energy Usage Configuration

packages:
  # Energy Usage - INA2XX sensor to measure Voltage, Power and Energy Usage
  ina2xx: github://mikelawrence/esphome-indoor-multi-sensor-config/common/add-ina2xx.yaml@main

If you have included this package the Energy Usage Sensor is enabled. Voltage, Power and Energy Usage will be reported as sensors. There are no substitutions to edit.

Light Sensor Configuration

packages:
  # Light Level - TSL2591 sensor
  tsl2591: github://mikelawrence/esphome-indoor-multi-sensor-config/common/add-tsl2591.yaml@main

If you have included this package the TSL2591 Light Level Sensor is enabled. Light Level in lux will be reported as a sensor. There are no substitutions to edit.

Barometric Pressure Sensor Configuration

packages:
  # Barometric Pressure - BMP581 sensor
  bmp581: github://mikelawrence/esphome-indoor-multi-sensor-config/common/add-bmp581.yaml@main

If you have included this package the BMP581 Barometric Pressure Sensor is enabled. The sensor reports absolute pressure. There are no substitutions to edit.

Microphone Configuration

packages:
  # Microphone - Adds Sound Level meter
  mic: github://mikelawrence/esphome-indoor-multi-sensor-config/common/add-microphone.yaml@main

If you have included this package the ICS-43434 MEMS microphone is enabled. The microphone measures sound levels and reports to levels a one minute average and one minute peak. There are no substitutions to edit.

Automatically controlled Vent Configuration

packages:
  # Automatic Vent - Use humidity and CO₂ to control a bathroom vent
  auto-vent: github://mikelawrence/esphome-indoor-multi-sensor-config/common/feat-auto-vent.yaml@main

If you have included this package the Automatic Vent control is enabled and there are substitutions you need to edit.

substitutions:
  # Automatically controlled Vent
  vent_ha_entity: fan.vent_id
  vent_use_humidity: "true"
  vent_use_co2: "false"
  vent_min_on_time: "15"
  vent_hum_on_trigger: "10.0"
  vent_hum_off_trigger: "2.5"
  vent_co2_on_trigger: "1500"
  vent_co2_off_trigger: "1400"

Smoke Alarm Configuration

packages:
  # Smoke Alarm - Use PM, CO and CO₂ for smoke alarm functionality
  smoke-alarm: github://mikelawrence/esphome-indoor-multi-sensor-config/common/feat-smoke-alarm.yaml@main

If you have included this package the you can use multiple sensors to approximate a smoke detector. This is not a certified smoke detector and my not work at all. You have been warned!

back