Whenever I start a new project, I find it helpful to define several key items. These typically involve defining what the customer requirements are, and what tools are available to meet those requirements.
The customer for this project is a friend who recently converted a shuttered electronics supply warehouse into an 8000 square foot mixed used building.

The first floor office is designed to be Net-Zero office space, making it Rhode Island’s first and only Net-Zero facility. Yes, I do live in a small state. Fortunately, that provides me access to a unique building and its owner for this project. More details about the building can be found here:
http://jtjinvestments.com/wolcott.html
You’ll notice that I said “designed to be Net-Zero”. A claim is only as good as the data that backs it up, and obviously claiming Net-Zero is only possible if you can show that the office tenants use less energy than on-site renewable generation provides. This provides our primary customer requirement: I must continuously track and display energy generation and usage. I also want the ability to display this information in real-time, or to display historical trends based on stored data.
Electricity for this building is generated by a photovoltaic array, and solar thermal devices provide hot water for building heat and domestic hot water. There is a backup high-efficiency gas boiler in case of an unusually long and rainy winter (which occasionally happens in Rhode Island). These are the energy sources I want to measure. I also want to know what environmental forces were driving energy usage. This requires measuring temperature and humidity, both inside and outside the building, and possibly measuring wind as well. Since this building is grid-tied, it is possible for the office tenants to use more electricity than is generated. I would like to measure power at each outlet, but I’ll settle for a single point of measurement.
Now that I’ve established some basic requirements, let’s look at the tools we can use to meet those requirements. I simplify things by separating tools into hardware and software. If I can’t measure signals effectively, I don’t have data to display to the user, so I’ll start by looking at a few of the signals to be measured and available sensors.
The basic block diagram looks like this:
There are a lot of companies with off-the-shelf sensors to measure our signals. I’m not interested in re-inventing the wheel and I do want to keep the sensors simple and safe, so off-the-shelf is my preferred option when available. Many solar panel inverters provide power information in some format, so I’ll use that if possible. Temperature sensing can be done more easily, but humidity is less common. I’ve found an inexpensive combined temperature and humidity sensor at Futurelec:
http://www.futurlec.com/HHT02.shtml
This is a good starting point for measuring indoor and outdoor temperature and humidity. It has a unique 2-wire style interface that is not I2C compatible, so I’ll have to create interface software to communicate with it. For the power measurements from the solar array, the inverter, a Fronius IG3000, provides an RS232 interface for accessing much of the data that I want:

http://www.fronius.com/cps/rde/xbcr/SID-4DBF6F8C-5987AA20/fronius_usa/Fronius_Interface_(2).pdf
I called the Fronius and spoke with Dan Forston. He helpfully pointed me to demo software and source code, simplifying my task of acquiring data from the solar array. Now I have some basic measurements and hardware interface requirements defined. In future posts, I will discuss products and methods to measure additional signals and discuss software tools.