Heya
I’m using the LD2410C but having trouble increasing the sensitivity. I want presence to be detected when someone is far away. I can see at gates 6 & 7 there is detection but the presence binary sensor says clear. I’ve even set the thresholds for these gates to be very lower and I can see that the detection “energy” is over the threshold but still not presence detected.
Any ideas?
See these screenshots:
I also read the datasheet but still not sure what I need to change:
Sensitivity
Only when the detected target energy value (range 0~100) is greater than the sensitivityvaluewillit be determined that the target exists, otherwise it will be ignored. The sensitivity value can be set from 0 to 100. The sensitivity of each range gate can be
independently set, so that the detection in different distance ranges can be precisely adjusted, local
accurate detection or filtering of interference sources in specific areas. In addition, if the sensitivity of a certain distance gate is set to 100, the effect of not recognizingthe target under the distance gate can be achieved. For example, if the sensitivity of distancegate3and distance gate 4 is set to 20, and the sensitivity of other distance gates is set to 100, it is possibleto detect only the human body within the range of 2.25-3.75m from the
Edwin_D
(Edwin D.)
October 29, 2025, 3:44pm
3
Be sure to also check the max move distance and max still distance settings. For tuning the rest:
Off the shelf: Use the graphic tool to visualise thresholds while moving through the room.
DIY: You can also turn on engineering mode and build a similar dashboard for yourself. The below one relies on plotly graph custom card.
views:
- title: Woonkamer
type: sections
sections:
- cards:
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g0_move_threshold
features_position: bottom
vertical: true
grid_options:
columns: 4
rows: 3
show_entity_picture: false
hide_state: true
name: 0 move
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g1_move_threshold
features_position: bottom
vertical: true
name: 1 move
hide_state: true
grid_options:
columns: 4
rows: 3
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g2_move_threshold
features_position: bottom
vertical: true
name: 2 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g3_move_threshold
features_position: bottom
vertical: true
name: 3 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g4_move_threshold
features_position: bottom
vertical: true
name: 4 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g5_move_threshold
features_position: bottom
vertical: true
name: 5 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g6_move_threshold
features_position: bottom
vertical: true
name: 6 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g7_move_threshold
features_position: bottom
vertical: true
name: 7 move
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g8_move_threshold
features_position: bottom
vertical: true
name: 8 move
hide_state: true
grid_options:
columns: 4
rows: 2
- type: custom:plotly-graph
title: Woonkamer energy
refresh_interval: 1
hours_to_show: current_day
layout:
height: 300
margin:
l: 25
r: 25
t: 25
b: 25
showlegend: true
legend:
x: 0
'y': 1
xaxis:
dtick: 1
type: number
fixedrange: true
range:
- 0
- 8
yaxis:
dtick: 10
fixedrange: true
range:
- 0
- 100
entities:
- entity: ''
name: Move Threshold
mode: lines
line:
shape: spline
width: 2
color: purple
x:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
'y':
- >-
$ex
hass.states["number.motion_sensor_g0_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g1_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g2_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g3_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g4_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g5_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g6_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g7_move_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g8_move_threshold"].state
- entity: ''
name: Move Energy
mode: lines
line:
shape: spline
width: 2
color: blue
x:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
'y':
- $ex hass.states["sensor.motion_sensor_g0_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g1_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g2_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g3_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g4_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g5_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g6_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g7_move_energy"].state
- $ex hass.states["sensor.motion_sensor_g8_move_energy"].state
- entity: ''
name: Still Threshold
mode: lines
line:
shape: spline
width: 2
color: green
x:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
'y':
- >-
$ex
hass.states["number.motion_sensor_g0_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g1_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g2_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g3_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g4_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g5_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g6_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g7_still_threshold"].state
- >-
$ex
hass.states["number.motion_sensor_g8_still_threshold"].state
- entity: ''
name: Still Energy
mode: lines
line:
shape: spline
width: 2
color: yellow
x:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
'y':
- >-
$ex
hass.states["sensor.motion_sensor_g0_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g1_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g2_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g3_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g4_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g5_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g6_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g7_still_energy"].state
- >-
$ex
hass.states["sensor.motion_sensor_g8_still_energy"].state
raw_plotly_config: true
layout_options:
grid_columns: 48
grid_rows: auto
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g0_still_threshold
features_position: bottom
vertical: true
grid_options:
columns: 4
rows: 3
show_entity_picture: false
hide_state: true
name: 0 Still
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g1_still_threshold
features_position: bottom
vertical: true
name: 1 Still
hide_state: true
grid_options:
columns: 4
rows: 3
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g2_still_threshold
features_position: bottom
vertical: true
name: 2 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g3_still_threshold
features_position: bottom
vertical: true
name: 3 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g4_still_threshold
features_position: bottom
vertical: true
name: 4 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g5_still_threshold
features_position: bottom
vertical: true
name: 5 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g6_still_threshold
features_position: bottom
vertical: true
name: 6 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g7_still_threshold
features_position: bottom
vertical: true
name: 7 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: numeric-input
style: buttons
type: tile
entity: number.motion_sensor_g8_still_threshold
features_position: bottom
vertical: true
name: 8 Still
hide_state: true
grid_options:
columns: 4
rows: 2
- features:
- type: toggle
type: tile
entity: switch.motion_sensor_engineering_mode
features_position: bottom
vertical: true
grid_options:
columns: 3
rows: 3
name: Engineering mode
hide_state: true
column_span: 4
badges:
- type: entity
show_name: false
show_state: true
show_icon: true
entity: binary_sensor.motion_sensor_presence
- type: entity
show_name: false
show_state: true
show_icon: true
entity: sensor.motion_sensor_still_distance
- type: entity
show_name: false
show_state: true
show_icon: true
entity: sensor.motion_sensor_still_energy
- type: entity
show_name: false
show_state: true
show_icon: true
entity: binary_sensor.motion_sensor_still_target
header:
card:
type: markdown
text_only: true
content: '# Woonkamer'
title: Beweging
gregrs
(Greg)
October 29, 2025, 10:22pm
4
You might be interested in this dashboard setup .
I’ve also had issues with presence clearing when the energy value for a particular gate is still over the set threshold, though, as per LD2410 Still Target reporting as Clear even though ≥ 1 gate has energy over threshold
Thank you @Edwin_D , they are both set to max (8), visible in my first screenshot.
Off the shelf: Use the graphic tool to visualise thresholds while moving through the room.
Yes, I’ve used the app, it’s OK, TBH the HA cards are better though.
DIY: You can also turn on engineering mode and build a similar dashboard for yourself. The below one relies on plotly graph custom card.
I have not more or less in my screenshots, it’s not as nice without graphs but I can still see that 2x of the gate thresholds are exceeded and yet presence is still not detected.
You might be interested in this dashboard setup .
That is very cool but I’m not having trouble visualising the problem, I think it’s clear that 2x of the gate thresholds are exceeded and yet presence is still not detected.
I’ve also had issues with presence clearing when the energy value for a particular gate is still over the set threshold, though, as per LD2410 Still Target reporting as Clear even though ≥ 1 gate has energy over threshold
Ahh so you have the same problem as me!
1 Like
I’ve adjusted all the gates and still presence is clear even though the gates are over the thresholds. No idea at this point.
gregrs
(Greg)
January 1, 2026, 7:15am
7
I’ve had the same issue. I think that once still presence has cleared, moving presence has to be triggered to retrigger still presence.
You might want to try adjusting moving gate thresholds, though in my case I wasn’t able to get it perfect at longer distances and ended up adding another sensor to the room.
1 Like