Skip to content

Sensor Definitions

This page explains all sensor entities available on your UltimateSensor, their meaning, and links to ESPHome documentation for more details.


Environmental Sensors

CO₂, Temperature & Humidity (SCD41)

EntityDescriptionUnit
SCD41 CO2Carbon dioxide concentrationppm
SCD41 TemperatureAmbient temperature°C
SCD41 HumidityRelative humidity%

The SCD41 is a high-accuracy photoacoustic CO₂ sensor with built-in temperature and humidity measurement.

CO₂ Level Guidelines:

LevelMeaning
400-450 ppmFresh outdoor air
600 ppmHealthy indoor level
800 ppmAcceptable indoor
1,000 ppmVentilation recommended
1,200 ppmVentilation necessary
2,000+ ppmPoor air quality, health effects

📖 ESPHome SCD4x Documentation


Light Sensor (BH1750)

EntityDescriptionUnit
BH1750 IlluminanceAmbient light intensitylux

Measures light levels from 1 to 65,535 lux.

📖 ESPHome BH1750 Documentation


Air Quality (SGP4x)

EntityDescriptionUnit
VOC IndexVolatile Organic Compounds indexindex
NOx IndexNitrogen Oxides indexindex

The SGP4x provides air quality indices rather than raw ppm values:

  • VOC Index: 0-500 (100 = average baseline, higher = more VOCs)
  • NOx Index: 0-500 (1 = clean air, higher = more NOx)

📖 ESPHome SGP4x Documentation


Particulate Matter (SPS30) — Complete Only

EntityDescriptionUnit
PM <1µm Weight concentrationFine particles <1µmµg/m³
PM <2.5µm Weight concentrationFine particles <2.5µmµg/m³
PM <4µm Weight concentrationCoarse particles <4µmµg/m³
PM <10µm Weight concentrationCoarse particles <10µmµg/m³
PM <0.5µm Number concentrationParticle count <0.5µm#/cm³
PM <1µm Number concentrationParticle count <1µm#/cm³
PM <2.5µm Number concentrationParticle count <2.5µm#/cm³
PM <4µm Number concentrationParticle count <4µm#/cm³
PM <10µm Number concentrationParticle count <10µm#/cm³
Typical Particle sizeAverage particle sizeµm

PM2.5 Guidelines (WHO):

LevelAir Quality
0-10 µg/m³Good
10-25 µg/m³Moderate
25-50 µg/m³Unhealthy for sensitive
50+ µg/m³Unhealthy

📖 ESPHome SPS30 Documentation


Presence & Motion Detection

PIR Motion Sensor

EntityTypeDescription
PIR SensorBinaryMotion detected (on/off)

Traditional infrared motion sensor for quick detection of movement. Has a 1-second off delay built in.

📖 ESPHome GPIO Binary Sensor


mmWave Radar (LD2450)

The LD2450 is an advanced millimeter-wave radar that can track up to 3 people simultaneously, providing position, distance, speed, and angle data.

Occupancy Sensors

EntityTypeDescription
OccupancyBinaryOverall room occupancy
Zone 1 OccupancyBinaryZone 1 occupied
Zone 2 OccupancyBinaryZone 2 occupied
Zone 3 OccupancyBinaryZone 3 occupied
Zone 4 OccupancyBinaryZone 4 occupied

Target Tracking (3 Targets)

For each target (1, 2, 3):

EntityDescriptionUnit
Target X XHorizontal positionmm
Target X YDistance from sensormm
Target X SpeedMovement speedm/s
Target X DistanceEuclidean distancemm
Target X AngleAngle from sensor center°
Target X ResolutionDetection resolutionmm
Target X ActiveTarget currently detectedon/off

Zone Target Counts

EntityDescription
Zone 1 Target CountNumber of people in Zone 1
Zone 2 Target CountNumber of people in Zone 2
Zone 3 Target CountNumber of people in Zone 3
Zone 4 Target CountNumber of people in Zone 4

📖 Hi-Link LD2450 Datasheet


Zone Configuration

Each zone can be configured with these number entities:

EntityDescriptionRange
Zone X Begin XLeft boundary-4000 to 4000 mm
Zone X End XRight boundary-4000 to 4000 mm
Zone X Begin YNear boundary0 to 6000 mm
Zone X End YFar boundary0 to 6000 mm
Zone X Occupancy Off DelayDelay before reporting empty0-600 s

Understanding the Coordinate System

        Sensor (0,0)
           |
    -X <---+---> +X
           |
           v
          +Y (distance from sensor)
  • X-axis: Left (-4000mm) to Right (+4000mm)
  • Y-axis: Distance from sensor (0 to 6000mm)

Global Settings

EntityDescriptionRange
Occupancy Off DelayGlobal delay before "no occupancy"0-600 s
Max DistanceMaximum detection distance0-600 cm

Display

The UltimateSensor has a built-in SSD1306 OLED display (128x64 pixels) showing:

  • CO₂ level (large)
  • Temperature
  • Humidity
  • Light (lux)
  • PIR indicator

The display updates automatically and cannot be controlled via Home Assistant.

📖 ESPHome SSD1306 Documentation


LED

EntityTypeDescription
Back LightLightRGB LED on back of device

The WS2812B LED can be controlled via Home Assistant for status indication or ambient lighting.

📖 ESPHome NeoPixelBus Light


Device Controls

EntityTypeDescription
Restart UltimateSensorButtonRestart the device
CO2 manual calibrationButtonTrigger CO₂ calibration (outdoor, 419 ppm)

Diagnostic Entities

EntityDescription
IP addressCurrent IP address
Connected SSIDWiFi network name
Connected BSSIDWiFi access point MAC
ESPHome VersionESPHome firmware version
Software VersionUltimateSensor software version
Hardware VersionHardware variant (V1-Basic/Complete)
Connection typeWiFi or Ethernet

ESPHome Configuration

The UltimateSensor uses ESPHome with the following key substitutions:

yaml
substitutions:
  device_name: ultimatesensor
  friendly_name: "UltimateSensor"
  ultimatesensor_software_version: "1.2"
  ultimatesensor_hardware_version: "V1-Complete"  # or V1-Basic
  ultimatesensor_connection_type: "WiFi"  # or Ethernet

GitHub Source Code

All firmware configurations are open source:

  • WiFi Basic: ultimatesensor-wifi-basic.yaml
  • WiFi Complete: ultimatesensor-wifi-complete.yaml
  • Ethernet Basic: ultimatesensor-ethernet-basic.yaml
  • Ethernet Complete: ultimatesensor-ethernet-complete.yaml

👉 github.com/smarthomeshop/ultimatesensor

Adopting in ESPHome

To customize your UltimateSensor:

  1. Open ESPHome Dashboard in Home Assistant
  2. Click "Adopt" on the discovered device
  3. Edit the YAML configuration
  4. Deploy changes via OTA

See Usage Guide for customization examples.