I’m glad to hear that we are thinking along similar lines. I have continued working on this, and come up with the following:
I’ve created a separate group called “room” to which I add every group in my items files that I want to address as a “room”. Secondly, I created a group “device” which I add to all the device groups (lights, doors, temperatures, humidity, et cetera). Finally I added an action list (in python) that defines the actions I want to perform (switch switches, control dimmers, or get the value of any item). This list looks like this:
actions = {
"switch": {"items": ["Switch"], "expressions": ["switch", "turn"]},
"dimmer": {"items": ["Dimmer"], "expressions": ["dim", "brighten"]},
"get": {"items": ["Number", "Switch", "Dimmer", "Contact"], "expressions": ["value of", "is", "what"]}
}
I’m working on a python script takes all this information and sets up the necessary entities in wit.ai. It Is mostly working. Everything is pulled from the rest API, except for the actions list I just mentioned.
The plan is that any sentence I say to wit.ai will contain an action, a room (including “all” which is defined as a room in my items file), and a device. I guess I should be able to express this as a single intent, or do I need several intents?
Anyway, the response I get from wit.ai should contain all these elements. The room and the device specify which groups I need to search and, The action element can use the dictionary defined above to figure out which types of items it should search for. Switch and dimmer is obvious, while get is a bit more complex. Basically it should send me a notification containing the string values (label with inserted value) of everything that matches the request. With some tasker voodoo should be possible to have my android devices read the responses aloud 
This means that I should be able to control any kind of device in any room, and get their current value. Does not allow individual control of items, for instance if there are multiple lights within a room. I think it should be possible to build this in quite easily, but I am not quite there yet. Apart from defining the rooms and devices groups in the items file this require no modifications of item definitions assuming you have a relatively logical structure :-). The python script should also add the necessary intent as well as training sentences, so the only work required would be to validate the results.
For the openhab side it should be as easy as calling the script with the recognised text, and the script will control everything using rest.
Does anyone know if it is possible to use the rest API to trigger my.openhab notifications?
If anyone is interested I guess I could put this up on gitthub once I get the basic control functionality working.