If you're looking to program this stuff yourself, node-red (nodered.org) is a good place to start. You can run it on raspberry pi or beaglebone, in addition to any desktop platform. Its a browser based programming environment that allows you to interface pretty much anything to anything. There are all sorts of built in nodes for all of the big names in IoT, like Hue, Wemo, Insteon, etc. There's also a ton of networking protocols built in. Additionally, you can access the shell, which means you can have it run any program/script/whatever you have local to your machine.
The end result is that it's every simple to do stuff like make make GPIO changes trigger SMS/email/Push/HTTP etc, as well as the inverse, have network traffic change the state of GPIO.
Best of all, its all javascript, so it should be very easy for most HNers to get started.