Exciting!!! Much better than my version as I like the non-dependence on the remote servers!
I saw you have an issue with Google assistant, which I managed to solve with mine (see here: Custom components integration with Google Assistant). If I manage to make it work with your code, I’ll send a commit.