A method for communicating between a first device and a second device of a building control system, the method comprising: wirelessly communicating between the first device and the second device during scheduled communication times, wherein the scheduled communication times are based at least in part on a pattern of user interaction times and wherein the frequency of the communication times are based at least in part on the pattern of user interaction times, placing the second device in a listening state during the scheduled communication times, placing the second device in a non-listening state between at least some of the scheduled communication times; receiving a plurality of user inputs each at a user interaction time, wherein each of the plurality of user inputs cause a corresponding communication between the first device and the second device; and identifying one or more active user input periods of a day and one or more inactive user input periods of the day to determine the pattern of user interaction times; wherein the identifying of the one or more active user input periods and the one or more inactive user input period to determine the pattern of user interaction times comprises: clustering the user interaction times into a plurality of clusters (610, 620, 630), wherein each cluster (610, 620, 630) corresponds to a corresponding cluster period; identifying each of the plurality of cluster periods as an active user input period; and identifying each of the times between the plurality of cluster periods as an inactive user input period. wirelessly communicating between the first device and the second device during scheduled communication times, wherein the scheduled communication times are based at least in part on a pattern of user interaction times and wherein the frequency of the communication times are based at least in part on the pattern of user interaction times, placing the second device in a listening state during the scheduled communication times, placing the second device in a non-listening state between at least some of the scheduled communication times; receiving a plurality of user inputs each at a user interaction time, wherein each of the plurality of user inputs cause a corresponding communication between the first device and the second device; and identifying one or more active user input periods of a day and one or more inactive user input periods of the day to determine the pattern of user interaction times; wherein the identifying of the one or more active user input periods and the one or more inactive user input period to determine the pattern of user interaction times comprises: clustering the user interaction times into a plurality of clusters (610, 620, 630), wherein each cluster (610, 620, 630) corresponds to a corresponding cluster period; identifying each of the plurality of cluster periods as an active user input period; and identifying each of the times between the plurality of cluster periods as an inactive user input period. clustering the user interaction times into a plurality of clusters (610, 620, 630), wherein each cluster (610, 620, 630) corresponds to a corresponding cluster period; identifying each of the plurality of cluster periods as an active user input period; and identifying each of the times between the plurality of cluster periods as an inactive user input period.