Anything that talks to nearby devices via the internet is defective (by design?)
Sure it takes away the problems of “How do I adjust my thermostat from anywhere in the world?” by treating you like you are anywhere in the world at all times, but it also means that there has to be an internet-facing server to talk to you so you can talk to your devices. See above for one of the possible outcomes there.
It’s open source, runs on a Raspberry Pi (or practically anything else), and talks to pretty much any sort of device you might want to.
They also seem to have a cloud service to give you access to your devices without having to set up a VPN (not the kind they sell in the BB store.)
I’ve set it up on a Pi2 with a Z-Wave stick and I’ve got it working with a simple switch as well as a Z-Wave thermostat.
I’ll admit, this is way harder than purchasing something off the shelf and just plugging it all in. The documentation is not great, but there’s a good community around it and it seems to be a fairly active project.