mirror of
https://github.com/esphome/esphome.git
synced 2025-09-15 17:52:19 +01:00
Convert components to async-def syntax (#1823)
* Convert components to async-def syntax * Remove stray @coroutine * Manual part * Convert complexer components code to async-def * Manual cleanup * More manual cleanup
This commit is contained in:
@@ -214,18 +214,18 @@ def sensor_schema(
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("offset", OffsetFilter, cv.float_)
|
||||
def offset_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config)
|
||||
async def offset_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("multiply", MultiplyFilter, cv.float_)
|
||||
def multiply_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config)
|
||||
async def multiply_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("filter_out", FilterOutValueFilter, cv.float_)
|
||||
def filter_out_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config)
|
||||
async def filter_out_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config)
|
||||
|
||||
|
||||
MEDIAN_SCHEMA = cv.All(
|
||||
@@ -241,8 +241,8 @@ MEDIAN_SCHEMA = cv.All(
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("median", MedianFilter, MEDIAN_SCHEMA)
|
||||
def median_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(
|
||||
async def median_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(
|
||||
filter_id,
|
||||
config[CONF_WINDOW_SIZE],
|
||||
config[CONF_SEND_EVERY],
|
||||
@@ -263,8 +263,8 @@ MIN_SCHEMA = cv.All(
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("min", MinFilter, MIN_SCHEMA)
|
||||
def min_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(
|
||||
async def min_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(
|
||||
filter_id,
|
||||
config[CONF_WINDOW_SIZE],
|
||||
config[CONF_SEND_EVERY],
|
||||
@@ -285,8 +285,8 @@ MAX_SCHEMA = cv.All(
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("max", MaxFilter, MAX_SCHEMA)
|
||||
def max_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(
|
||||
async def max_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(
|
||||
filter_id,
|
||||
config[CONF_WINDOW_SIZE],
|
||||
config[CONF_SEND_EVERY],
|
||||
@@ -311,8 +311,8 @@ SLIDING_AVERAGE_SCHEMA = cv.All(
|
||||
SlidingWindowMovingAverageFilter,
|
||||
SLIDING_AVERAGE_SCHEMA,
|
||||
)
|
||||
def sliding_window_moving_average_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(
|
||||
async def sliding_window_moving_average_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(
|
||||
filter_id,
|
||||
config[CONF_WINDOW_SIZE],
|
||||
config[CONF_SEND_EVERY],
|
||||
@@ -330,52 +330,52 @@ def sliding_window_moving_average_filter_to_code(config, filter_id):
|
||||
}
|
||||
),
|
||||
)
|
||||
def exponential_moving_average_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config[CONF_ALPHA], config[CONF_SEND_EVERY])
|
||||
async def exponential_moving_average_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config[CONF_ALPHA], config[CONF_SEND_EVERY])
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("lambda", LambdaFilter, cv.returning_lambda)
|
||||
def lambda_filter_to_code(config, filter_id):
|
||||
lambda_ = yield cg.process_lambda(
|
||||
async def lambda_filter_to_code(config, filter_id):
|
||||
lambda_ = await cg.process_lambda(
|
||||
config, [(float, "x")], return_type=cg.optional.template(float)
|
||||
)
|
||||
yield cg.new_Pvariable(filter_id, lambda_)
|
||||
return cg.new_Pvariable(filter_id, lambda_)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("delta", DeltaFilter, cv.float_)
|
||||
def delta_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config)
|
||||
async def delta_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register("or", OrFilter, validate_filters)
|
||||
def or_filter_to_code(config, filter_id):
|
||||
filters = yield build_filters(config)
|
||||
yield cg.new_Pvariable(filter_id, filters)
|
||||
async def or_filter_to_code(config, filter_id):
|
||||
filters = await build_filters(config)
|
||||
return cg.new_Pvariable(filter_id, filters)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register(
|
||||
"throttle", ThrottleFilter, cv.positive_time_period_milliseconds
|
||||
)
|
||||
def throttle_filter_to_code(config, filter_id):
|
||||
yield cg.new_Pvariable(filter_id, config)
|
||||
async def throttle_filter_to_code(config, filter_id):
|
||||
return cg.new_Pvariable(filter_id, config)
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register(
|
||||
"heartbeat", HeartbeatFilter, cv.positive_time_period_milliseconds
|
||||
)
|
||||
def heartbeat_filter_to_code(config, filter_id):
|
||||
async def heartbeat_filter_to_code(config, filter_id):
|
||||
var = cg.new_Pvariable(filter_id, config)
|
||||
yield cg.register_component(var, {})
|
||||
yield var
|
||||
await cg.register_component(var, {})
|
||||
return var
|
||||
|
||||
|
||||
@FILTER_REGISTRY.register(
|
||||
"debounce", DebounceFilter, cv.positive_time_period_milliseconds
|
||||
)
|
||||
def debounce_filter_to_code(config, filter_id):
|
||||
async def debounce_filter_to_code(config, filter_id):
|
||||
var = cg.new_Pvariable(filter_id, config)
|
||||
yield cg.register_component(var, {})
|
||||
yield var
|
||||
await cg.register_component(var, {})
|
||||
return var
|
||||
|
||||
|
||||
def validate_not_all_from_same(config):
|
||||
@@ -394,11 +394,11 @@ def validate_not_all_from_same(config):
|
||||
cv.ensure_list(validate_datapoint), cv.Length(min=2), validate_not_all_from_same
|
||||
),
|
||||
)
|
||||
def calibrate_linear_filter_to_code(config, filter_id):
|
||||
async def calibrate_linear_filter_to_code(config, filter_id):
|
||||
x = [conf[CONF_FROM] for conf in config]
|
||||
y = [conf[CONF_TO] for conf in config]
|
||||
k, b = fit_linear(x, y)
|
||||
yield cg.new_Pvariable(filter_id, k, b)
|
||||
return cg.new_Pvariable(filter_id, k, b)
|
||||
|
||||
|
||||
CONF_DATAPOINTS = "datapoints"
|
||||
@@ -430,7 +430,7 @@ def validate_calibrate_polynomial(config):
|
||||
validate_calibrate_polynomial,
|
||||
),
|
||||
)
|
||||
def calibrate_polynomial_filter_to_code(config, filter_id):
|
||||
async def calibrate_polynomial_filter_to_code(config, filter_id):
|
||||
x = [conf[CONF_FROM] for conf in config[CONF_DATAPOINTS]]
|
||||
y = [conf[CONF_TO] for conf in config[CONF_DATAPOINTS]]
|
||||
degree = config[CONF_DEGREE]
|
||||
@@ -438,7 +438,7 @@ def calibrate_polynomial_filter_to_code(config, filter_id):
|
||||
# Column vector
|
||||
b = [[v] for v in y]
|
||||
res = [v[0] for v in _lstsq(a, b)]
|
||||
yield cg.new_Pvariable(filter_id, res)
|
||||
return cg.new_Pvariable(filter_id, res)
|
||||
|
||||
|
||||
async def build_filters(config):
|
||||
|
Reference in New Issue
Block a user