1. A computer-implemented method to implement at least one automation rule, comprising: generating the at least one automation rule based on learning a behavior of a user over a pre-determined time, wherein the at least one automation rule controls at least one aspect of an automation system associated with the learned behavior; determining at least one implementation parameter, where the implementation parameter comprises at least one of the speed of the automation rule execution, the scalability of the at least one automation rule, the flexibility of automation rule conditions, or the ease of automation of rule modification; determining a storage location of the at least one automation rule based on optimizing the at least one implementation parameter, and the learned behavior; selecting an execution origination point of the at least one automation rule based on optimizing the at least one implementation parameter, the learned behavior, and the storage location; and controlling a device based on the selected execution origination point.