1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-02 01:52:21 +01:00

Remove EntityBase from sprinkler (#4606)

* Remove EntityBase form sprinkler

* remove unneeded method

* Set name correctly
Move some timers to `setup` that rely on this->name_

* Fix SprinklerControllerSwitch setup

* Update esphome/components/sprinkler/__init__.py

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

---------

Co-authored-by: Samuel Sieb <samuel-github@sieb.net>
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
Jesse Hills
2023-03-22 20:35:16 +13:00
committed by GitHub
parent d70e7da0ef
commit d52e425ba2
3 changed files with 27 additions and 34 deletions

View File

@@ -330,6 +330,7 @@ SPRINKLER_VALVE_SCHEMA = cv.Schema(
SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
{
cv.GenerateID(): cv.declare_id(Sprinkler),
cv.Optional(CONF_NAME): cv.string,
cv.Optional(CONF_AUTO_ADVANCE_SWITCH): cv.maybe_simple_value(
switch.switch_schema(
SprinklerControllerSwitch, entity_category=ENTITY_CATEGORY_CONFIG
@@ -424,7 +425,8 @@ SPRINKLER_CONTROLLER_SCHEMA = cv.Schema(
): cv.positive_time_period_seconds,
cv.Required(CONF_VALVES): cv.ensure_list(SPRINKLER_VALVE_SCHEMA),
}
).extend(cv.ENTITY_BASE_SCHEMA)
).extend(cv.COMPONENT_SCHEMA)
CONFIG_SCHEMA = cv.All(
cv.ensure_list(SPRINKLER_CONTROLLER_SCHEMA),
@@ -559,16 +561,19 @@ async def sprinkler_simple_action_to_code(config, action_id, template_arg, args)
async def to_code(config):
for sprinkler_controller in config:
if len(sprinkler_controller[CONF_VALVES]) > 1:
var = cg.new_Pvariable(
sprinkler_controller[CONF_ID],
sprinkler_controller[CONF_MAIN_SWITCH][CONF_NAME],
)
var = cg.new_Pvariable(sprinkler_controller[CONF_ID])
if CONF_NAME in sprinkler_controller:
cg.add(var.set_name(sprinkler_controller[CONF_NAME]))
else:
var = cg.new_Pvariable(
sprinkler_controller[CONF_ID],
sprinkler_controller[CONF_VALVES][0][CONF_VALVE_SWITCH][CONF_NAME],
)
if len(sprinkler_controller[CONF_VALVES]) > 1:
name = sprinkler_controller[CONF_MAIN_SWITCH][CONF_NAME]
else:
name = sprinkler_controller[CONF_VALVES][0][CONF_VALVE_SWITCH][
CONF_NAME
]
cg.add(var.set_name(name))
await cg.register_component(var, sprinkler_controller)
if len(sprinkler_controller[CONF_VALVES]) > 1: