Haven't had sex in over 2 years

I been with my boyfriend for almost 4 years. We moved in really quick approximately 4 months after we meet. Everything was good the first 2 years I can say however I continued to go out with friends and club, bar etc. Aka get drunk. He's a business man and does not drink or smoke cigarettes, I do. So that's always been kind of between us. So we have not had sex for 2 years and he says because he's not attracted to someone who drinks or smokes. I have left the house to set him free and away from me, but he still calls me to come back, so I do. He swears to me he's never cheated on me and I've never caught him or nothing in that nature however, he did tell me he watches porn. And that was so hurtful to me. Like I took it like cheating. So idk what to do so he can be attracted to me again. I don't even know if we are just roommates. If we are I mean he pays all my bills, I work but he tells me that money is for me and my expenses. So when it comes to the holidays also he has not been going to my family events because he says we are not in a right space right now so he can't be part of that until we are in a good space.

What do I do ladies pleases advise.

Thank you in advance

Xoxo