APMR Version 2.0 Released
Version 2.0 of the Arduino Power Meter Reader (APMR) project is now released. APMR s an open source hardware and software project. APMR reads the power (W) and energy (Wh) readings of RS485/Modbus communicating power meters at a constant interval. Readings are recorded on an SD card and/or sent over the Internet using a HTTP RESTful web service. Version 2.0 sees a number of new features and enhancements which include:
- Added feature to log readings to SD card
- Added feature to save setting/config to EEPROM using browser
- Modified JSON format and accompany web service
- Perform load testing on hardware
- Sense when network down, when up send all unsent readings
APMR has a new project website (http://smakonin.github.com/APMR/) and the project source code can be down loaded from GitHub (https://github.com/smakonin/APMR).
Special thanks to TJ Moon who worked on this project all summer long!
Related articles
A Smarter Smart Home: Case Studies of Ambient Intelligence
This week I learnt that I (and co-author Lyn Bartram and Fred Popowich) will have a paper appearing in a future issue of IEEE Pervasive Computing (vol 12, no 1). Here is the paper abstract:
Research has shown that small changes in behaviour in how we use our homes can result in substantial energy and water savings. Home automation and the integration of computational intelligence capabilities in the “smart home” are often cited as promising advances in the design and renovation of efficient buildings. However, the design and implementation of such technologies are largely based on energy use simulations, smart automation of the building systems and components for optimal performance rather than on effectively supporting how people use their homes. Additional factors including system complexity and awkward automation can discourage acceptance of smart home technologies. In this paper we propose that technological support for sustainable home use lies in more subtle and contextually appropriate interventions that integrate more informative models of occupant behaviour, provide hybrid levels of automated control, and use ambient sensing for localized decisions. We discuss several cases from our experience in designing sustainable home systems and describe two current design cases for ambient intelligence in home control.
Keywords: Smart Home, Ambient Intelligence; Adaptive Lighting; Circadian Rhythms; Adaptive HVAC.
You can find a PDF of the paper at http://dx.doi.org/10.1109/MPRV.2012.58
Keep your eyes peeled as there are a number of other submissions that I am either waiting on review or in the midst of writing. Write on…
Branch Circuit Power Metering
Over the weekend I was busy replacing my 2 INO6200 meters with 2 DENT PowerScout 18 branch circuit power meters (BCPM). Instead on only monitoring 2 circuits (the main house and the heat pump), I can now monitor 24 different circuits!
- PS18 Install – Open Panels
- PS18 Install – Power Junction Box
- PS18 Install – Finished Install
I will post a link to a real-time consumption report soon. I am having issue with my ModbusTCP server and a lack of time to program the report.
Related articles
- Energy and Water Meters Installed (gcgreen.wordpress.com)
- Why a Smart Meter Can be a Smart Investment (txu.com)
Wiring and Arduino Update
Well I have been very busy with course work. I though I would post a quick update.
I have finally finished reorganizing my wiring cabinet and I now have it jam-packed with all sort of equipment. As seen on the right.
I also stated the Arduino Power Meter Reader (APMR) project page which I will slowly add information to in the coming weeks. I will also be posting the source code on GitHub in the next couple of days. This will be released as an open source project.
Related articles
- Security system working with mControl via NPort (eco-sustain.org)
Proliphix IMT550w thermostat installed
Today I finally installed my Proliphix IMT550w Network Thermostat. As you may have read in my earlier post, it was hard to find the right thermostat for my American Standard HVAC system, and it took me over 2 week to do an exhaustive search to find the IMT550. To review, I have a dual fuel system with a 2-stage heat pump and a 2-stage, variable speed gas furnace.
I spent the last couple of weeks figuring out how my HVAC system is wired. This took some time because there where a different amount of terminals with different labels (e.g. my system labels W2 as X2, and not needed). The colouring of the wires was also different. I cautiously documented the current wiring scheme and the new wiring scheme with my new IMT550w installed. I then talked to Proliphix Support and they worked with me to come up with the right wiring scheme. Proliphix has one of the best support departments. Mark, from Proliphix Support, was knowledgeable and responded quickly to all my emails–what more could I ask for. For those of you who are interested in seeing the before and after diagram of my HVAC wiring take a look at my HVAC Wiring Scheme document.
What I like about the IMT550w is:
- I can read and change setting from my browser, making it easier to set up schedules;
- I can install additional indoor temperature sensors, providing more comfort and energy efficiency;
- the temperature sensors that go with the thermostat (need to order separately) are more accurate than the ACONT802;
- the thermostat firmware can be updated with new functionality.
Related articles
- Installing mControl v3 (eco-sustain.org)
Modelling the smart home, sensor data
Today David Lindberg a fellow graduate student and colleague ask, “I need a better picture of the data you’re receiving from the houses. Can you send me your database schema“? David will be looking at modelling tools and developing a model for the home. I though it might be a good idea to take some time and post what I have experienced and some of my opinions.
In my opinion, there are 2 basic data types that 99% of all sensors and actuators use (the other 1% in have not seen yet):
- a relay, like on/off, 1/0, yes/no, open/closed, or high/low;
- or, a setpoint, like a scale or discrete value (e.g. the temperature, the light level).
With sensors you can read these values and with actuators you can set these values. When it comes to reading sensors, there are 2 ways that sensors can be read, and this depends on the function of the sensor:
- continuous and periodic set interval, meters and environmental sensors (temperature, light) are typical examples of this;
- or, event triggered, PIR motion and door/window contacts are typical examples.
An example of how you can read sensors and set actuators would be to trigger a furnace to heat a room. You might place a temperature sensor in a room that is connected to micro-controller or MCU (e.g. an Arduino). The MCU would continuous read a discrete value from the temperature sensor, say once every second. The MCU could also be connected to the furnace (the actuator), say via a relay interface. We then program into the MCU the simple command, “when the temperature is under 21°C set the furnace relay to on, and when the temperature is over 21.5°C set the furnace relay to off”. Note: setting the furnace relay to on would turn the furnace on, and 21°C would be considered a setpoint.
Now if you wanted to store sensor data in a database the most basic table you could create that would store any kind of reading would be:
- the sensor name or ID, this is a unique value and a way to identify one sensor from another;
- the date and time of the reading, it is best to store this in UTC or GMT to avoid daylight savings time change issues;
- the periodic value, the amount since the last periodic reading;
- the instantaneous value, what the sensor’s reading is now.
So what is this periodic value, instantaneous value thing? When and how do I use them? Good questions, I am glad you asked! If we look at power meters, the periodic value would be the amount of Wh (watt-hours) used since the last reading and the instantaneous value would be in W (watts) for the current power level. With temperature sensors there would be no periodic value and the instantaneous value would be the current temperature (in °C, °F, or °K).
I may have more to add later…
Security system working with mControl via NPort
So yesterday and today I spent time installing the NPort 5250A Serial to IP Server and hooking it up to my DSC security system. After the hardware was setup, I enabled the “DSC PS” driver in mControl Service Manager and configured it with the right IP address and port. Then I added a new device in mControl Editor. Once done, I was able to arm/disarm the security system without issue. What I like about mControl is that once the hard work of installing the hardware is done, there is no struggle on the automation software side; only add or change some settings/configurations and it just works! Next task is to get the NPort to talk RS485 to my ION6200 power meters and write the corresponding mControl driver.
In the next couple of weeks I will be posting more information on:
- how to create a meter enclosure for your smart/revenue meter;
- how to start writing mControl drivers;
- a project page on how to create you own Arduino power meter reader (the APMR project), that uses a real-time clock (RTC) and RS485/MODBUS.
One thing to note is that I am trying to get the “DSC PS” driver in mControl modified. My security system has 4 partitions and the driver, in its current form, only support 2.
Related articles
- Installing mControl v3 (eco-sustain.org)
- mControl Device Drivers (eco-sustain.org)
Insteon phase coupler installed
So I installed the SignaLinc hardwired phase coupler and the 10A FilterLinc today and it looks like all the communication issues I was having are gone. I am still getting hop counts of 3 on some devices, but I think that may go away once I install more Insteon hardware.
Related articles
- Insteon communication issues (eco-sustain.org)
Insteon communication issues
Looks like I have some issues with Insteon communication. The mControl log is recording error such as:
!!! PowerLinc possible data loss: 0x02 not found at beginning of data !!! PowerLinc communication error - NAK received (B) !!! PowerLinc possible data loss: 0x02 not found at beginning of data
And the device summary shows a lot of “reachable=false, hops=3″ which is not good. If I change where the Insteom PLM is plugged in then I get somewhat better results. Looks like I need to:
- couple the phases with a SignaLinc hardwired phase coupler;
- a filter out any noise from my computer UPS with a 10A FilterLinc.
Hopefully this will do the trick. I have ordered the equipment and will update you on how I resolve this issue…





