To add to what Samer said: the main reason to query the cloud is to enable features such as automatic time zone and DST detection, and getting sunrise/sunset times. In the past we’ve always had users who complain that every year when DST changes the controller could not automatically update time. This is the main motivation behind adding the support. But as Samer said, the cloud connection is not critical to the operation of the controller — if there is no connection, it simply won’t perform NTP sync, won’t auto-detect DST, sunrise sunset times will be set to a default value, sprinkler programs will run as usual.
Of course as the firmware becomes more complex, to accommodate all different scenarios, there are inevitably some bugs that we may not have discovered during testing. But it has always been our intention to make OpenSprinkler a device that works independent of the existence of Internet. If there is any feature you don’t like about the firmware, feel free to modify the source code — the project is made open-source to provide flexibility and any customization you may need.