So I'm a big fan of IoT, (Internet of Things), and over the last couple of years have done various things to my house to enhance my living environment. The main things been introduction of Tado controls to the central heating and hot water system so I can control that remotely and the addition of a few Belkin WeMo electrical sockets and their movement sensor. I have also added a LIFX wireless bulb for the front of the house that is remotely controllable.
The big advantage of most of these things is that they can be connected together using the IFTTT service so there's a certain amount of logic that can be controlled when each device is used.
However the biggest problem with the whole IOT environment currently is that there is no universal "glue". A certain amount of things can be done outside the appointed IFTTT channels by using their maker channel which sends a web hook off into the cloud and you can invoke another service, just by using this more freehand way of doing stuff. However the big issue is that currently there is no central home hub that somehow pulls all of the stuff together. If there is an API available, with a number of these devices I have also created proprietary Windows apps in C# to make them do stuff that is of more use to me.