Apps and web consoles
I currently control my automated home devices and appliances by OpenRemote panels on my Android tablet, Android phone or via the OpenRemote web console.
Wireless and infra-red remotes
I can also use remote controls such as the LightwaveRF wireless remote control. The version I have can control 16 devices. As I detect messages from this remote control, it is integrated into my home automation system.
My TV and other media equipment infra-red remotes are not integrated. I should either stop using them, or install an IR detector near the media equipment which can update status information when the IR remotes are used. I might try the latter.
It would be good if wall controls were integrated into the system, but unfortunately many devices, including LightwaveRF do not make this easy, as they send out no signal when they change state, and have no interface for querying status.
Do I want touch panels on the walls around the house? I could use old tablets for this. The biggest problem is getting an electricity supply to them.
What other controls should I have?
Some devices can act as automated control. For example opening windows are doors can fire rules that control things. I need to make detection of window switches more reliable before I do much more of this. In general the rules can use the status of everything including the time of day and the weather to automate control.
SMS and email
But what other direct control mechanisms should I have?
I have discussed control via text message. This would allow me to control things when I am out. Is this necessary? I could already use OpenRemote over the mobile data network to do this. Perhaps text messages are more convenient in some circumstances.
Similarly, do I want control by email? I already receive emails for some alerts such as long running appliances starting and finishing. Is there a case for controlling things by email? It would be easy enough to add this to one of my servers. Again it is hard to see why this would be better than using the OpenRemote web console (say).
Text, voice and video chat
I have been experimenting with using an XMPP chat client such as Google talk for control. This is what Ian Mercer’s system does. If I do this I am not sure if I should have my own XMPP server, or use a public one like Jabber or Google Talk. Probably a private one is the best idea. A chat interface would be very flexible. If like Ian Mercer’s system, it implemented a natural language interface, it could be the basis of other systems like voice control. Is XMPP still the best way to go? This might depend on whether Microsoft continue to support XMPP in Skype. Should I be looking at the WebRTC standard? This could be useful for voice control. I am not sure that video chat with the house would be very meaningful, unless I implemented avatars that represented the status of things, such as shivering when it was cold. I think this is beginning to sound like an Ian M. Banks culture novel.
I would like to have voice control. There are many ways of doing this. I have already implemented voice control of my Roomba robot in the Raspberry Pi. For home automation, I think I will look first at implementing an Android application for voice control. This would be a nice addition to use of OpenRemote on the device.
However, I spend ore time on my Windows laptop, so perhaps I should have a Java based windows speech control program.
In general, should there be microphones around the house that allow voice control? How should I address the house? Should I get its attention by saying “House”, in the same way as you say “Xbox” to the Xbox. This does not seem to be that effective on the Xbox. I often hear my grandsons shouting “Xbox” at it without a great deal of success.
I think that gesture control of home automation devices will be much cooler than voice control. Gesturing at lights to turn them up and down, or getting blinds to open and close them, would be really impressive. And I could have a Minority Report style interface for my TV etc. These are coming to TV and computers anyway, but an integrated gesture control system for all devices would be much better.
How would I implement this?
I have experimented with detecting body movements with the Kinect, manly using ROS software. I have been looking at buying an Asus Xtion Pro Live for some time, but more for robot navigation than gesture control. Perhaps I should wait for the newer devices that are coming out, such as the Leap.
How would I use these systems for home automation? I would have to have gesture detection devices mounted at various places in multiple rooms in the house, and connections to servers to control them. There is likely to be a compromise between the fineness of the gesture that can be detected and the distance to the device.
In the near future, I should probably be controlling my house using augmented reality devices and wearable tech. Should I control things with my iWatch? Should I use my Google glasses? How would that work? Would it use lasers to project a remote control on the back of my hand?
Direct brain control
Or should I be wearing a headset, and controlling everything with my thoughts?