|
Building a Home Power Monitoring System |
||||
|
|
||||
|
Software Before getting into the screenshots I should explain what the software is designed to do as a few of the features will seem a bit odd. This software is intended to be used by ISP's and large data centers to monitor thousands of individual branch circuits. Each circuit is sampled every three seconds and at the end of every minute the min/max/mean values are calculated and stored in a database. The system maintains this resolution of data for every circuit for over a year providing a very detailed history for every part of the electircal network. The software is web based. You login to a web server which launches a java applet which is shown in the screenshots below. The software is designed to be multi-user. That is, ISP's can create individual logins for their customers and assign individual circuits to customers. This allows customers to login and see just their part of the electrical network. They can populate equipment lists and alarm notification groups based on circuits, equipment, etc... They get their own alarm logs, alarm settings, notification groups, equipment lists, etc... Anyways this is not particularly useful for me in monitoring my house (I suppose I could create a login for my wife, but surprisingly, she has better things to do with her time). If nothing else, it helps explain why some of the stuff looks the way it does. This first screen on startup is the alarm history:
This screen shows a history of alarms. If you expand the alarm you can see a summary of the alarm along with the who it impacted, and which equipment was potentially affected. Since you can create notification groups against equipment as well as panels and circuits, owners of the equipment are notified automatically. Again, not that useful for home use, but a neat feature. Here is the equipment screen:
At the moment it's mostly just populated with dummy data from testing. However now that I think about it, I should really put all the major stuff in here. For exmaple, most panels have a little paper label for writing what the breaker controls. I should use this screen to list things in a lot more detail. I already use the system to figure out which circuit an outlet is attached to but once I do, I should label stuff like the TV, stereo, washer, dryer, etc... This would come in handy for reverse lookups (ie. finding the correct breaker to turn off an outlet) instead of clicking the breakers on and off one at a time. The software allows custom floor maps to be uploaded. A tool can then be used to place circuits and panels on the maps so that alarms can be tied to physical locations:
Again, in this case it's mostly just test data since I pretty much know when something goes out in my house. However, this screen is useful for navigation. The list of panels on the right show all panels that are in this floor plan or have circuits in this floor plan. Since I only have one real panel in the house, two of these panels show communcation failure errors. The real panel shows pending alarms including a tripped breaker. By double clicking on the panel icon I get the virtual panel view:
This shows all the breakers in the panel including real time updating values for current on each circuit. As you can see from the image, a number of circuits have alarms pending as they're shown in red. You can also see there are two tripped breaker alarms (once you clear the alarm the breaker will reset on screen). At the top of the panel is a rollup of all the circuit values. This lets me see how I'm doing relative to my 100amp limit for the house. At one point my wife ran the diswasher, dryer and washing machine at the same time I was in the backyard with an electric jackhammer. We hit 98 amps that day! By double clicking on any of the circuits you can see the circuit history:
This is where the real interesting stuff begins. In this shot you can see a bunch of alarm markers in the history. I normally set a 10amp threshold for every circuit in the house so I can watch when things get a bit overloaded. In this case I was doing some server work and plugged my rack back into the wrong outlet. Every time I turned the lights on in my office I'd get an alarm since the lights were on the same circuit. Since the software maintains such fine grained history, I decided to add analytics support. In the shot below you can see two loads of laundry in the dryer.
By using the buttons in the upper right corner I can enable data cursors (which should be familiar to anyone who uses a digital scope). In this case I've used horizontal cursors to measure the differenece in amps and time between two points on the curve. In addition I can compute the KWh for a given range so I can go back to my electrical bill and figure out how much I spent drying those two loads of laundry (by the way, this is about the point where my wife thought this project went from sort of cool to sort of annoying). About nine months ago the motor overheated on our dryer while the house cleaner was here. I asked her how many loads of landry she had done that morning and she said three. I took her back to my office and fired up the software and told her she had done four and wow, there was a significant current surge when the motor gave out. She was also not particularly impressed and she now asks me every time she wants to use something in the house (not a good thing). NEXT > | ||||
|
|
||||