1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-14 09:12:19 +01:00

Add round sensor filter (#5532)

This commit is contained in:
Jesse Hills
2023-10-14 13:07:23 +13:00
committed by GitHub
parent da3e3903dd
commit 7ddcdab351
3 changed files with 36 additions and 0 deletions

View File

@@ -242,6 +242,7 @@ CalibrateLinearFilter = sensor_ns.class_("CalibrateLinearFilter", Filter)
CalibratePolynomialFilter = sensor_ns.class_("CalibratePolynomialFilter", Filter)
SensorInRangeCondition = sensor_ns.class_("SensorInRangeCondition", Filter)
ClampFilter = sensor_ns.class_("ClampFilter", Filter)
RoundFilter = sensor_ns.class_("RoundFilter", Filter)
validate_unit_of_measurement = cv.string_strict
validate_accuracy_decimals = cv.int_
@@ -702,6 +703,23 @@ async def clamp_filter_to_code(config, filter_id):
)
@FILTER_REGISTRY.register(
"round",
RoundFilter,
cv.maybe_simple_value(
{
cv.Required(CONF_ACCURACY_DECIMALS): cv.uint8_t,
},
key=CONF_ACCURACY_DECIMALS,
),
)
async def round_filter_to_code(config, filter_id):
return cg.new_Pvariable(
filter_id,
config[CONF_ACCURACY_DECIMALS],
)
async def build_filters(config):
return await cg.build_registry_list(FILTER_REGISTRY, config)