import esphome.codegen as cg import esphome.config_validation as cv from esphome.components import fan, output from . import ( HAUSLANE_SCHEMA, CONF_HAUSLANE_ID, HauslaneChild, hauslane_ns, ) DEPENDENCIES = ["hauslane"] HauslaneFan = hauslane_ns.class_( "HauslaneFan", fan.Fan, HauslaneChild ) CONFIG_SCHEMA = ( fan.fan_schema(SpeedFan).extend({ cv.GenerateID(CONF_OUTPUT_ID): cv.declare_id(HauslaneFan), }) .extend(HAUSLANE_SCHEMA) ) async def to_code(config): var = await fan.new_fan(config) paren = await cg.get_variable(config[CONF_HAUSLANE_ID]) cg.add(var.set_parent(paren)) cg.add(var.setup())