Usage Guide
Use UltimateSensor v2 in Home Assistant for room occupancy, zone detection, air-quality monitoring, light automations and local voice assistant workflows.
Key Entities
| Entity Group | Use For |
|---|---|
| PIR Motion | Fast first motion trigger |
| LD2412 Presence / Moving / Still Target | Reliable room occupancy and still-person detection |
| LD2450 Target X/Y and Zones | Standard radar for desk/couch zones, target position and multi-target logic |
| Optional LD2460 Targets | Upgrade radar replacing LD2450, with target 1-5 X/Y/Distance/Angle entities |
| SCD41 CO2 | Ventilation and air-quality alerts |
| SCD41 Temperature / Humidity | Climate monitoring and HVAC automations |
| SGP41 VOC / NOx Index | Air-quality trend monitoring |
| BH1750 Illuminance | Lights based on room brightness |
| Media Player / Wake Word / Assistant Pipeline | Voice assistant, TTS and audio feedback |
Automation Examples
The entity IDs below are examples. In Home Assistant they start with your device name, which by default ends in six characters from the MAC address, for example binary_sensor.ultimatesensor_v2_a1b2c3_pir_motion. Copy the real IDs from your device page.
Fast Lights On With PIR, Keep On With mmWave
alias: "Room - fast lights with PIR and presence"
trigger:
- platform: state
entity_id: binary_sensor.ultimatesensor_v2_pir_motion
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.ultimatesensor_v2_bh1750_illuminance
below: 100
action:
- service: light.turn_on
target:
entity_id: light.room
alias: "Room - lights off when no presence"
trigger:
- platform: state
entity_id: binary_sensor.ultimatesensor_v2_occupancy
to: "off"
for:
minutes: 5
action:
- service: light.turn_off
target:
entity_id: light.room
Zone-Based Desk Lighting
This example uses a zone drawn in the Room Designer.
alias: "Desk - zone occupied"
trigger:
- platform: state
entity_id: binary_sensor.ultimatesensor_v2_polygon_zone_1_presence
to: "on"
action:
- service: light.turn_on
target:
entity_id: light.desk_lamp
Ventilation on High CO2 With Voice Feedback
alias: "Room - ventilate on high CO2"
trigger:
- platform: numeric_state
entity_id: sensor.ultimatesensor_v2_scd41_co2
above: 1000
for:
minutes: 5
action:
- service: fan.turn_on
target:
entity_id: fan.ventilation
- service: tts.speak
target:
entity_id: media_player.ultimatesensor_v2_media_player
data:
message: "CO2 is high. Ventilation has started."
Still Presence for Focus Mode
alias: "Office - focus mode"
trigger:
- platform: state
entity_id: binary_sensor.ultimatesensor_v2_ld2412_still_target
to: "on"
for:
minutes: 15
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.focus_mode
TTS Announcement
service: tts.speak
target:
entity_id: media_player.ultimatesensor_v2_media_player
data:
message: "Welcome home."
Dashboard Ideas
- Presence, PIR, moving target and still target status.
- LD2450 zone status and target map, or LD2460 targets with shared Room Designer polygon zones if the upgrade firmware is installed.
- CO2 gauge with green/yellow/red ranges.
- Temperature and humidity history graph.
- VOC and NOx air-quality tiles.
- Media player card for TTS testing.
- PM2.5 / PM10 card if SPS30 is installed.
Placement Tips
- Place the device where the front faces the monitored area.
- Keep it away from constant noise sources if using voice assistant.
- Avoid direct sunlight, radiators and strong airflow.
- Use PIR for fast entry triggers and mmWave to maintain occupancy.
- Use LD2450 zones to ignore doorways, hallways or adjacent areas.
- If using LD2460, remember it replaces LD2450 and uses shared Room Designer polygon zones rather than the LD2450-specific zone entities.