mirror of
https://github.com/esphome/esphome.git
synced 2025-03-13 22:28:14 +00:00
Refactore ppd42x.py
This commit is contained in:
parent
422daeb0ab
commit
3f867afbc7
@ -35,21 +35,11 @@ def validate_PPD42X_sensors(value):
|
||||
return value
|
||||
|
||||
|
||||
PPD42X_SENSOR_SCHEMA = sensor.SENSOR_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_variable_id(PPD42XSensor),
|
||||
vol.Required(CONF_NAME): cv.string,
|
||||
vol.Required(CONF_PIN): pins.gpio_input_pin_schema,
|
||||
})
|
||||
|
||||
PLATFORM_SCHEMA = cv.nameable(sensor.PLATFORM_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_variable_id(PPD42XComponent),
|
||||
vol.Required(CONF_TYPE): cv.one_of(*PPD42X_TYPES, upper=True),
|
||||
vol.Optional(CONF_PM_2_5): sensor.SENSOR_SCHEMA.extend({
|
||||
cv.GenerateID(): cv.declare_variable_id(PPD42XSensor),
|
||||
vol.Required(CONF_NAME): cv.string,
|
||||
vol.Required(CONF_PIN): pins.gpio_input_pin_schema,
|
||||
}),
|
||||
vol.Optional(CONF_PM_10_0): cv.nameable(PPD42X_SENSOR_SCHEMA),
|
||||
vol.Optional(CONF_PM_2_5): pins.gpio_input_pin_schema,
|
||||
vol.Optional(CONF_PM_10_0): pins.gpio_input_pin_schema,
|
||||
vol.Optional(CONF_UPDATE_INTERVAL): cv.update_interval,
|
||||
vol.Optional(CONF_TIMEOUT): cv.positive_time_period_microseconds,
|
||||
}).extend(cv.COMPONENT_SCHEMA.schema), cv.has_at_least_one_key(*SENSORS_TO_TYPE))
|
||||
@ -59,13 +49,11 @@ def to_code(config):
|
||||
rhs = App.make_ppd42x(PPD42X_TYPES[config[CONF_TYPE]])
|
||||
ppd = Pvariable(config[CONF_ID], rhs)
|
||||
if CONF_PM_2_5 in config:
|
||||
conf_02_5 = config[CONF_PM_2_5]
|
||||
for pm_02_5 in get_variable(conf_02_5.get(CONF_PIN)):
|
||||
for pm_02_5 in get_variable(config.get(CONF_PIN)):
|
||||
yield
|
||||
sensor.register_sensor(ppd.make_pm_02_5_sensor(conf_02_5[CONF_NAME]), pm_02_5)
|
||||
if CONF_PM_10_0 in config:
|
||||
conf_10_0 = config[CONF_PM_10_0]
|
||||
for pm_10_0 in get_variable(conf_10_0[CONF_PIN]):
|
||||
for pm_10_0 in get_variable(config.get(CONF_PIN):
|
||||
yield
|
||||
sensor.register_sensor(ppd.make_pm_10_0_sensor(conf_10_0[CONF_NAME]), pm_10_0)
|
||||
setup_component(ppd, config)
|
||||
|
Loading…
x
Reference in New Issue
Block a user