[bmi160][mpu6050][mpu6886][mlx90614][max31855] Use the sub_* helpers for optional child entities (#20042)

This commit is contained in:
J. Nick Koston
2026-10-02 14:29:14 -04:00
committed by GitHub
parent 7169c0c930
commit ba9d54b8ad
5 changed files with 29 additions and 50 deletions
+8 -13
View File
@@ -88,16 +88,11 @@ async def to_code(config: ConfigType) -> None:
await cg.register_component(var, config)
await i2c.register_i2c_device(var, config)
for d in ["x", "y", "z"]:
accel_key = f"acceleration_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_accel_{d}_sensor")(sens))
accel_key = f"gyroscope_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_gyro_{d}_sensor")(sens))
if CONF_TEMPERATURE in config:
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
cg.add(var.set_temperature_sensor(sens))
sensors = sensor.sub_sensors(config)
await sensors(CONF_ACCELERATION_X, var.set_accel_x_sensor)
await sensors(CONF_GYROSCOPE_X, var.set_gyro_x_sensor)
await sensors(CONF_ACCELERATION_Y, var.set_accel_y_sensor)
await sensors(CONF_GYROSCOPE_Y, var.set_gyro_y_sensor)
await sensors(CONF_ACCELERATION_Z, var.set_accel_z_sensor)
await sensors(CONF_GYROSCOPE_Z, var.set_gyro_z_sensor)
await sensors(CONF_TEMPERATURE, var.set_temperature_sensor)
+2 -3
View File
@@ -41,6 +41,5 @@ async def to_code(config: ConfigType) -> None:
var = await sensor.new_sensor(config)
await cg.register_component(var, config)
await spi.register_spi_device(var, config)
if CONF_REFERENCE_TEMPERATURE in config:
tc_ref = await sensor.new_sensor(config[CONF_REFERENCE_TEMPERATURE])
cg.add(var.set_reference_sensor(tc_ref))
sensors = sensor.sub_sensors(config)
await sensors(CONF_REFERENCE_TEMPERATURE, var.set_reference_sensor)
+3 -8
View File
@@ -53,12 +53,7 @@ async def to_code(config: ConfigType) -> None:
await cg.register_component(var, config)
await i2c.register_i2c_device(var, config)
if CONF_AMBIENT in config:
sens = await sensor.new_sensor(config[CONF_AMBIENT])
cg.add(var.set_ambient_sensor(sens))
if CONF_OBJECT in config:
sens = await sensor.new_sensor(config[CONF_OBJECT])
cg.add(var.set_object_sensor(sens))
sensors = sensor.sub_sensors(config)
await sensors(CONF_AMBIENT, var.set_ambient_sensor)
if await sensors(CONF_OBJECT, var.set_object_sensor):
cg.add(var.set_emissivity(config[CONF_OBJECT][CONF_EMISSIVITY]))
+8 -13
View File
@@ -70,16 +70,11 @@ async def to_code(config: ConfigType) -> None:
await cg.register_component(var, config)
await i2c.register_i2c_device(var, config)
for d in ["x", "y", "z"]:
accel_key = f"accel_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_accel_{d}_sensor")(sens))
accel_key = f"gyro_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_gyro_{d}_sensor")(sens))
if CONF_TEMPERATURE in config:
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
cg.add(var.set_temperature_sensor(sens))
sensors = sensor.sub_sensors(config)
await sensors(CONF_ACCEL_X, var.set_accel_x_sensor)
await sensors(CONF_GYRO_X, var.set_gyro_x_sensor)
await sensors(CONF_ACCEL_Y, var.set_accel_y_sensor)
await sensors(CONF_GYRO_Y, var.set_gyro_y_sensor)
await sensors(CONF_ACCEL_Z, var.set_accel_z_sensor)
await sensors(CONF_GYRO_Z, var.set_gyro_z_sensor)
await sensors(CONF_TEMPERATURE, var.set_temperature_sensor)
+8 -13
View File
@@ -71,16 +71,11 @@ async def to_code(config: ConfigType) -> None:
await cg.register_component(var, config)
await i2c.register_i2c_device(var, config)
for d in ["x", "y", "z"]:
accel_key = f"accel_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_accel_{d}_sensor")(sens))
accel_key = f"gyro_{d}"
if accel_key in config:
sens = await sensor.new_sensor(config[accel_key])
cg.add(getattr(var, f"set_gyro_{d}_sensor")(sens))
if CONF_TEMPERATURE in config:
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
cg.add(var.set_temperature_sensor(sens))
sensors = sensor.sub_sensors(config)
await sensors(CONF_ACCEL_X, var.set_accel_x_sensor)
await sensors(CONF_GYRO_X, var.set_gyro_x_sensor)
await sensors(CONF_ACCEL_Y, var.set_accel_y_sensor)
await sensors(CONF_GYRO_Y, var.set_gyro_y_sensor)
await sensors(CONF_ACCEL_Z, var.set_accel_z_sensor)
await sensors(CONF_GYRO_Z, var.set_gyro_z_sensor)
await sensors(CONF_TEMPERATURE, var.set_temperature_sensor)