Home Energy Management

By Jeff MacKinnon, P.Eng., PE


One of the great things about volunteering with IEEE is that you get opportunities to share some of your expertise with your peers. In December a colleague and I submitted a proposal to fund an Energy Management Workshop.

My office temperature

My System at the Office


A few years ago I set up an energy management system at the office. I tried a couple of the market solutions at the time, but everything was locked up in the "cloud".

I finally decided to go the custom route and found a great company that built energy monitors called GreenEye by Brultech. Around the same time Trihedral released VTScadaLight.

With these tools I can do just about anything.

What did I do?

Back then we used Excel to connect the energy monitor to VTScada, this has some drawbacks, but it has worked well for a few years now.

GreenEye Energy Monitor

The greeneye is overkill for a lot of reasons, 32 CT channels, pulse counters, and temperature monitors.

I have 8 channels set up to monitor the following groups:

  • Heat
  • Major Appliances
    • Water Heater
    • Dishwasher
    • Stove
    • Dryer
  • Lights
  • Everything else

With this information I am able to determine how we use our home, how home upgrades affect our power usage, etc. But to do that analysis we need a recorder.


This is where VTScada comes in. With VTScada I'm able to make all kinds of graphs showing the mains voltage, instant power, etc. I can also use the included historian to look at any combination of information that I may like.

The VTScadaLight version that I use for this has a couple of limitations, but nothing that gets in the way for a system like this. The biggest is the 50 tag limit and limit to one web connection.

If either of these get in the way for your installation, I have 200 tag licenses for sale here.

What has this system given me?

With this historical information we have been able to make the following major decisions and changes in the way that we heat the home to save operational budget in business speak.

The first upgrade was installing a heat-pump, the next was installing a electric thermal storage (ETS) so we can get on Time-of-Day (TOD) rates.


The first major change was to replace our pellet stove with a heat-pump. We always thought that the pellet stove was a cheaper way to heat the house, but when we looked at the cost of pellets and electricity for the stove a heat-pump was way cheaper to heat the home.

Time-of-Day Rates

The bigger decision was switching to time-of-day rates. Even though we use the entire space all day, we would be able to save about 12% a year in electricity charges. The NSPower tariff structure is here - https://www.nspower.ca/about-us/electricity/rates-tariffs/domestic-tod/time-of-day-rates

Graph built on python

To get the TOD rates we installed an ETS that heats the studio during the off-peak hours to keep the office warm all day. We did a little additional insulating at the same time. You can see the results in the graphs above. There is a big continuous load from 11pm till early morning.

Normal Habit Changes

We made similar changes to our normal habits, including only washing dishes at night, early morning showers, clothes drying at off-peak, etc.

We will have our first bill in the coming weeks, I will make another post with our Year-over-Year changes.

Where am I going from here?

There are a few things that don't work the way that we were hoping, one is the hot water heater. We need a new one, and I want to "tune" the heater schedule.

After this, the majority of the work needs to be done with the SCADA system. I want to be able to estimate the energy cost using calculation tags in VTScada, that don't count to the 50 tag limit, so we aren't surprised when the bill comes from NSPI.

Time is a fickle thing when it comes to programming.

Updating the connection

A really big change that I am working on is how we pull the data from the GreenEye into the SCADA. I want to get rid of Excel as the middle-man and use something that is more robust and "standard". For that I'm looking at a couple of solutions:

  1. Build a custom driver for VTScada to pull the data directly.
  2. Convert the Greeneye to Modbus on the server

I'm pretty sure I will be focusing on the second option for the workshop and then working on getting the first option figured out for future installations. There are a couple of GitHub projects that I think will be able to make it work, jkeljo/greeneye-monitor and riptideio/pymodbus. One gets the GreenEye data into a python script and then I can convert that to modbus that will connect with VTScada.

This post is part 1 of the "Home Energy Management System" series:

  1. Home Energy Management
  2. Updating Heating Control - Home Micro Grid
  3. Finally programming my ETS
  4. Updating the program - Home Energy Management System