First time new platform

My first time creating a platform/service for HA and I was wondering if some folks might have a minute to rip apart my commit? Its mostly based off code snippets from other platforms but, I’m pretty sure they may have become outdated with the current HA best-practices so I was hoping to get some advice before I get to making a pull request (still a ways from there I think).