7import esphome.codegen
as cg
8from esphome.components
import button
9import esphome.config_validation
as cv
10from esphome.const
import CONF_ID, ENTITY_CATEGORY_CONFIG
12from .
import home_io_control_ns, IOHomeControlComponent, CONF_HOME_IO_CONTROL_ID
14DEPENDENCIES = [
"home_io_control"]
16IOHomeDiscoverButton = home_io_control_ns.class_(
17 "IOHomeDiscoverButton", button.Button, cg.Component
23 entity_category=ENTITY_CATEGORY_CONFIG,
27 cv.GenerateID(CONF_HOME_IO_CONTROL_ID): cv.use_id(
28 IOHomeControlComponent
32 .extend(cv.COMPONENT_SCHEMA)
37 var = cg.new_Pvariable(config[CONF_ID])
38 await cg.register_component(var, config)
39 await button.register_button(var, config)
41 parent = await cg.get_variable(config[CONF_HOME_IO_CONTROL_ID])
42 cg.add(var.set_parent(parent))