mirror of
https://github.com/esphome/esphome.git
synced 2026-09-29 16:00:23 +00:00
[ld2410] Use the sub_* helpers for optional child entities (#19774)
This commit is contained in:
@@ -48,16 +48,11 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if has_target_config := config.get(CONF_HAS_TARGET):
|
||||
sens = await binary_sensor.new_binary_sensor(has_target_config)
|
||||
cg.add(ld2410_component.set_target_binary_sensor(sens))
|
||||
if has_moving_target_config := config.get(CONF_HAS_MOVING_TARGET):
|
||||
sens = await binary_sensor.new_binary_sensor(has_moving_target_config)
|
||||
cg.add(ld2410_component.set_moving_target_binary_sensor(sens))
|
||||
if has_still_target_config := config.get(CONF_HAS_STILL_TARGET):
|
||||
sens = await binary_sensor.new_binary_sensor(has_still_target_config)
|
||||
cg.add(ld2410_component.set_still_target_binary_sensor(sens))
|
||||
if out_pin_presence_status_config := config.get(CONF_OUT_PIN_PRESENCE_STATUS):
|
||||
sens = await binary_sensor.new_binary_sensor(out_pin_presence_status_config)
|
||||
cg.add(ld2410_component.set_out_pin_presence_status_binary_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
binary_sensors = binary_sensor.sub_binary_sensors(config)
|
||||
await binary_sensors(CONF_HAS_TARGET, hub.set_target_binary_sensor)
|
||||
await binary_sensors(CONF_HAS_MOVING_TARGET, hub.set_moving_target_binary_sensor)
|
||||
await binary_sensors(CONF_HAS_STILL_TARGET, hub.set_still_target_binary_sensor)
|
||||
await binary_sensors(
|
||||
CONF_OUT_PIN_PRESENCE_STATUS, hub.set_out_pin_presence_status_binary_sensor
|
||||
)
|
||||
|
||||
@@ -46,16 +46,8 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if factory_reset_config := config.get(CONF_FACTORY_RESET):
|
||||
b = await button.new_button(factory_reset_config)
|
||||
await cg.register_parented(b, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_factory_reset_button(b))
|
||||
if restart_config := config.get(CONF_RESTART):
|
||||
b = await button.new_button(restart_config)
|
||||
await cg.register_parented(b, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_restart_button(b))
|
||||
if query_params_config := config.get(CONF_QUERY_PARAMS):
|
||||
b = await button.new_button(query_params_config)
|
||||
await cg.register_parented(b, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_query_button(b))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
buttons = button.sub_buttons(config, parent=hub)
|
||||
await buttons(CONF_FACTORY_RESET, hub.set_factory_reset_button)
|
||||
await buttons(CONF_RESTART, hub.set_restart_button)
|
||||
await buttons(CONF_QUERY_PARAMS, hub.set_query_button)
|
||||
|
||||
@@ -87,31 +87,32 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend(
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if timeout_config := config.get(CONF_TIMEOUT):
|
||||
n = await number.new_number(
|
||||
timeout_config, min_value=0, max_value=65535, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_timeout_number(n))
|
||||
if max_move_distance_gate_config := config.get(CONF_MAX_MOVE_DISTANCE_GATE):
|
||||
n = await number.new_number(
|
||||
max_move_distance_gate_config, min_value=2, max_value=8, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_max_move_distance_gate_number(n))
|
||||
if max_still_distance_gate_config := config.get(CONF_MAX_STILL_DISTANCE_GATE):
|
||||
n = await number.new_number(
|
||||
max_still_distance_gate_config, min_value=2, max_value=8, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_max_still_distance_gate_number(n))
|
||||
if light_threshold_config := config.get(CONF_LIGHT_THRESHOLD):
|
||||
n = await number.new_number(
|
||||
light_threshold_config, min_value=0, max_value=255, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_light_threshold_number(n))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
numbers = number.sub_numbers(config, parent=hub)
|
||||
await numbers(
|
||||
CONF_TIMEOUT, hub.set_timeout_number, min_value=0, max_value=65535, step=1
|
||||
)
|
||||
await numbers(
|
||||
CONF_MAX_MOVE_DISTANCE_GATE,
|
||||
hub.set_max_move_distance_gate_number,
|
||||
min_value=2,
|
||||
max_value=8,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MAX_STILL_DISTANCE_GATE,
|
||||
hub.set_max_still_distance_gate_number,
|
||||
min_value=2,
|
||||
max_value=8,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_LIGHT_THRESHOLD,
|
||||
hub.set_light_threshold_number,
|
||||
min_value=0,
|
||||
max_value=255,
|
||||
step=1,
|
||||
)
|
||||
for x in range(9):
|
||||
if gate_conf := config.get(f"g{x}"):
|
||||
move_config = gate_conf[CONF_MOVE_THRESHOLD]
|
||||
@@ -119,13 +120,13 @@ async def to_code(config: ConfigType) -> None:
|
||||
await number.register_number(
|
||||
n, move_config, min_value=0, max_value=100, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_gate_move_threshold_number(x, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_move_threshold_number(x, n))
|
||||
|
||||
still_config = gate_conf[CONF_STILL_THRESHOLD]
|
||||
n = cg.new_Pvariable(still_config[CONF_ID], x)
|
||||
await number.register_number(
|
||||
n, still_config, min_value=0, max_value=100, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_gate_still_threshold_number(x, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_still_threshold_number(x, n))
|
||||
|
||||
@@ -50,36 +50,32 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if distance_resolution_config := config.get(CONF_DISTANCE_RESOLUTION):
|
||||
s = await select.new_select(
|
||||
distance_resolution_config, options=["0.2m", "0.75m"]
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_distance_resolution_select(s))
|
||||
if out_pin_level_config := config.get(CONF_OUT_PIN_LEVEL):
|
||||
s = await select.new_select(out_pin_level_config, options=["low", "high"])
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_out_pin_level_select(s))
|
||||
if light_function_config := config.get(CONF_LIGHT_FUNCTION):
|
||||
s = await select.new_select(
|
||||
light_function_config, options=["off", "below", "above"]
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_light_function_select(s))
|
||||
if baud_rate_config := config.get(CONF_BAUD_RATE):
|
||||
s = await select.new_select(
|
||||
baud_rate_config,
|
||||
options=[
|
||||
"9600",
|
||||
"19200",
|
||||
"38400",
|
||||
"57600",
|
||||
"115200",
|
||||
"230400",
|
||||
"256000",
|
||||
"460800",
|
||||
],
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_baud_rate_select(s))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
selects = select.sub_selects(config, parent=hub)
|
||||
await selects(
|
||||
CONF_DISTANCE_RESOLUTION,
|
||||
hub.set_distance_resolution_select,
|
||||
options=["0.2m", "0.75m"],
|
||||
)
|
||||
await selects(
|
||||
CONF_OUT_PIN_LEVEL, hub.set_out_pin_level_select, options=["low", "high"]
|
||||
)
|
||||
await selects(
|
||||
CONF_LIGHT_FUNCTION,
|
||||
hub.set_light_function_select,
|
||||
options=["off", "below", "above"],
|
||||
)
|
||||
await selects(
|
||||
CONF_BAUD_RATE,
|
||||
hub.set_baud_rate_select,
|
||||
options=[
|
||||
"9600",
|
||||
"19200",
|
||||
"38400",
|
||||
"57600",
|
||||
"115200",
|
||||
"230400",
|
||||
"256000",
|
||||
"460800",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -157,30 +157,19 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend(
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if moving_distance_config := config.get(CONF_MOVING_DISTANCE):
|
||||
sens = await sensor.new_sensor(moving_distance_config)
|
||||
cg.add(ld2410_component.set_moving_target_distance_sensor(sens))
|
||||
if still_distance_config := config.get(CONF_STILL_DISTANCE):
|
||||
sens = await sensor.new_sensor(still_distance_config)
|
||||
cg.add(ld2410_component.set_still_target_distance_sensor(sens))
|
||||
if moving_energy_config := config.get(CONF_MOVING_ENERGY):
|
||||
sens = await sensor.new_sensor(moving_energy_config)
|
||||
cg.add(ld2410_component.set_moving_target_energy_sensor(sens))
|
||||
if still_energy_config := config.get(CONF_STILL_ENERGY):
|
||||
sens = await sensor.new_sensor(still_energy_config)
|
||||
cg.add(ld2410_component.set_still_target_energy_sensor(sens))
|
||||
if light_config := config.get(CONF_LIGHT):
|
||||
sens = await sensor.new_sensor(light_config)
|
||||
cg.add(ld2410_component.set_light_sensor(sens))
|
||||
if detection_distance_config := config.get(CONF_DETECTION_DISTANCE):
|
||||
sens = await sensor.new_sensor(detection_distance_config)
|
||||
cg.add(ld2410_component.set_detection_distance_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
sensors = sensor.sub_sensors(config)
|
||||
await sensors(CONF_MOVING_DISTANCE, hub.set_moving_target_distance_sensor)
|
||||
await sensors(CONF_STILL_DISTANCE, hub.set_still_target_distance_sensor)
|
||||
await sensors(CONF_MOVING_ENERGY, hub.set_moving_target_energy_sensor)
|
||||
await sensors(CONF_STILL_ENERGY, hub.set_still_target_energy_sensor)
|
||||
await sensors(CONF_LIGHT, hub.set_light_sensor)
|
||||
await sensors(CONF_DETECTION_DISTANCE, hub.set_detection_distance_sensor)
|
||||
for x in range(9):
|
||||
if gate_conf := config.get(f"g{x}"):
|
||||
if move_config := gate_conf.get(CONF_MOVE_ENERGY):
|
||||
sens = await sensor.new_sensor(move_config)
|
||||
cg.add(ld2410_component.set_gate_move_sensor(x, sens))
|
||||
cg.add(hub.set_gate_move_sensor(x, sens))
|
||||
if still_config := gate_conf.get(CONF_STILL_ENERGY):
|
||||
sens = await sensor.new_sensor(still_config)
|
||||
cg.add(ld2410_component.set_gate_still_sensor(x, sens))
|
||||
cg.add(hub.set_gate_still_sensor(x, sens))
|
||||
|
||||
@@ -37,12 +37,7 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if engineering_mode_config := config.get(CONF_ENGINEERING_MODE):
|
||||
s = await switch.new_switch(engineering_mode_config)
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_engineering_mode_switch(s))
|
||||
if bluetooth_config := config.get(CONF_BLUETOOTH):
|
||||
s = await switch.new_switch(bluetooth_config)
|
||||
await cg.register_parented(s, config[CONF_LD2410_ID])
|
||||
cg.add(ld2410_component.set_bluetooth_switch(s))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
switches = switch.sub_switches(config, parent=hub)
|
||||
await switches(CONF_ENGINEERING_MODE, hub.set_engineering_mode_switch)
|
||||
await switches(CONF_BLUETOOTH, hub.set_bluetooth_switch)
|
||||
|
||||
@@ -28,10 +28,7 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2410_component = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
if version_config := config.get(CONF_VERSION):
|
||||
sens = await text_sensor.new_text_sensor(version_config)
|
||||
cg.add(ld2410_component.set_version_text_sensor(sens))
|
||||
if mac_address_config := config.get(CONF_MAC_ADDRESS):
|
||||
sens = await text_sensor.new_text_sensor(mac_address_config)
|
||||
cg.add(ld2410_component.set_mac_text_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_LD2410_ID])
|
||||
text_sensors = text_sensor.sub_text_sensors(config)
|
||||
await text_sensors(CONF_VERSION, hub.set_version_text_sensor)
|
||||
await text_sensors(CONF_MAC_ADDRESS, hub.set_mac_text_sensor)
|
||||
|
||||
Reference in New Issue
Block a user