Re: Voice recognition - I guess it depends on how its done. We have a voice recognition feature in our IDRATEK Cortex software. Its a feature that is available as part of the basic core license because we feel that its something that is fun but not so reliable for serious use. The underlying technology is SAPI5 which means part of the reliability depends on the SAPI5 recognition engine that you use. There are some free ones such as M. Soft's own but I'm sure better results may be obtained via others suited to a dialect and, as indicated by others, when trained. Getting suitable audio to the speech engine is the next hurdle. In our system audio can be delivered from the microphones in our panel type modules and via the IDRANet audio bus, but it would be possible to use a standard mic routed to the PC. In our past experience the panels perform better because they have automatic gain adjustment and human voice tends to be 'more powerful' than say a TV at subjectively similar loudness level, meaning that voice could be picked up well enough even a few meters away from a given panel. So it maybe that a mic with pre-amplification might work better or indeed it can depend very much on the audio card in the PC itself.
Background noise is of course a big problem. There are various ways to mitigate this. Improve the voice to background ratio is an obvious one e.g mic with low gain close to mouth but then you have to carry the mic with you or have it close to hand. Famously remember a demo of a million pound automation project some years back by a well known phone company where a chap with a complete headset commanded his bath to fill up - the sort of thing that gives home automation a bad name. However the use of something like a smart phone mic e.g via Siri (in which case also different voice recognition technology) or otherwise might these days be not so impractical. We found that voice recognition using PC telephony speech engines with audio via a telephone modem was much more reliable - because the bandwidth is limited and the person has a mic next to their mouth. But not really very practical to have to call your PC unless you are already outside the house. And to be honest, by the time you've fiddled with buttons you might as well have just used a touch screen system interface.
Another thing is to limit the vocabulary which the recogniser has to understand and choose words that are as distinctive sounding as possible. Ideally recognition would be on all the time just waiting for a key phrase. I haven't kept up with the technology so I don't know how well this works these days but from past experience it wasn't too good, with some engines actually adapting themselves to the background noise such that they didn't recognise you too well next time around.
For situations where you need to interact with the automation system (which at IDRATEK we of course are always striving to minimise) I do think reliable open room voice recognition would be great. I'm sure it'll get there sooner or later but for the time being I guess buttons, touch screens and the like will have to suffice - or maybe someone will tell me otherwise..