mirror of
https://github.com/esphome/esphome.git
synced 2026-09-29 16:00:23 +00:00
[ld2420] Use the sub_* helpers for optional child entities (#19776)
This commit is contained in:
@@ -27,8 +27,7 @@ CONFIG_SCHEMA = cv.All(
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
if CONF_HAS_TARGET in config:
|
||||
sens = await binary_sensor.new_binary_sensor(config[CONF_HAS_TARGET])
|
||||
cg.add(var.set_presence_sensor(sens))
|
||||
ld2420 = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(ld2420.register_listener(var))
|
||||
binary_sensors = binary_sensor.sub_binary_sensors(config)
|
||||
await binary_sensors(CONF_HAS_TARGET, var.set_presence_sensor)
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(hub.register_listener(var))
|
||||
|
||||
@@ -52,20 +52,9 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
ld2420_component = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
if apply_config := config.get(CONF_APPLY_CONFIG):
|
||||
b = await button.new_button(apply_config)
|
||||
await cg.register_parented(b, config[CONF_LD2420_ID])
|
||||
cg.add(ld2420_component.set_apply_config_button(b))
|
||||
if revert_config := config.get(CONF_REVERT_CONFIG):
|
||||
b = await button.new_button(revert_config)
|
||||
await cg.register_parented(b, config[CONF_LD2420_ID])
|
||||
cg.add(ld2420_component.set_revert_config_button(b))
|
||||
if restart_config := config.get(CONF_RESTART_MODULE):
|
||||
b = await button.new_button(restart_config)
|
||||
await cg.register_parented(b, config[CONF_LD2420_ID])
|
||||
cg.add(ld2420_component.set_restart_module_button(b))
|
||||
if factory_reset := config.get(CONF_FACTORY_RESET):
|
||||
b = await button.new_button(factory_reset)
|
||||
await cg.register_parented(b, config[CONF_LD2420_ID])
|
||||
cg.add(ld2420_component.set_factory_reset_button(b))
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
buttons = button.sub_buttons(config, parent=hub)
|
||||
await buttons(CONF_APPLY_CONFIG, hub.set_apply_config_button)
|
||||
await buttons(CONF_REVERT_CONFIG, hub.set_revert_config_button)
|
||||
await buttons(CONF_RESTART_MODULE, hub.set_restart_module_button)
|
||||
await buttons(CONF_FACTORY_RESET, hub.set_factory_reset_button)
|
||||
|
||||
@@ -115,56 +115,65 @@ CONFIG_SCHEMA = CONFIG_SCHEMA.extend(
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
LD2420_component = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
if gate_timeout_config := config.get(CONF_PRESENCE_TIMEOUT):
|
||||
n = await number.new_number(
|
||||
gate_timeout_config, min_value=0, max_value=255, step=5
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_timeout_number(n))
|
||||
if min_distance_gate_config := config.get(CONF_MIN_GATE_DISTANCE):
|
||||
n = await number.new_number(
|
||||
min_distance_gate_config, min_value=0, max_value=15, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_min_gate_distance_number(n))
|
||||
if max_distance_gate_config := config.get(CONF_MAX_GATE_DISTANCE):
|
||||
n = await number.new_number(
|
||||
max_distance_gate_config, min_value=1, max_value=15, step=1
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_max_gate_distance_number(n))
|
||||
if gate_move_sensitivity_config := config.get(CONF_GATE_MOVE_SENSITIVITY):
|
||||
n = await number.new_number(
|
||||
gate_move_sensitivity_config, min_value=0.05, max_value=1, step=0.025
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_move_sensitivity_factor_number(n))
|
||||
if gate_still_sensitivity_config := config.get(CONF_GATE_STILL_SENSITIVITY):
|
||||
n = await number.new_number(
|
||||
gate_still_sensitivity_config, min_value=0.05, max_value=1, step=0.025
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_still_sensitivity_factor_number(n))
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
numbers = number.sub_numbers(config, parent=hub)
|
||||
await numbers(
|
||||
CONF_PRESENCE_TIMEOUT,
|
||||
hub.set_gate_timeout_number,
|
||||
min_value=0,
|
||||
max_value=255,
|
||||
step=5,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MIN_GATE_DISTANCE,
|
||||
hub.set_min_gate_distance_number,
|
||||
min_value=0,
|
||||
max_value=15,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MAX_GATE_DISTANCE,
|
||||
hub.set_max_gate_distance_number,
|
||||
min_value=1,
|
||||
max_value=15,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_GATE_MOVE_SENSITIVITY,
|
||||
hub.set_gate_move_sensitivity_factor_number,
|
||||
min_value=0.05,
|
||||
max_value=1,
|
||||
step=0.025,
|
||||
)
|
||||
await numbers(
|
||||
CONF_GATE_STILL_SENSITIVITY,
|
||||
hub.set_gate_still_sensitivity_factor_number,
|
||||
min_value=0.05,
|
||||
max_value=1,
|
||||
step=0.025,
|
||||
)
|
||||
if config.get(CONF_GATE_SELECT):
|
||||
if gate_number := config.get(CONF_GATE_SELECT):
|
||||
n = await number.new_number(gate_number, min_value=0, max_value=15, step=1)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_select_number(n))
|
||||
await numbers(
|
||||
CONF_GATE_SELECT,
|
||||
hub.set_gate_select_number,
|
||||
min_value=0,
|
||||
max_value=15,
|
||||
step=1,
|
||||
)
|
||||
if gate_still_threshold := config.get(CONF_STILL_THRESHOLD):
|
||||
n = cg.new_Pvariable(gate_still_threshold[CONF_ID])
|
||||
await number.register_number(
|
||||
n, gate_still_threshold, min_value=0, max_value=65535, step=25
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_still_threshold_numbers(0, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_still_threshold_numbers(0, n))
|
||||
if gate_move_threshold := config.get(CONF_MOVE_THRESHOLD):
|
||||
n = cg.new_Pvariable(gate_move_threshold[CONF_ID])
|
||||
await number.register_number(
|
||||
n, gate_move_threshold, min_value=0, max_value=65535, step=25
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_move_threshold_numbers(0, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_move_threshold_numbers(0, n))
|
||||
else:
|
||||
for x in range(16):
|
||||
if gate_conf := config.get(f"gate_{x}"):
|
||||
@@ -173,13 +182,13 @@ async def to_code(config: ConfigType) -> None:
|
||||
await number.register_number(
|
||||
n, move_config, min_value=0, max_value=65535, step=25
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_move_threshold_numbers(x, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_move_threshold_numbers(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=65535, step=25
|
||||
)
|
||||
await cg.register_parented(n, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_gate_still_threshold_numbers(x, n))
|
||||
await cg.register_parented(n, hub)
|
||||
cg.add(hub.set_gate_still_threshold_numbers(x, n))
|
||||
|
||||
@@ -25,11 +25,8 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
LD2420_component = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
if operating_mode_config := config.get(CONF_OPERATING_MODE):
|
||||
sel = await select.new_select(
|
||||
operating_mode_config,
|
||||
options=CONF_SELECTS,
|
||||
)
|
||||
await cg.register_parented(sel, config[CONF_LD2420_ID])
|
||||
cg.add(LD2420_component.set_operating_mode_select(sel))
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
selects = select.sub_selects(config, parent=hub)
|
||||
await selects(
|
||||
CONF_OPERATING_MODE, hub.set_operating_mode_select, options=CONF_SELECTS
|
||||
)
|
||||
|
||||
@@ -34,11 +34,8 @@ CONFIG_SCHEMA = cv.All(
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
if CONF_MOVING_DISTANCE in config:
|
||||
sens = await sensor.new_sensor(config[CONF_MOVING_DISTANCE])
|
||||
cg.add(var.set_distance_sensor(sens))
|
||||
if CONF_GATE_ENERGY in config:
|
||||
sens = await sensor.new_sensor(config[CONF_GATE_ENERGY])
|
||||
cg.add(var.set_energy_sensor(sens))
|
||||
ld2420 = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(ld2420.register_listener(var))
|
||||
sensors = sensor.sub_sensors(config)
|
||||
await sensors(CONF_MOVING_DISTANCE, var.set_distance_sensor)
|
||||
await sensors(CONF_GATE_ENERGY, var.set_energy_sensor)
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(hub.register_listener(var))
|
||||
|
||||
@@ -28,8 +28,7 @@ CONFIG_SCHEMA = cv.All(
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
if CONF_FW_VERSION in config:
|
||||
sens = await text_sensor.new_text_sensor(config[CONF_FW_VERSION])
|
||||
cg.add(var.set_fw_version_text_sensor(sens))
|
||||
ld2420 = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(ld2420.register_listener(var))
|
||||
text_sensors = text_sensor.sub_text_sensors(config)
|
||||
await text_sensors(CONF_FW_VERSION, var.set_fw_version_text_sensor)
|
||||
hub = await cg.get_variable(config[CONF_LD2420_ID])
|
||||
cg.add(hub.register_listener(var))
|
||||
|
||||
Reference in New Issue
Block a user