Wi-Fi and Programmable Thermostat


Control your Home Comfort with a Programmable Thermostat


This past week I bought a wifi thermostat to replace the programmable thermostat that controls the first floor of my home. During installation, I found out that the current wiring is not compatible with my new wifi thermostat. This is going to become a common issue as wifi thermostats become cheaper and more common in homes. The big question is what is the difference between a programmable thermostat and a wifi thermostat and what is the benefit.

Programmable thermostats are a great way to help you save on your energy usage and tailor your heating and cooling to your needs. Most programmable thermostats allow you to schedule a week schedule with 4 time points throughout each day. This allows you to schedule when your heat or cooling will turn on for during the weekdays and the weekends and at what time each day. The best times for the schedule to run would be before you wake up, when you leave for work, before you return home, and before you go to bed. Programmable thermostats give you an added level of control over standard dial thermostats that have one static temperature unless you change it on your own. Having to change the temp on your own doesn’t let you wake up to a warm house in the morning or unnecessarily heat a home when no one is home.

Wi-fi or smart thermostats are part of the connected home or the internet of things (IoT). These allow you to ask smart hubs like an Amazon Echo or Philips hub or Siri to change the temperature of the room without ever going to the thermostat itself. They have the same features like a programmable thermostat like scheduling but in some cases also feature geo-fencing and adaptive scheduling, where it learns your routine. Geo-fencing allows the thermostat to know when you leave your home or a pre-defined area, this will force it into away mode where it’ll use less energy to heat or cool your home. Once you get back into that area your thermostat will go to your home temperature allowing you to step into a warm home.

Thermostats like the Honeywell Lyric, the Nest, and Ecobee all require a common wire to help to power the thermostat. Most older heating and cooling systems don’t have this wire, some do but may not be used prior to your wifi thermostat needing them. The wiring for your heating or cooling system will feature anywhere from 2 to 5+ wires that control whether heat or cool air is called. Each wire controls something, for a system that is just heating you’ll find two wires that are being used the red and white wire. For heating and cooling systems you’ll more than likely see four wires being used the red and white for heat and the blue and green to control fans and turning on the ac. If there is a fifth wire, that is the common wire. The common wire is there to help with the add electrical need of the thermostat. In some cases, you can move the fan wire which is usually yellow or green to the common but the fan will continuously blow. If you are worried about installing a new wi-fi give your heating and cooling company a call to have them install it.

An unexpected error occurred.

Please provide the following information to technical support:

Error Event:

Error details:

struct
Detail Note: If you wish to use an absolute template path (for example, template="/mypath/index.cfm") with CFINCLUDE, you must create a mapping for the path using the ColdFusion Administrator. Or, you can use per-application settings to specify mappings specific to this application by specifying a mappings struct to THIS.mappings in Application.cfc. <br> Using relative paths (for example, template="index.cfm" or template="../index.cfm") does not require the creation of any special mappings. It is therefore recommended that you use relative paths with CFINCLUDE whenever possible.
Message Could not find the included template ctBlog.cfm.
MissingFileName ctBlog.cfm
StackTrace coldfusion.tagext.lang.IncludeTag$NoSuchIncludeTemplateException: Could not find the included template ctBlog.cfm. at coldfusion.tagext.lang.IncludeTag.setTemplate(IncludeTag.java:434) at cfWifi2dProgrammable2dThermostat2ecfm451116076.runPage(C:\home\cksmithsuperior.com\wwwroot\Wifi-Programmable-Thermostat.cfm:44) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:247) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:736) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:572) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:474) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:153) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at sun.reflect.GeneratedMethodAccessor79.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:549) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:175) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:297) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:549) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:191) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:187) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:186) at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:134) at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doNext(FusionReactorRequestHandler.java:764) at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doHttpServletRequest(FusionReactorRequestHandler.java:344) at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.doFusionRequest(FusionReactorRequestHandler.java:207) at com.intergral.fusionreactor.j2ee.filter.FusionReactorRequestHandler.handle(FusionReactorRequestHandler.java:801) at com.intergral.fusionreactor.j2ee.filter.FusionReactorCoreFilter.doFilter(FusionReactorCoreFilter.java:36) at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intergral.fusionreactor.j2ee.filterchain.WrappedFilterChain.doFilter(WrappedFilterChain.java:71) at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intergral.fusionreactor.agent.filter.FusionReactorStaticFilter.doFilter(FusionReactorStaticFilter.java:54) at com.intergral.fusionreactor.agent.pointcuts.NewFilterChainPointCut$1.invoke(NewFilterChainPointCut.java:41) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:458) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:196) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
Suppressed
array [empty]
TagContext
array
1
struct
COLUMN 0
ID CFINCLUDE
LINE 44
RAW_TRACE at cfWifi2dProgrammable2dThermostat2ecfm451116076.runPage(C:\home\cksmithsuperior.com\wwwroot\Wifi-Programmable-Thermostat.cfm:44)
TEMPLATE C:\home\cksmithsuperior.com\wwwroot\Wifi-Programmable-Thermostat.cfm
TYPE CFML
TagName CFINCLUDE
Type MissingInclude