1. A method for operating a home automation system comprising maintaining, at a host controller of the home automation system, a home database that stores at least one of configuration information used for providing services involving one or more hardware elements of the home automation system, scenes that are configured in the home automation system, or system state information indicating a present condition of one or more hardware elements of the home automation system; synchronizing the home database with a configuration database of cloud services over the Internet; when there is connectivity via an in-home local area network (LAN) between a mobile application (app) executing on a mobile device used to configure and/or control the home automation system and the host controller, performing data interactions related to the home automation system between the mobile app and the home database of the host controller over the in-home LAN; and when there is no connectivity between the mobile app and the host controller via the in-home LAN, performing data interactions related to the home automation system between the mobile app and the configuration database of the cloud services over the Internet.