parameters: (self, user_input=None)
return_statement: return self.async_show_form(
              step_id="user", data_schema=DATA_SCHEMA, errors=errors
          )
docstring: Handle the initial step.
docstring_summary: Handle the initial step.
docstring_tokens: Handle the initial step .
function: async def async_step_user(self, user_input=None):
          """Handle the initial step."""
          errors = {}
          if user_input is not None:
              try:
                  info = await validate_input(self.hass, user_input)
  
                  return self.async_create_entry(title=info["title"], data=user_input)
              except CannotConnect:
                  errors["base"] = "cannot_connect"
              except InvalidAuth:
                  errors["base"] = "invalid_auth"
              except Exception:  # pylint: disable=broad-except
                  _LOGGER.exception("Unexpected exception")
                  errors["base"] = "unknown"
  
          return self.async_show_form(
              step_id="user", data_schema=DATA_SCHEMA, errors=errors
          )
function_tokens: async def async_step_user ( self , user_input = None ) : errors = { } if user_input is not None : try : info = await validate_input ( self . hass , user_input ) return self . async_create_entry ( title = info [ "title" ] , data = user_input ) except CannotConnect : errors [ "base" ] = "cannot_connect" except InvalidAuth : errors [ "base" ] = "invalid_auth" except Exception : # pylint: disable=broad-except _LOGGER . exception ( "Unexpected exception" ) errors [ "base" ] = "unknown" return self . async_show_form ( step_id = "user" , data_schema = DATA_SCHEMA , errors = errors )