It'd be great if you could convince the folks over at Kwikset to change their API, or for that matter even release a public API instead of leading me to have to reverse engineer what their app and website do. However, I don't think that's going to happen. So I decided to build something to make it work and distribute it free to the community, further adding value to HE and theoretically more sales for you guys since you have more devices you integrate with. I'm just asking for better tools to help you expand your platform as a developer.
Yes, it is viable. But "viable" and "good" aren't always the same. Making the code synchronous makes it consume more resources since it's now a blocking operation on something that is inherently non-blocking. Every OS built in the last 30 years (Including whatever flavor of Linux HE is based on) are designed to have network IO be a non-blocking operation. From my standpoint, I do kind of wonder, when I and others have had to do things like this in our code, is the decisions I'm making that make me cringe as a developer, is this why I experience so many hub slowdowns that make me have to reboot my hub nightly? Maybe not, but it definitely could be. If I were building my own piece of software, not within HE, I'd be making as much of it asynchronous as possible.
While that's certainly your call for your platform, as a developer trying to expand the footprint of your platform (I've now built and published integrations for Kevo, HEOS, BOND, Kohler DTV+ as well as several apps people seem to find useful), along with some of the other developers on this thread asking for better tools, I can say it's a little disappointing. Something I've learned in various markets, and I think home automation is one of them, people buy because of the ecosystem that is built up around the hub, not the hub itself. All of the integrations, apps, and device drivers others build are a major reason people choose a platform. There is value in giving developers the tools their looking for since they help expand your platform for you, and best of all, you never even have to give us a single dollar! The biggest thing that made me pause when switching from ST to HE was the realization that a lot of things I had working with ST because others had already built device integrations were things I was going to have to build myself for HE. As a developer, I was good with doing that. Others who aren't developers though may have just gone elsewhere.