[sprinkler] Use number_schema method (#8759)

This commit is contained in:
Jesse Hills 2025-05-13 08:59:42 +12:00 committed by GitHub
parent bdd2774544
commit cff1820772
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,7 +4,6 @@ import esphome.codegen as cg
from esphome.components import number, switch from esphome.components import number, switch
import esphome.config_validation as cv import esphome.config_validation as cv
from esphome.const import ( from esphome.const import (
CONF_ENTITY_CATEGORY,
CONF_ID, CONF_ID,
CONF_INITIAL_VALUE, CONF_INITIAL_VALUE,
CONF_MAX_VALUE, CONF_MAX_VALUE,
@ -296,12 +295,11 @@ SPRINKLER_VALVE_SCHEMA = cv.Schema(
cv.Optional(CONF_PUMP_SWITCH_ID): cv.use_id(switch.Switch), cv.Optional(CONF_PUMP_SWITCH_ID): cv.use_id(switch.Switch),
cv.Optional(CONF_RUN_DURATION): cv.positive_time_period_seconds, cv.Optional(CONF_RUN_DURATION): cv.positive_time_period_seconds,
cv.Optional(CONF_RUN_DURATION_NUMBER): cv.maybe_simple_value( cv.Optional(CONF_RUN_DURATION_NUMBER): cv.maybe_simple_value(
number.NUMBER_SCHEMA.extend( number.number_schema(
SprinklerControllerNumber, entity_category=ENTITY_CATEGORY_CONFIG
)
.extend(
{ {
cv.GenerateID(): cv.declare_id(SprinklerControllerNumber),
cv.Optional(
CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
): cv.entity_category,
cv.Optional(CONF_INITIAL_VALUE, default=900): cv.positive_int, cv.Optional(CONF_INITIAL_VALUE, default=900): cv.positive_int,
cv.Optional(CONF_MAX_VALUE, default=86400): cv.positive_int, cv.Optional(CONF_MAX_VALUE, default=86400): cv.positive_int,
cv.Optional(CONF_MIN_VALUE, default=1): cv.positive_int, cv.Optional(CONF_MIN_VALUE, default=1): cv.positive_int,
@ -314,7 +312,8 @@ SPRINKLER_VALVE_SCHEMA = cv.Schema(
CONF_UNIT_OF_MEASUREMENT, default=UNIT_SECOND CONF_UNIT_OF_MEASUREMENT, default=UNIT_SECOND
): cv.one_of(UNIT_MINUTE, UNIT_SECOND, lower="True"), ): cv.one_of(UNIT_MINUTE, UNIT_SECOND, lower="True"),
} }
).extend(cv.COMPONENT_SCHEMA), )
.extend(cv.COMPONENT_SCHEMA),
validate_min_max, validate_min_max,
key=CONF_NAME, key=CONF_NAME,
), ),
@ -371,12 +370,11 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
cv.Optional(CONF_NEXT_PREV_IGNORE_DISABLED, default=False): cv.boolean, cv.Optional(CONF_NEXT_PREV_IGNORE_DISABLED, default=False): cv.boolean,
cv.Optional(CONF_MANUAL_SELECTION_DELAY): cv.positive_time_period_seconds, cv.Optional(CONF_MANUAL_SELECTION_DELAY): cv.positive_time_period_seconds,
cv.Optional(CONF_MULTIPLIER_NUMBER): cv.maybe_simple_value( cv.Optional(CONF_MULTIPLIER_NUMBER): cv.maybe_simple_value(
number.NUMBER_SCHEMA.extend( number.number_schema(
SprinklerControllerNumber, entity_category=ENTITY_CATEGORY_CONFIG
)
.extend(
{ {
cv.GenerateID(): cv.declare_id(SprinklerControllerNumber),
cv.Optional(
CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
): cv.entity_category,
cv.Optional(CONF_INITIAL_VALUE, default=1): cv.positive_float, cv.Optional(CONF_INITIAL_VALUE, default=1): cv.positive_float,
cv.Optional(CONF_MAX_VALUE, default=10): cv.positive_float, cv.Optional(CONF_MAX_VALUE, default=10): cv.positive_float,
cv.Optional(CONF_MIN_VALUE, default=0): cv.positive_float, cv.Optional(CONF_MIN_VALUE, default=0): cv.positive_float,
@ -386,18 +384,18 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
single=True single=True
), ),
} }
).extend(cv.COMPONENT_SCHEMA), )
.extend(cv.COMPONENT_SCHEMA),
validate_min_max, validate_min_max,
key=CONF_NAME, key=CONF_NAME,
), ),
cv.Optional(CONF_REPEAT): cv.positive_int, cv.Optional(CONF_REPEAT): cv.positive_int,
cv.Optional(CONF_REPEAT_NUMBER): cv.maybe_simple_value( cv.Optional(CONF_REPEAT_NUMBER): cv.maybe_simple_value(
number.NUMBER_SCHEMA.extend( number.number_schema(
SprinklerControllerNumber, entity_category=ENTITY_CATEGORY_CONFIG
)
.extend(
{ {
cv.GenerateID(): cv.declare_id(SprinklerControllerNumber),
cv.Optional(
CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
): cv.entity_category,
cv.Optional(CONF_INITIAL_VALUE, default=0): cv.positive_int, cv.Optional(CONF_INITIAL_VALUE, default=0): cv.positive_int,
cv.Optional(CONF_MAX_VALUE, default=10): cv.positive_int, cv.Optional(CONF_MAX_VALUE, default=10): cv.positive_int,
cv.Optional(CONF_MIN_VALUE, default=0): cv.positive_int, cv.Optional(CONF_MIN_VALUE, default=0): cv.positive_int,
@ -407,7 +405,8 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
single=True single=True
), ),
} }
).extend(cv.COMPONENT_SCHEMA), )
.extend(cv.COMPONENT_SCHEMA),
validate_min_max, validate_min_max,
key=CONF_NAME, key=CONF_NAME,
), ),