import esphome.codegen as cg import esphome.config_validation as cv from esphome import pins from esphome.components import uart from esphome.const import ( CONF_ID ) CODEOWNERS = ["@nbsgames"] DEPENDENCIES=["uart"] hoermann_door_ns = cg.esphome_ns.namespace('hoermann_door') HoermannDoor = hoermann_door_ns.class_('HoermannMainComponent', cg.Component) CONF_UART_ENTRY = "uart_connection" CONF_TX_PIN = "tx_pin" def validate_config(config): return config CONFIG_SCHEMA = cv.All( cv.COMPONENT_SCHEMA.extend({ cv.GenerateID(): cv.declare_id(HoermannDoor), cv.Required(CONF_UART_ENTRY): cv.use_id(uart.UARTComponent), cv.Required(CONF_TX_PIN): pins.internal_gpio_output_pin_schema, }), validate_config ) async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) #yield mqtt.register_mqtt_component(var, config) #btnReset = yield cg.gpio_pin_expression(config[CONF_SENSOR_PIN]) #cg.add(var.set_input_pin(btnReset)) code = await cg.get_variable(config[CONF_UART_ENTRY]) cg.add(var.set_seriel_connection(code)) code2 = await cg.gpio_pin_expression(config[CONF_TX_PIN]) cg.add(var.set_tx_on_pin(code2)) # Needs be configured before sensor