the invention will be understood more fully from the detailed description given below and from the accompanying drawings of seleted embodiments of the invention ; which , however , should not be taken to limit the invention to a specific embodiment , but are for explanation and understanding only . [ 0020 ] fig1 contains a block diagram of an embodiment of a programmable thermostat . those of ordinary skill in the art will appreciate that the invention is not limited thereto and may comprise any device or configuration of components capable of operating in the manner of the invention . in the embodiment disclosed herein , information regarding the desired set point temperature , date , or time for each program may be inputted to thermostat 101 by the user through input device 102 in interface 103 . interface 103 may be connected to a programming device 104 of controller 105 in such a way that programming device 104 receives information inputted at input device 102 , and may display this information on display device 106 . programming device 104 may also control operation of a temperature - modifying device 107 , which is typically a heating / cooling system for the medium whose temperature is being controlled , such as hvac systems , geothermal systems , gas , natural gas , or electric furnaces or water heaters and the like . programmable device 104 may store information received from input device 102 in memory 108 , along with an algorithm or program for operating temperature - modifying device 107 in accordance with this information . programming device 104 may comprise any device capable of operating in the manner of the invention , such as a logic circuit on a logic board , a microprocessor , or other integrated circuit . similarly , memory 108 may comprise electronic memory , such as ram , sram , or dram and the like , in an integrated circuit , such as a prom , eprom , or eeprom and the like . memory 108 may also form part of programming device 104 . display device 106 is also not particularly limited and may comprise , for example , an electronic display , such as an lcd , led and the like . input device 102 may include pressure sensitive buttons , keypads or any other device or arrangement of devices that are capable of entering the appropriate information . the operation of such devices is well known to those of ordinary skill in the art . a comparison device 109 may be used to compare ambient temperature of the medium to be controlled with the desired control temperature , as determined by programming device 104 and stored in memory 108 . comparison device 109 may detect the current ambient temperature by using a conventional temperature - sensing device such as a thermistor , thermocouple or other type of temperature transducer . a clock 110 may be connected with programming device 104 to provide time related information thereto for use in connection with operation of programming device 104 and its program of temperature control . time related information from clock 110 may also be stored in memory 108 and shown on display 106 . clock 110 may comprise any device for providing time related information such as a voltage controlled oscillator ( vco ), crystal oscillator and the like , along with associated circuitry . the time related information provided by clock 110 is not limited and may comprise , for example , chronological time information such as year , month , day , hour , minutes , and / or seconds , or synchronization information for programming device 104 ( which may be used to calculate this information ). clock 110 may also form a part of programming device 104 . one or more remote sensors 112 may be used in communication with controller 105 to provide feedback information to programming device 104 . for example , sensors may be used about the air filter to detect air pressure , air flow or heat loss . in another example , sensors may also be used to detect fan operation such as by detecting fan current draw . information may be transmitted to and from the sensor using any number of mechanisms such as wireless systems ( e . g ., radio frequency or infrared ), low voltage communication cabling or even household wiring . the invention is not limited in this regard . the use of such sensors is discussed in more detail below in regard to monitoring fan and filter usage . the operation of controller 105 and / or interface 103 may be powered by power supply 111 . power supply 111 is not particularly limited , but may comprise any source of power capable of operating controller 105 and interface 103 such as household current ( e . g ., 120 v ac at 60 hz ) or one or more batteries ( e . g ., 9 v dc ). [ 0027 ] fig2 illustrates an example of a programmable thermostat . thermostat 200 may include an outer casing 202 to house the aforementioned components . display window 204 maybe used for housing display 106 ( fig1 ) for interaction with the user . switches 206 may be used for switching between heating and cooling modes or for switching an air handling fan from automatic mode to a constant “ on ” mode . buttons 213 may further be used for inputting information into the thermostat with information being presented through display window 204 . switches 206 and buttons 213 may be in communication with input device 102 ( fig1 ) to input information into the programmable thermostat . these aspects of programmable thermostats temperature control are well known in the art and will not be further elaborated upon . thermostat 200 may also include rotary dial 212 or some other mechanism to switch between operation modes of the thermostat such as setting the day and time , setting weekday and weekend functions , setting the filter , and running , and may also be in communication with input device 102 . those of ordinary skill in the art will appreciate that it is not necessary to use a rotary dial and that any other mechanism such as a combination of switches and buttons may be used to achieve the functionality described herein . as previously noted , air handling systems for use in temperature control , such as in residential or commercial hvac systems , typically utilize one or more filters , such as high efficiency particulate air ( or “ hepa ”) filter , electrostatic filters and the like to collect airborne particulates that may be circulating in the system . these filters typically comprise a tight web or fine mesh of material placed within an air register or ductwork through which air is passed by the air handling fan or blower . airborne particles are trapped with the fibers of the filter weave as air is passed through the filter . such filter systems are beneficial in reducing the spread of allergens such as pollen , mold , spores , dander and the like throughout a home or office . however , the efficiency of the temperature control system may be greatly reduced if an air handling system is not properly maintained , reducing its ability to adequately clean the circulated air . for example , a filter that is not changed or cleaned regularly may become clogged from a build up of particulate matter , reducing airflow through the system and increasing the amount of allergens within the ductwork . these additional allergens may consequently be circulated through the system even once a filter is replaced . also , reduced or inconsistent airflow may allow allergens to collect in the system ductwork . the thermostat may be programmed to operating the air handler in a cleaning cycle to further enhance the cleaning of air circulating through the system , which circulates air through the system at determined intervals to prevent the buildup and growth of allergens within the ductwork of the temperature control system . in one embodiment , an air clean time control program may be operating as part of programming device 104 the user may rotate the dial ( or equivalent ) to the set fan programs position to set user - definable parameters for the program . fan slide switch ( 206 ) may be set to the fan clean position and mode slide switch ( 206 ) may be set to the heat or cool positions . in one embodiment , the air clean time control program may incorporate one or more default program periods , during which the fan may be operated for a set duration such as 15 minutes of on time per each hour . thus , for example , each day may have one or more periods during which the fan is turned on for a set amount of time to circulate air through the system and help prevent the buildup and growth of allergens — regardless of the operation of the temperature modifying device itself . several examples of such periods are listed in table 1 below . while the manner of programming the air cleaning cycles is not particularly limited , in one embodiment , programming may be performed in the following order : mon morn start time , mon morn minimum on time , mon day start time , mon day minimum on time , and so on until sun night is fully programmed . at this point , pressing [ next ] again may begin the list at mon morn start time . information may be displayed on display 106 for the user during the programming process . for example , “ program ”,“ fan ”,“ start at ” icons may go solid along with appropriate “ mo ” ( monday ) day and “ morn ” period icons . the current period of start time being programmed may flash in the time section . a user may press and release the [ up ] button to increment time in intervals , e . g ., 15 minutes to change a default setting . the user can also press and release [ down ] button to decrements time intervals . alternatively , the user may press and hold the [ up ] or the [ down ] button to change the time at a preset rate such as 60 minutes / second . the user may press and release the [ next ] button to advance to set minimum fan on time ( e . g ., in hours ). on display 106 , the “ program ” and “ fan ” icons may go solid along with the appropriate “ mo ” day and “ morn ” period to indicate the change to the user . the current set minimum time may flash with an icon such as “ min / ir ”. the user may then adjust the value of minimum on time per hour ( in minutes or seconds , for example ). in one embodiment , the value may be changed from 9 minutes to 60 minutes in increments of 3 minutes . the user may then press and release the [ up ] or the [ down ] button to alter the minimum on time setting by 3 minutes . the user may press [ next ] to go to the next program period , and after all 4 programs period of a day have been programmed , pressing next may go to the next day “ morn ”. the user may also copy programs of previous day into the current day and then advance to the next day &# 39 ; s morning program . for example , the user may copy the friday &# 39 ; s morning program setting to saturday &# 39 ; s morning program setting . the user may rotate the dial ( or equivalent ) away from the set fan programs position when finished programming the air cleaning program cycle . a filter counter may also be used to help ensure proper maintenance of the system filters . in one embodiment , a filter counter may be programmed into programming device 104 utilizing clock 110 and display 106 . in one embodiment , the filter counter may comprise a three - digit counter , which may count from 000 to 999 days for example . the period of the count may be set by the user , as described in more detail below . the filter counter may increment , for example , by one day at 12 : 00 midnight each day . the filter counter may even include a default period such as 90 days , although the invention is not limited thereto . fig3 ( a )-( d ) incorporate samples of display 106 ( fig1 ) that illustrate the operation of a filter counter in accordance with the invention . as illustrated in fig3 ( a )-( d ), in run mode , display 106 may show the number of days left before the filter needs to be changed at numerical indicator 302 . the amount of the filter period spent may also be graphically illustrated such as with bar indicator 304 . indicator 306 shows the user that the filter counter is in operation . a current time / temperature section 308 may display current time and / or temperature information . program section 310 and temp section 312 may also be included , which show the currently operating program information and set point temperature . as shown in fig3 ( a ), the filter usage may start at 100 % on bar indicator 304 . in this example , the filter usage has been set to thirty days , as indicated by numerical indicator 302 . as the counter counts down , the number of days may be decremented on numerical indicator 302 as shown in fig3 ( b ). bar indicator 304 may likewise indicate the percentage of filter life remaining . when the filter counter has decremented to zero ( indicating the end of the set filter period ), indicator 306 may now flash a “ change filter ” message , which demonstrates to the user that the filter should be changed or cleaned . in one embodiment , the filter counter may continue to count beyond the end of the filter usage period . one example of this is illustrated in fig3 ( d ). numerical indicated 302 may now increment the number days that have elapsed since the end of the filter usage period ( e . g ., “ days over ”). indicator 306 may also continue to flash the “ change filter ” message . a schematic of an embodiment of a controller 105 for use with the aforementioned temperature control , fan control , and filter usage counter is illustrated in fig4 ( a )-( b ). a microprocessor may be powered by a dc power board and , in turn , power an lcd display . the microprocessor may have a plurality of outputs to individual segments on the lcd display to output information thereto to be viewed by the user . the microprocessor may also include the plurality of inputs / outputs to a temperature modifying device and to a series of switches ( e . g ., next , hold , down and up ). one of these switches sw 2 , may be selectable in this example between a weekday program , a weekend program , date and time selection , setting the fan control information , setting the filter control information , and running or operating the thermostat . by selecting one of these positions in sw 2 , the user may designate which aspect of the programming ( e . g ., temperature control , fan control , filter usage , etc .) setting may be inputted into the microprocessor using the remaining switches . those of ordinary skill in the art will appreciate that this is only one possible embodiment of the invention and is not limited thereto . the user may rotate dial 212 ( or whatever equivalent mechanism is being used ) to the set air filter position to set the filter usage period in controller 105 . programmable device 104 of controller 105 is now in the air filter setting mode of its programming . display 106 may show the information indicated in fig5 ( a ), although the invention is not limited to this example . indicator 306 may show that the thermostat is now in filter setting mode . the current time / temperature portion of the display may now be replaced with a set limit display 308 that indicates with the current filter usage limit in days . the percentage of filter life remaining may be shown in bar indicator 304 and the number of days left shown at numerical indicator 302 . program section 310 and temp section 312 may be set blank in this mode to minimize any confusion of the user . in this example , the default usage value is 90 days , but the invention is not limited thereto . the user may press and release [ up ] or [ down ] buttons 213 to scroll through a pre - set selection of choices . these selections may be displayed on numerical indicator 302 and set limit display 308 , for example . selecting a usage period may also reset bar indicator 304 to show 0 % used . standard pre - set choices , based strictly on calendar days , irrespective of whether the fan is on or off , may include , for example , 0 , 30 , 60 , 90 , 120 or the like days , although the invention is not limited thereto . such information can be shown on the system display . programming controller 105 may allow for the user to select a custom usage period as well ( e . g ., 45 days ) such as by depressing and holding a combination of button to incremented the usage counter to the desired number of days . setting the filter usage limit to 0 days may be used to disable the filter usage counter . the system of the invention may also be programmed to determine the filter usage time using a predetermined usage formula . in this embodiment , for example , the user may enter the rating of the filter ( such as determined by the american society of healthcare engineering , or ashe ). this rating is usually given in days or months . the automatic programming may calculate the filter usage time ( e . g ., in days or fan running time ) using a formula such as the following : filter   usage =  filter   rating   ( days ) × 24   hrs × ( fan   daily   run   time   ( hrs ) / 24   hrs ) 100 dividing by 100 allows a rounded number to be used . in this example , the fan run time may be a default estimated run time ( e . g ., 20 minutes per hour ). alternatively , the fan run time may be programmed by the user at the time the user selects the filter code . the system may also be programmed to determine the rating of the filter from the filter model number , such as by using a look - up table of model information or determining the rating directly from the model number itself . the usage meter may also thus reflect the filter usage in a user selected number of days , as discussed above , or based upon the programmed or estimated running time of the fan . in a preferred form , the system is designed to allow the user to scroll through a list of available filter codes to select an appropriate code that corresponds to a particular filter number assigned to the filter in use at that time . the life of the filter is automatically programmed into the system based on the manufacturer &# 39 ; s filter code once a particular selection from those available is made without use of the formula . the user may also reset the counter to its default value or to restore a previous count using a combination of buttons 213 . those of ordinary skill in the art will appreciate that the invention is not particularly limited in this manner . once the user is finished setting the usage counter , he or she may then switch the thermostat to another mode , such as run mode for operation , or one of the time or temperature setting modes . the filter usage may also be programmed based upon a direct or indirect measurement of the actual use of the filter . this may be further explained in connection with fig6 which illustrates one sample embodiment of an air handling portion of an environmental control system . those of ordinary skill in the art will appreciate that this example is for purposes of illustration only and that the system of the invention may be used with any temperature control system or configuration . in this example , environmental control system 600 may include thermostat 602 , which is used to detect and control the temperature in one or more rooms throughout the structure . air is circulated around the system by blower ( fan ) 616 . thermostat 602 and fan 616 may also be in communication with one or more heating / cooling apparatus , as is well known to those of ordinary skill in the art . fan 616 circulates air through supply duct 618 , which is vented into each room through one or more registers 620 , 622 . in the embodiment shown , air is circulated back to fan 616 using a common return 604 . the returning air passes through an a filter 608 and return duct 612 back to fan 616 . one or more sensors 606 , 610 , and / or 614 may be used to sense various characteristics of the system . for example , sensors 610 and 606 may be used to measure changes in air pressure on either side of air filter 608 . in such an embodiment , the system of the invention may be programmed to sample an actual pressure differential when a filter is first changed or installed . alternatively , a single sensor 610 may be used with its value compared against standard air pressure . in this embodiment sensors 606 and / or 610 may comprise any sensing element capable of detecting changes in air pressure such as diaphragms and the like . information from the sensors may be communicated back to thermostat 602 , where programming device 104 ( fig1 ) may use this information to determine the usage time left for the filter for display 106 ( fig1 ). for example , programming device 104 may include a formula for estimating the usage life of a filter based upon changes to air pressure on the downstream side of the filter due to the buildup of particulates in the filter in a manner similar to the formula discussed above . the usage period may change based upon the rating or model of the filter ( as may be inputted by the user ). alternatively , the sensor may incorporate a go / no - go switch or other mechanism that determines the usage period left and communicates this information to the thermostat . the sensor may also contain a reset switch to reset the characteristic information for the air circulating system back to a default value such as when the filter is changed . in another embodiment , sensors 606 and / or 610 may measure airflow in the system and programming device 104 ( fig1 ) may calculate filter usage from the airflow measurements . as with the air pressure calculation , a formula may be used to determine the usage period of the filter . also , as with the air pressure sensor , any sensor capable of measuring air flow may be used . for example , the air flow sensor may comprise mechanical sensors ( e . g ., “ pin wheel ” type sensors ) or electronic heat loss sensing elements . the invention is not limited . in yet another embodiment , the filter usage may be measured indirectly as well such as by measuring the fan usage . this may be accomplished , for example , by incorporating sensor 614 to sense the operation of fan 616 and communicating this information to thermostat 602 . for example , sensor 614 may sense the current draw and / or power usage of fan 616 . this may be accomplished using any number of well known current / power sensors . programming device 104 ( fig1 ) may use the information received from sensor 614 , along with the fan programming information and filter rating / model information , to calculate the usage period of the filter using a formula similar to the one discussed above . the filter usage may also be based strictly on fan run time only . this means that usage will only be accounted if the fan is in the “ run ” state . various increments may be selected to determine trigger points for displaying the time for filter change . such usage based on fan run time can be the equivalent of a selected number of calendar days or any other basis . also , the system may be able to display that filter usage is based on fan run time only , any set times and the actual usage time at any given point . while the invention as disclosed herein has been described in relation to specific embodiments thereof , it is understood that the invention is not limited to the particular embodiment disclosed herein , but only as set forth in the appended claims . it will be appreciated that various components known to those of skill in the art may be substituted for those described herein without departing from the spirit and scope of the invention as set forth in the appended claims . for example , the input device may include a pressure keypad or a series of contact switches instead of the pressure switches disclosed herein . the display device may also include an led display or other illuminated display mechanisms or any of a number of conventional mechanical display mechanisms such as gauges or the like . the invention may be used in connection with any device that controls temperature .