mirror of
https://github.com/esphome/esphome.git
synced 2025-11-18 07:45:56 +00:00
[ld2410] Add timeout filter to prevent stuck targets (#11920)
This commit is contained in:
committed by
Jesse Hills
parent
6440b5fbf5
commit
d559f9f52e
@@ -31,35 +31,83 @@ CONFIG_SCHEMA = cv.Schema(
|
|||||||
cv.GenerateID(CONF_LD2410_ID): cv.use_id(LD2410Component),
|
cv.GenerateID(CONF_LD2410_ID): cv.use_id(LD2410Component),
|
||||||
cv.Optional(CONF_MOVING_DISTANCE): sensor.sensor_schema(
|
cv.Optional(CONF_MOVING_DISTANCE): sensor.sensor_schema(
|
||||||
device_class=DEVICE_CLASS_DISTANCE,
|
device_class=DEVICE_CLASS_DISTANCE,
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_SIGNAL,
|
icon=ICON_SIGNAL,
|
||||||
unit_of_measurement=UNIT_CENTIMETER,
|
unit_of_measurement=UNIT_CENTIMETER,
|
||||||
),
|
),
|
||||||
cv.Optional(CONF_STILL_DISTANCE): sensor.sensor_schema(
|
cv.Optional(CONF_STILL_DISTANCE): sensor.sensor_schema(
|
||||||
device_class=DEVICE_CLASS_DISTANCE,
|
device_class=DEVICE_CLASS_DISTANCE,
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_SIGNAL,
|
icon=ICON_SIGNAL,
|
||||||
unit_of_measurement=UNIT_CENTIMETER,
|
unit_of_measurement=UNIT_CENTIMETER,
|
||||||
),
|
),
|
||||||
cv.Optional(CONF_MOVING_ENERGY): sensor.sensor_schema(
|
cv.Optional(CONF_MOVING_ENERGY): sensor.sensor_schema(
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_MOTION_SENSOR,
|
icon=ICON_MOTION_SENSOR,
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
),
|
),
|
||||||
cv.Optional(CONF_STILL_ENERGY): sensor.sensor_schema(
|
cv.Optional(CONF_STILL_ENERGY): sensor.sensor_schema(
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_FLASH,
|
icon=ICON_FLASH,
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
),
|
),
|
||||||
cv.Optional(CONF_LIGHT): sensor.sensor_schema(
|
cv.Optional(CONF_LIGHT): sensor.sensor_schema(
|
||||||
device_class=DEVICE_CLASS_ILLUMINANCE,
|
device_class=DEVICE_CLASS_ILLUMINANCE,
|
||||||
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_LIGHTBULB,
|
icon=ICON_LIGHTBULB,
|
||||||
),
|
),
|
||||||
cv.Optional(CONF_DETECTION_DISTANCE): sensor.sensor_schema(
|
cv.Optional(CONF_DETECTION_DISTANCE): sensor.sensor_schema(
|
||||||
device_class=DEVICE_CLASS_DISTANCE,
|
device_class=DEVICE_CLASS_DISTANCE,
|
||||||
filters=[{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}],
|
filters=[
|
||||||
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
|
],
|
||||||
icon=ICON_SIGNAL,
|
icon=ICON_SIGNAL,
|
||||||
unit_of_measurement=UNIT_CENTIMETER,
|
unit_of_measurement=UNIT_CENTIMETER,
|
||||||
),
|
),
|
||||||
@@ -73,7 +121,13 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend(
|
|||||||
cv.Optional(CONF_MOVE_ENERGY): sensor.sensor_schema(
|
cv.Optional(CONF_MOVE_ENERGY): sensor.sensor_schema(
|
||||||
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
filters=[
|
filters=[
|
||||||
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
],
|
],
|
||||||
icon=ICON_MOTION_SENSOR,
|
icon=ICON_MOTION_SENSOR,
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
@@ -81,7 +135,13 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend(
|
|||||||
cv.Optional(CONF_STILL_ENERGY): sensor.sensor_schema(
|
cv.Optional(CONF_STILL_ENERGY): sensor.sensor_schema(
|
||||||
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
filters=[
|
filters=[
|
||||||
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)}
|
{
|
||||||
|
"timeout": {
|
||||||
|
"timeout": cv.TimePeriod(milliseconds=1000),
|
||||||
|
"value": "last",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"throttle_with_priority": cv.TimePeriod(milliseconds=1000)},
|
||||||
],
|
],
|
||||||
icon=ICON_FLASH,
|
icon=ICON_FLASH,
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
|
|||||||
Reference in New Issue
Block a user