If the point of Smart Homes is to make our lives easier, then having to set up everything yourself is completely backwards. Schedule based automation system forces the users to follow a strict schedule in order to work, and rule based automation takes many rules and a lot of tweaking to get right. Neither of these solutions are desirable. After all, who wants to follow a schedule and micro-manage when you should be relaxing at home?
My approach attempts to use passive teaching and active learning as the basis to automatically generate automation rules based on every day usage. We first start by attempting to automate events that stay in the background and more tolerable to mistakes (such as temperature control), then move into events that are more prone to intrusive mistakes, such as lighting control (surprise surprise).
The Hub uses the sensor network I built here, but will be compatible with other devices with a bit of tweaking.
Finally, it will be compatible with Nest, because what started this whole thing was to give Nest full house presence detection, so that I don't freeze to death if I don't walk in front of it for a while.