Friday, May 30, 2014

(#6) Eureka! 

And no one has to jump, naked out of a bathtub.   Time for another recap: Home Automation has been around, at least, since 1975 and all of the other systems sucked.



Why?  Well for several reasons.  But here's a new one -- they're not as flexible as I'd like them to be. Recall that I've simply asked a (rhetorical) question:



Why can't my Home Automation know when someone has left the house, and turn the thermostat down in the winter?




I've got sensors, I've got a programmable thermostat.  All I need is a way to know when someone's left. Thinking about it, there are probably many ways to figure out when someone's gone:

  • The Front Door opens and closes
  • Their phone's bluetooth ID disappears from some bluetooth sensor

Yeahbut - the front door opens and closes when the neighbor comes for a visit. That won't work.  The bluetooth thing would be fun, but the range isn't that great.  You'd be out of range if you walked into the study.


Wait!
What about...?


The Morning Routine
We've already seen that around 6:30, on a school morning, I'm taking a shower. Around 7:30 something else happens that's very predictable, very repeatable:

  1. The Back Door Opens
  2. The Garage Door Goes Up
  3. And about two minutes later The Garage Door Comes Down

Think about it.
That's an (almost) foolproof way of inferring that someone has left!  Open the door, raise the garage door, get in the car, drive off, close the garage door.



All I need to do is listen for these events in this order.
If I see these three events, in this order, then I can infer that someone has left!


Oooooooooooooooooooooooooooooooooo.
This should be fun.



2 comments :

  1. OK, I've caught up with the entire series. Looks like you're up to some pretty interesting stuff.

    First, I hope you've stocked up on spare HHB sensors :-)

    Second, it looks like you're coming up with some pretty creative implementations of occupancy detection. I particularly liked the example of using a humidity sensor to infer that someone has taken a shower. But I don't think you want to be *too* dependent on timing. OK, maybe you usually take a shower in the morning, but what if you get up on Saturday morning and decide to mow the lawn first, maybe do some weeding, then take a shower? I think this one's pretty simple--humidity spikes shouldn't be happening in your home at any time unless someone's taking a shower, so you probably don't even need to time-box this rule.

    Also, you will probably want to be careful about what you infer. Based on certain events, you may be able to infer that someone has left with a high degree of accuracy--but I'm not sure that's a useful piece of information in a multi-person household, as there could still be someone at home.

    Getting back to occupancy detection, I think the general issue is that you have one or two good ways to determine, with a high degree of certainty, that someone is home if some event (or set of events) occurs. However, the inverse isn't necessarily true: If the events do not occur, it does not necessarily follow that no one is home. However, the more types of events you can detect, the more reliably you can assert that no one is home if *none* of those events has occurred lately. Motion sensors are an obvious choice, but you could also use flow switches to determine whether any plumbing fixtures are being used, electrical metering device to determine whether various appliances are used, etc. (If no one is using any electricity or water, then it's likely that no one is home!)

    ReplyDelete
  2. Agreed. The "humidity increase means occupied" was just me posting something novel. I hadn't expected that and was surprised. What's becoming apparent with CEP/ESP that that you sort'a need to know what you're looking for, in order to write the rule so you can find what you're looking for. If that makes any sense.

    What I've done for occupancy is take a few different approaches to it. If the motion sensor detects motion, then "duh" the house is occupied. If there's no motion -- for 60 minutes, then assume the house is unoccupied.

    With the CEP "unoccupied" rule, all I did was lower the time threshold. Instead of 60 minutes of zero-motion, I lower it to 15 minutes when the rule is trigger.

    I'd never do anything drastic, like auto-arm the alarm system, when I assume the house is unoccupied. I think somethings should not be left to chance.

    ReplyDelete