My home automation system has been working fairly well for a while now, though not without the occasional light obstinately refusing to turn off despite repeated requests for it to do so. This (I hope) is not so much an issue of any particular affinity for perverseness on the part of my lights but rather a weak radio signal coming from the transmitter I butchered whilst creating the system.
In its current state, this project also suffers from some other not entirely insignificant inconveniences. Firstly, while it's quite nice to be able to turn lights on and off remotely, there are times when it would be much nicer to simply flick a switch. One of the next phases of this project will be to investigate using some cheap 433mhz transceivers as the basis of a physical interface to the system.
There's also a small issue whereby my modem/router won't allow for connections to my external IP from within my local network. A very simple solution to this is to buy a new modem, though that feels too much like giving up to be truly viable. The current, not particularly elegant workaround is to run a local DNS so at least my phone would be directed to my server's internal IP whenever I'm home and connected to wifi. There's always a minute or two's delay while it sorts itself out after connecting to wifi and that's usually the very same minute or two I'd ordinarily like to spend turning on lights so I don't walk into things as I enter my house.
What I'd like to do, now that my web server is happy floating around in the cloud somewhere, is to have a low power server – in all likelihood a Raspberry Pi – as the bridge between the web frontend and the electronics that will drive the various components of the automation system. This not only provides an excellent excuse to play with my RasPi, but will also be quite energy efficient, and importantly means that the interface to which my phone connects will always be accessible via the same IP/domain name.