ecobee Thermostats Improve Employee Productivity by 44%

I am a huge fan of the ecobee product ( we sell them at work ) and think that as far as smart thermostats go they have the industry figured out. They may not get all the press that NEST does but the ecobee has some of the most innovative logic built into it when it comes to smart thermostats.

ecobee has HomeIQ which they describe as the following;

home-iq-detailsOver the last 3 years, ecobee has collaborated with some of the brightest scientists in the field of energy conservation to develop this unique and innovative service.

Home IQ takes thousands of data points, automatically collected through your ecobee thermostat, and uses advanced math and physics to create a model that learns about your home, and provides you with insights into your home’s energy performance.

Unlike alot of other so called smart devices the ecobee collects 18 months of data which includes run time of the equipment, stages of operation, weather conditions, wind speed and so much more .They use this data in HomeIQ to heat your home and that kind of data makes for one heck of a smart thermostat.

This translates into savings but this kind of data collection also makes the ecobee very efficient at heating and cooling and keeping us more comfortable. The ecobee knows in YOUR building specifically how long it takes to heat and cool. All of these cool as beans features have resulted in a common slogan when it comes to ecobee which is as follows;

‘ecobee can save you up to 28% on your heating and cooling bill’

As cool as that slogan is and as much as I love putting money back in my wallet I have a new slogan that is sure to set the ecobee commercial thermostat market on fire;

‘ecobee thermostats improves employee productivity by up to 44%’

I know a few of you are now saying yep you just made that up. Kinda but not really. I dont have a study that shows an ecobee specifically makes you more efficient but I do have a study that shows that a thermostat just like it will increase employee efficiency.

Cornell University Researchers did a study where they looked at the thermostats in an insurance office and what they discovered is that employees who were not cold in the office made 44% more errors and were half as productive as when they were ‘comfy’.  Cornell Researchers note that the drop in temperature in the winter causes our bodies to waste energy keeping ourselves warm giving us less energy for inspiration, concentration and just getting things done. Quote;

“At 77 degrees Fahrenheit, the workers were keyboarding 100 percent of the time with a 10 percent error rate, but at 68 degrees, their keying rate went down to 54 percent of the time with a 25 percent error rate,” Hedge says. “Temperature is certainly a key variable that can impact performance.”

 

Some of you will rightfully ask can’t any thermostat keep you comfy? Sure it can if your office actually gives you access to it. Why have they not given you access? because Handy Hank keeps jacking the heat up and driving up the heating bills. Or better yet Jetpack Jim keeps trying to tweak it forcing you to call in the HVAC tech and a hefty bill to undo the changes.

Smart thermostats are the future and keeping employee’s comfy with devices like an ecobee clearly make a difference. I am going to stop turning down the ecobee thermostat in our office effective immediately which will increase our office productivity!

NOTE:  this post is intended for entertainment. Although the study really did happen don’t take my summations of ecobee being the only solution to seriously :) Also note I do not work for ecobee but I am open to offers. 

Wireless Radiant Infloor Control

I have a unique set of skills that make HVAC a lot of fun for me. I have been a programmer my entire life but I also work in the HVAC industry giving me a unique perspective on all the ‘smart things’ hitting the market.

Taking my knowledge of HVAC and my skills as a programmer I recently began programming my own MCU’s to control my radiant in floor system.

Over the next month I intend to finalize my radiant in floor ‘smart control’ and I will be tracking my progress here on my blog. I should be clear that this is a hobby but when completed it will be as polished as I can make it and hopefully somebody likes the idea so much they take it over and make it a reality for more than just my in floor system.

Design Concepts;

  • Bring the Smart Thermostat trend to Radiant: The company I work for sells one of the premier brands of radiant in floor systems but controls in general for hydronic systems are lackluster at best. Why is there no wireless options? Why cant I control it from my smart phone? My control is both wireless and internet enabled
  • It must have a small footprint. As of right  now my wireless radiant control is the size of a deck of playing cards or slightly larger than my business card.
  • It must be standalone. I feel that a radiant control that requires a computer is a tragedy. My system does not require a computer it is completely stand alone and can be installed anywhere in a building.  Every 3 seconds it reports data to a cloud server which you can access from your smart phone or computer but no computer is needed to power or run the system.
  • It must be mobile. Currently I am powering mine off of a battery and given its tiny size it is VERY portable. Batteries have serious limitations but I have spent a lot of time and research and I should be able to power mine for 2 years based off the power consumption of the system as it stands ( about 3480 milli volts )
  • It must have WiFi access / Local Backup: My system has WiFi access and all the data that it collects is stored securely on the internet. My system also has an onboard SD card which I will in the future use as a local backup for all the data that is currently being stored in the cloud.
  • It Must be Affordable: If you are going to build a smart control for radiant systems it does nobody any good if you can not afford it. My goal is to have a radiant smart control system that can be built by Engineers or über nerds for under $300.

How the System Currently Works

If you are familiar with a Taco ZVC control box my system works on a very similar premise. The system currently has 4 inputs ( temperature readings ) for four separate zones and those in turn energize one of 4 relays which will in turn energize the pumps ( or actuators ) for each zone. The relays for those wondering are rated up to 10 amps at 250volts which is more than competent for my project or yours.

The device is connected to the cloud and I am using JavaScript to render the results into a browser so that I can monitor what the system is doing.  I can see not only the temperatures in each zone but I am also monitoring the power to my device.

I have set up automated email alerts that notify me under the following conditions;

  • If the system looses power or the battery backup is going to die I will get an email
  • If the zones are not heating correctly or loosing temperature drastically I get an email
  • If the zone has lost communication with the server I get an email.
I took this screenshot of my online reporting about an hour ago. It shows an entire days operation for one zone and the systems power usage in Milli Volts

I took this screenshot of my online reporting about an hour ago. It shows an entire days operation for one zone and the systems power usage in Milli Volts

On My Roadmap of ‘Things to do’

I have put a lot of time into my Radiant floor Smart Control and I have already managed to program in some very interesting ‘gadgets’ have no real world value as well as some cool features I think make Radiant in floor system operation more innovative. A few items on the very near roadmap are;

  • Enable Alerts When System Goes Offline: I need to fine tune how I am going to do this portion but when my system looses internet access or does not report any data in a given period it will send an email so you know the system is offline.
  • PID Control: I am going to add a proper PID control to my temperature sensors so that it will efficiently get to the set point. I have the code just need the time to implement it.
  • Max / Min Floor Temperature: I will be adding in min/max floor temperature settings to the controller to make sure that my floor is always comfortable but that it is also not ever going to overheat the floor which can cause damage and discomfort. Nobody likes a hot floor.
  • Launch a Website for the Project: I intend to launch a Site for the online portion very soon so that anyone can see the data that is being collected.
  • Make the System even Smaller: I have already found a smaller MCU which I can hopefully program and achieve what I have done already with an even smaller footprint. The new MCU is just about the size of a small pack of matches which is exciting to me. It also costs half as much as the prototype I built.

That is all I have for now but  I will continue to update and add new blogs on this topic as I make progress.

Radiant Infloor Smart Control up against a blank business card just to show size / scale of the project right now.

Radiant Infloor Smart Control up against a blank business card just to show size / scale of the project right now.

Turn on PHP Error Logging for Admins in WordPress

In my last post I reminded you all how to turn on error monitoring and I decided I wanted to add a quick foot note to that in a new post.

I do quite a bit of custom code for people who use wordpress and recently I did a very simple hack so that WordPress Admins would see any page errors but regular users would not. The code is quite simple and is as follows


if(is_admin())
{
error_reporting(E_ALL);
ini_set('display_errors', 'on');
}

I put this code in header.php and it will display on the page any PHP errors as they happen but ONLY for administrators. Regular users will not see the php errors. Its a nice way to do php debugging without interfering with readers.

 

Turn on PHP Page Error Reporting

I write a ton of code in PHP and sometimes despite best efforts things go wrong. This is where page level error reporting will save the day. If you have just pounded out a whack of PHP code and are getting a blank white screen it is likely you have yourself a creepy critter in your code.

The easiest way to find it is to enable on page php error reporting and the following snippet will save the day;

error_reporting(E_ALL);
ini_set('display_errors', 'on');

If you do enable this small snipppet of code keep in mind that you may get quite a few non critical errors as well as the ones that are causing your page to break. Case and point when I use this snippet on a WordPress Blog I always manage to find at least 10 errors per page that wont break the site but that should be fixed at some point.

Changing a DIV Width With JQuery Using Partial Matching

Recently I had to modify a site that has literally tens of thousands of pages with embedded videos where the videos have  fixed width. The old site width supported  a fixed width of 700px. The new site width only support s a pixel width of 600px.

Add to the mix every single player has a different ID associated with the DIV and even more fun the div is populated with JavaScript. To solve the problem I used jQuery.

Right out of the gate lets look at an example of what the code on the site looked like before. Each Player loads dynamically with JavaScript into a DIV that looks like so;

<div id="bolt-710881740553305"><div id="bolt-710881740553305-container"...

Every single one of those ID numbers changes based on which video is loading. So to automatically change the width from 700px to 600px I used some basic jQuery to find any DIV that have an ID field that starts with bolt and in doing so assigned them all a new width.

I am waiting until the page is done loading before I fire my code to be sure that the JS has had a chance to load and any other rules have been applied.  The very simple code that does the work is as follows;

$(document).ready(function()
{
$("div[id^='bolt']").width('100%'); 
});

There you have a very simple method of finding a div using regular expression where you are only matching part of the title and changing part of its css rules, in this case the width.

Update WordPress Posts Without Page Refresh

I recently had to write-up some code to refresh the WordPress posts of a website without a page reload. So the idea is that a user clicks a button and all the posts below it reload automatically without a page refresh making the user experience much more polished and engaging.

There are a whole variety of Plugins for WordPress that will Ajaxify your WordPress site but that for me is like shooting a fly with a howitzer. I want the KISS method wherever possible and you should as much as possible avoid using plugins as they can slow down your WordPress site dramatically.

Frankly in this scenario there is no reason to use a plugin since implementation of refreshing WordPress posts can be done very easily with jQuery.

In this particular scenario what we are dealing with is tabbed content and each tab is representing a different set of content. So when ‘latest news’ is clicked it loads latest news, TV news loads television news,, Movie News and Hot Stories all need to do the same thing. ( illustration below )

Using a bit of jQuery we can achieve the reload effect efficiently and in only a few lines of code. Within the screen above I have a DIV placeholder identified with the id “loader”. All my jQuery is going to do is find that DIV placeholder and reload its contents with an external file called ‘news.php’.

The entire code snippet is as follows;


jQuery("#loader").load("/news.php");
jQuery("#loadtv").click(function()
{
     event.preventDefault();
     jQuery("#loader").load("/tvnews.php");
     setTimeout(addcss,1000);
});

Lets break down exactly what this code is doing. The first line is quite simple. As soon as the webpage is loaded I am finding the DIV on the webpage called ‘loader’ and I am loading into it the latest news from my external file called ‘news.php’ News.php is a file in the root folder of my site which contains a WordPress loop that would looks like so;

require('/wp-blog-header.php');
query_posts("showposts=16");
while (have_posts()) : the_post(); ?-->
<a href="<? the_permalink(); ?>"><!--? the_title(); ?--></a>

As soon as a user clicks on that TV news tab my jQuery function captures the click and replaces the ‘loader’ div with new content, this time TV news content.

Within this code you will notice I have event.preventDefault(); this code is simply there to prevent the page from trying to reload since the user is clicking on am HREF link but I don’t want to load the page I only want to load my jQuery TV news function.

Also you should note that when you replace the contents of a DIV with new content you may break other jQuery functions associated with it.  In my case the image you see is also a left to right slider and by replacing the div content it broke the jQuery slider code associated with it. So I had to reapply some CSS settings to the new ‘reloaded’ DIV content as well as reinitialize the carousel query so my code looked like this;

event.preventDefault();
jQuery("#loader").load("/tvnews.php?");
setTimeout(addcss,1000);
initCarousel();
initNav();

jQuery may not be the solution to all problems but it can certainly solve alot of them. This post is not intended to be a step by step how to it is only intended to inspire you like it has me. My final iteration of the code above is much more complex including tracking event clicks with Google Analytics and a jQuery animation effect as it transitions between TV News, Movie News, etc.

What is TweetGanic? Referral Service or Content Theft?

Last night I wrote up a blog post on What is a Growth Hacker and this morning I woke up to a bunch of referral traffic from a site I had not heard of before called TweetGanic. Naturally whenever I see a new referral I have not noticed before I want to go and investigate and the results were quite fascinating. TweetGanic is an enigma of a service that appears to paint itself as a ‘referral service’ but is in fact taking content from bloggers, slapping an ad on it and causing some original content owners to go snaky.

To see what I mean click on this referral link and look at the address bar. It looks like one of my articles but it is not;

http://www.tweetganic.com/a/307204

The articles are in fact being loaded on TweetGanic’s website. So unlike services like ZERGNET for example that drive traffic to your site TweetGanic is in loading your content on their site.  Worse yet it it also loading a really obnoxious ad on top of the content which you can see in the screenshot below.

Fullscreen capture 6302014 90917 AM

 

Quite a few bloggers I can see are screaming mad over Tweetganic taking their original content. Nathan LeClaire goes so far as to call them vultures writing;

Finding people using your stuff, greedily, for their own personal gain with no thought towards the blood, sweat, and tears that went into generating it feels like a dagger to the heart.

Blogger Ken Leaver on the other hand takes a completely different look at what is happening writing;

The content owner (me) in this case benefits from more people reading their content (albeit many of them will not read it on my URL and so there will be less traffic and link juice to my blog).  But this is a relatively small sacrifice to make to getting more readership of my content overall.

I am honestly not sure what I think just yet. One thing is for sure they are not actually lifting any content. I have had small blogs, big blogs and even multi national companies take content that I have written and publish it on their sites without credit or compensation.

TweetGanic is not actually stealing the content in the traditional definition.

When I drilled down into their source to see what they were doing and why it was even tracking as a referral I could see that it was loading my content in an IFRAME on their server as exhibited by the screenshot below.

TweetGanic

I am not entirely sure what I think of what TweetGanic is doing. Clearly they are the big winner but I also did not make out to bad. I woke up to alot of new readers, a handful of new subscribers and it cost me no money and was no work on my part.

In exchange they are loading content of mine on an iframe on their site. Content theft? I am not so sure. Referral Service? I suppose.