1
0
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:
Otto Winter
2021-05-24 21:45:31 +02:00
committed by GitHub
parent 93d9d4b50a
commit a33bb32874
60 changed files with 592 additions and 633 deletions

View File

@@ -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):