As I think on it, I question my method. I might be curious as to whether the washing machine is still running, and therefore ask ST its current status. But is there ever a time where we really care about the current state of an “action-thing”, such as a light or a lock or a door? Or is it more accurate to simply act on desire?
Take the case of the garage. I cannot see the garage from inside the house. If I ask whether it is open or closed, it’s almost impossibly unlikely that I am doing so from mere curiousity. Odds are nearly 100% that I instead want it to be a certain way, either open or closed, in that moment.
So I might be better off simply building commands, and having Tasker reply with a thing state report. So instead of asking whether the garage is open, simply say “Ok Google, open the garage” - and then have Tasker check thing state. And if it’s already open, report it as such. And if it was closed, then open it… and report that it is open.
Then again, doing that means I’m conforming my word choices, and my computer programs, to a particular (and somewhat strained) model of efficiency. And losing natural language tendencies, along with interesting computer interaction, in the process.
Just some thoughts on the whole person-machine interaction concept. I will of course program both direct commands AND inquisition - reply commands.
And Josh, I’m already using regex with the commands. Integrating it into these ‘dialogs’ will be fun. And I’m thinking ahead to the thermostat I do not yet own. I don’t really care what the temperature reading on it might be. All I really care about is whether I want to adjust it, right? Do I want it warmer or cooler? But I don’t want it to use air conditioning to make the house cooler in wintertime…
So I need these things: the thermostat itself, external temperature/wind readings, internal temp sensors.
Whether I ask “what is the current temp?” or issue an “Ok Google, make it warner/cooler in here” command, in most instances the change desired is incremental.