mirror of
https://github.com/esphome/esphome.git
synced 2026-09-29 16:00:23 +00:00
[seeed_mr24hpc1] Use the sub_* helpers for optional child entities (#19798)
This commit is contained in:
@@ -15,7 +15,6 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if has_target_config := config.get(CONF_HAS_TARGET):
|
||||
sens = await binary_sensor.new_binary_sensor(has_target_config)
|
||||
cg.add(mr24hpc1_component.set_has_target_binary_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
binary_sensors = binary_sensor.sub_binary_sensors(config)
|
||||
await binary_sensors(CONF_HAS_TARGET, hub.set_has_target_binary_sensor)
|
||||
|
||||
@@ -33,12 +33,7 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if restart_config := config.get(CONF_RESTART):
|
||||
b = await button.new_button(restart_config)
|
||||
await cg.register_parented(b, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_restart_button(b))
|
||||
if custom_set_end_config := config.get(CONF_CUSTOM_SET_END):
|
||||
b = await button.new_button(custom_set_end_config)
|
||||
await cg.register_parented(b, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_custom_set_end_button(b))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
buttons = button.sub_buttons(config, parent=hub)
|
||||
await buttons(CONF_RESTART, hub.set_restart_button)
|
||||
await buttons(CONF_CUSTOM_SET_END, hub.set_custom_set_end_button)
|
||||
|
||||
@@ -65,67 +65,46 @@ CONFIG_SCHEMA = cv.Schema(
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if sensitivity_config := config.get(CONF_SENSITIVITY):
|
||||
n = await number.new_number(
|
||||
sensitivity_config,
|
||||
min_value=0,
|
||||
max_value=3,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_sensitivity_number(n))
|
||||
if custom_mode_config := config.get(CONF_CUSTOM_MODE):
|
||||
n = await number.new_number(
|
||||
custom_mode_config,
|
||||
min_value=0,
|
||||
max_value=4,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_custom_mode_number(n))
|
||||
if existence_threshold_config := config.get(CONF_EXISTENCE_THRESHOLD):
|
||||
n = await number.new_number(
|
||||
existence_threshold_config,
|
||||
min_value=0,
|
||||
max_value=250,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_existence_threshold_number(n))
|
||||
if motion_threshold_config := config.get(CONF_MOTION_THRESHOLD):
|
||||
n = await number.new_number(
|
||||
motion_threshold_config,
|
||||
min_value=0,
|
||||
max_value=250,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_motion_threshold_number(n))
|
||||
if motion_trigger_config := config.get(CONF_MOTION_TRIGGER):
|
||||
n = await number.new_number(
|
||||
motion_trigger_config,
|
||||
min_value=0,
|
||||
max_value=150,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_motion_trigger_number(n))
|
||||
if motion_to_rest_config := config.get(CONF_MOTION_TO_REST):
|
||||
n = await number.new_number(
|
||||
motion_to_rest_config,
|
||||
min_value=0,
|
||||
max_value=3000,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_motion_to_rest_number(n))
|
||||
if custom_unman_time_config := config.get(CONF_CUSTOM_UNMAN_TIME):
|
||||
n = await number.new_number(
|
||||
custom_unman_time_config,
|
||||
min_value=0,
|
||||
max_value=3600,
|
||||
step=1,
|
||||
)
|
||||
await cg.register_parented(n, mr24hpc1_component)
|
||||
cg.add(mr24hpc1_component.set_custom_unman_time_number(n))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
numbers = number.sub_numbers(config, parent=hub)
|
||||
await numbers(
|
||||
CONF_SENSITIVITY, hub.set_sensitivity_number, min_value=0, max_value=3, step=1
|
||||
)
|
||||
await numbers(
|
||||
CONF_CUSTOM_MODE, hub.set_custom_mode_number, min_value=0, max_value=4, step=1
|
||||
)
|
||||
await numbers(
|
||||
CONF_EXISTENCE_THRESHOLD,
|
||||
hub.set_existence_threshold_number,
|
||||
min_value=0,
|
||||
max_value=250,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MOTION_THRESHOLD,
|
||||
hub.set_motion_threshold_number,
|
||||
min_value=0,
|
||||
max_value=250,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MOTION_TRIGGER,
|
||||
hub.set_motion_trigger_number,
|
||||
min_value=0,
|
||||
max_value=150,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_MOTION_TO_REST,
|
||||
hub.set_motion_to_rest_number,
|
||||
min_value=0,
|
||||
max_value=3000,
|
||||
step=1,
|
||||
)
|
||||
await numbers(
|
||||
CONF_CUSTOM_UNMAN_TIME,
|
||||
hub.set_custom_unman_time_number,
|
||||
min_value=0,
|
||||
max_value=3600,
|
||||
step=1,
|
||||
)
|
||||
|
||||
@@ -40,64 +40,57 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if scenemode_config := config.get(CONF_SCENE_MODE):
|
||||
s = await select.new_select(
|
||||
scenemode_config,
|
||||
options=["None", "Living Room", "Bedroom", "Washroom", "Area Detection"],
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_scene_mode_select(s))
|
||||
if unmantime_config := config.get(CONF_UNMAN_TIME):
|
||||
s = await select.new_select(
|
||||
unmantime_config,
|
||||
options=[
|
||||
"None",
|
||||
"10s",
|
||||
"30s",
|
||||
"1min",
|
||||
"2min",
|
||||
"5min",
|
||||
"10min",
|
||||
"30min",
|
||||
"60min",
|
||||
],
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_unman_time_select(s))
|
||||
if existence_boundary_config := config.get(CONF_EXISTENCE_BOUNDARY):
|
||||
s = await select.new_select(
|
||||
existence_boundary_config,
|
||||
options=[
|
||||
"0.5m",
|
||||
"1.0m",
|
||||
"1.5m",
|
||||
"2.0m",
|
||||
"2.5m",
|
||||
"3.0m",
|
||||
"3.5m",
|
||||
"4.0m",
|
||||
"4.5m",
|
||||
"5.0m",
|
||||
],
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_existence_boundary_select(s))
|
||||
if motion_boundary_config := config.get(CONF_MOTION_BOUNDARY):
|
||||
s = await select.new_select(
|
||||
motion_boundary_config,
|
||||
options=[
|
||||
"0.5m",
|
||||
"1.0m",
|
||||
"1.5m",
|
||||
"2.0m",
|
||||
"2.5m",
|
||||
"3.0m",
|
||||
"3.5m",
|
||||
"4.0m",
|
||||
"4.5m",
|
||||
"5.0m",
|
||||
],
|
||||
)
|
||||
await cg.register_parented(s, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_motion_boundary_select(s))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
selects = select.sub_selects(config, parent=hub)
|
||||
await selects(
|
||||
CONF_SCENE_MODE,
|
||||
hub.set_scene_mode_select,
|
||||
options=["None", "Living Room", "Bedroom", "Washroom", "Area Detection"],
|
||||
)
|
||||
await selects(
|
||||
CONF_UNMAN_TIME,
|
||||
hub.set_unman_time_select,
|
||||
options=[
|
||||
"None",
|
||||
"10s",
|
||||
"30s",
|
||||
"1min",
|
||||
"2min",
|
||||
"5min",
|
||||
"10min",
|
||||
"30min",
|
||||
"60min",
|
||||
],
|
||||
)
|
||||
await selects(
|
||||
CONF_EXISTENCE_BOUNDARY,
|
||||
hub.set_existence_boundary_select,
|
||||
options=[
|
||||
"0.5m",
|
||||
"1.0m",
|
||||
"1.5m",
|
||||
"2.0m",
|
||||
"2.5m",
|
||||
"3.0m",
|
||||
"3.5m",
|
||||
"4.0m",
|
||||
"4.5m",
|
||||
"5.0m",
|
||||
],
|
||||
)
|
||||
await selects(
|
||||
CONF_MOTION_BOUNDARY,
|
||||
hub.set_motion_boundary_select,
|
||||
options=[
|
||||
"0.5m",
|
||||
"1.0m",
|
||||
"1.5m",
|
||||
"2.0m",
|
||||
"2.5m",
|
||||
"3.0m",
|
||||
"3.5m",
|
||||
"4.0m",
|
||||
"4.5m",
|
||||
"5.0m",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -62,27 +62,18 @@ CONFIG_SCHEMA = cv.Schema(
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if custompresenceofdetection_config := config.get(
|
||||
CONF_CUSTOM_PRESENCE_OF_DETECTION
|
||||
):
|
||||
sens = await sensor.new_sensor(custompresenceofdetection_config)
|
||||
cg.add(mr24hpc1_component.set_custom_presence_of_detection_sensor(sens))
|
||||
if movementsigns_config := config.get(CONF_MOVEMENT_SIGNS):
|
||||
sens = await sensor.new_sensor(movementsigns_config)
|
||||
cg.add(mr24hpc1_component.set_movement_signs_sensor(sens))
|
||||
if custommotiondistance_config := config.get(CONF_CUSTOM_MOTION_DISTANCE):
|
||||
sens = await sensor.new_sensor(custommotiondistance_config)
|
||||
cg.add(mr24hpc1_component.set_custom_motion_distance_sensor(sens))
|
||||
if customspatialstaticvalue_config := config.get(CONF_CUSTOM_SPATIAL_STATIC_VALUE):
|
||||
sens = await sensor.new_sensor(customspatialstaticvalue_config)
|
||||
cg.add(mr24hpc1_component.set_custom_spatial_static_value_sensor(sens))
|
||||
if customspatialmotionvalue_config := config.get(CONF_CUSTOM_SPATIAL_MOTION_VALUE):
|
||||
sens = await sensor.new_sensor(customspatialmotionvalue_config)
|
||||
cg.add(mr24hpc1_component.set_custom_spatial_motion_value_sensor(sens))
|
||||
if custommotionspeed_config := config.get(CONF_CUSTOM_MOTION_SPEED):
|
||||
sens = await sensor.new_sensor(custommotionspeed_config)
|
||||
cg.add(mr24hpc1_component.set_custom_motion_speed_sensor(sens))
|
||||
if custommodenum_config := config.get(CONF_CUSTOM_MODE_NUM):
|
||||
sens = await sensor.new_sensor(custommodenum_config)
|
||||
cg.add(mr24hpc1_component.set_custom_mode_num_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
sensors = sensor.sub_sensors(config)
|
||||
await sensors(
|
||||
CONF_CUSTOM_PRESENCE_OF_DETECTION, hub.set_custom_presence_of_detection_sensor
|
||||
)
|
||||
await sensors(CONF_MOVEMENT_SIGNS, hub.set_movement_signs_sensor)
|
||||
await sensors(CONF_CUSTOM_MOTION_DISTANCE, hub.set_custom_motion_distance_sensor)
|
||||
await sensors(
|
||||
CONF_CUSTOM_SPATIAL_STATIC_VALUE, hub.set_custom_spatial_static_value_sensor
|
||||
)
|
||||
await sensors(
|
||||
CONF_CUSTOM_SPATIAL_MOTION_VALUE, hub.set_custom_spatial_motion_value_sensor
|
||||
)
|
||||
await sensors(CONF_CUSTOM_MOTION_SPEED, hub.set_custom_motion_speed_sensor)
|
||||
await sensors(CONF_CUSTOM_MODE_NUM, hub.set_custom_mode_num_sensor)
|
||||
|
||||
@@ -24,8 +24,8 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if underlying_open_function_config := config.get(CONF_UNDERLYING_OPEN_FUNCTION):
|
||||
s = await switch.new_switch(underlying_open_function_config)
|
||||
await cg.register_parented(s, config[CONF_MR24HPC1_ID])
|
||||
cg.add(mr24hpc1_component.set_underlying_open_function_switch(s))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
switches = switch.sub_switches(config, parent=hub)
|
||||
await switches(
|
||||
CONF_UNDERLYING_OPEN_FUNCTION, hub.set_underlying_open_function_switch
|
||||
)
|
||||
|
||||
@@ -49,28 +49,13 @@ CONFIG_SCHEMA = {
|
||||
|
||||
|
||||
async def to_code(config: ConfigType) -> None:
|
||||
mr24hpc1_component = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
if heartbeat_config := config.get(CONF_HEART_BEAT):
|
||||
sens = await text_sensor.new_text_sensor(heartbeat_config)
|
||||
cg.add(mr24hpc1_component.set_heartbeat_state_text_sensor(sens))
|
||||
if productmodel_config := config.get(CONF_PRODUCT_MODEL):
|
||||
sens = await text_sensor.new_text_sensor(productmodel_config)
|
||||
cg.add(mr24hpc1_component.set_product_model_text_sensor(sens))
|
||||
if productid_config := config.get(CONF_PRODUCT_ID):
|
||||
sens = await text_sensor.new_text_sensor(productid_config)
|
||||
cg.add(mr24hpc1_component.set_product_id_text_sensor(sens))
|
||||
if hardwaremodel_config := config.get(CONF_HARDWARE_MODEL):
|
||||
sens = await text_sensor.new_text_sensor(hardwaremodel_config)
|
||||
cg.add(mr24hpc1_component.set_hardware_model_text_sensor(sens))
|
||||
if firwareversion_config := config.get(CONF_HARDWARE_VERSION):
|
||||
sens = await text_sensor.new_text_sensor(firwareversion_config)
|
||||
cg.add(mr24hpc1_component.set_firware_version_text_sensor(sens))
|
||||
if keepaway_config := config.get(CONF_KEEP_AWAY):
|
||||
sens = await text_sensor.new_text_sensor(keepaway_config)
|
||||
cg.add(mr24hpc1_component.set_keep_away_text_sensor(sens))
|
||||
if motionstatus_config := config.get(CONF_MOTION_STATUS):
|
||||
sens = await text_sensor.new_text_sensor(motionstatus_config)
|
||||
cg.add(mr24hpc1_component.set_motion_status_text_sensor(sens))
|
||||
if custommodeend_config := config.get(CONF_CUSTOM_MODE_END):
|
||||
sens = await text_sensor.new_text_sensor(custommodeend_config)
|
||||
cg.add(mr24hpc1_component.set_custom_mode_end_text_sensor(sens))
|
||||
hub = await cg.get_variable(config[CONF_MR24HPC1_ID])
|
||||
text_sensors = text_sensor.sub_text_sensors(config)
|
||||
await text_sensors(CONF_HEART_BEAT, hub.set_heartbeat_state_text_sensor)
|
||||
await text_sensors(CONF_PRODUCT_MODEL, hub.set_product_model_text_sensor)
|
||||
await text_sensors(CONF_PRODUCT_ID, hub.set_product_id_text_sensor)
|
||||
await text_sensors(CONF_HARDWARE_MODEL, hub.set_hardware_model_text_sensor)
|
||||
await text_sensors(CONF_HARDWARE_VERSION, hub.set_firware_version_text_sensor)
|
||||
await text_sensors(CONF_KEEP_AWAY, hub.set_keep_away_text_sensor)
|
||||
await text_sensors(CONF_MOTION_STATUS, hub.set_motion_status_text_sensor)
|
||||
await text_sensors(CONF_CUSTOM_MODE_END, hub.set_custom_mode_end_text_sensor)
|
||||
|
||||
Reference in New Issue
Block a user