Hi, I know most of us here like to track our energy usage (from our panels). I recently switched my old setup which was using an Efergy monitor (2 transmitters, 2 circuits monitored) to a full blown eGauge setup that monitors most of my circuits at home. I thought I should share my experience here so that everyone could benefit from what I've learned. Disclaimer : I'm not affiliated in any way with eGauge, I did not get a rebate or anything, I simply bought the system over the internet and installed it. First things first : What's an eGauge? It consists of a small SOC (I've been told it's a Snapdragon processor) that runs a web server with solid state storage. It stores the data, no external service required Each eGauge can monitor 12 channels, which, in most cases, will translate into 12 current transmitters or CTs. You need more than 12 channels? No problems, you can add another (or 10!) eGauge to your setup. Then each one has its own database and web server and you can configure one of your device, the "main" one, to import the value from the secondaries. You supply it with power using a new circuit in your panel. Ideally, you should feed it with each phase of your grid connection. Here in Canada / US, we mostly use Split Phase systems so it connects to the Neutral bus, the first phase and the 2nd phase. If you have a 3 phase feed, you use the L3 connection for the 3rd phase. It's not big nor small (7″×3.4″×1.2″) There are 2 variants : EG3000 : Ethernet only version : check your regulations but in most cases, if you buy this one, you can't install it inside the panel (because of the Ethernet cable) and because it is feed by live wires, it must be in an enclosure EG3010 : Ethernet and HomePlug AV : if you need to install it in your panel, that would be the one to choose. The HomePlug AV (aka Ethernet over power lines) is bonded on the L1 phase connector of the device, really neat : everything is in the panel and you use the Homeplug AV to extract the networking. You can also use the HomePlug AV protocol to have multiple eGauge communicate with each others. And 2 registers configurations : a register is a value that is stored over time. Lets say you want to view/store the L1 voltage, you configure one of your register as "L1 Voltage". On a 16 registers model, that means you now have 15 registers left. The more registers you have, the less detailed the history will be. Both models keep : 1 min averages for 1 year 1 sec snapshots for 10 minutes 16 registers : 15min averages for 29 years 64 registers : 1h averages for 6 years After you've configured your device, here's what the homepage (web server running on the device) looks like (sorry, my registers name are in French!). The green line at 4AM is my HPWC with my car set to 64A max. It's pretty neat : you can change the colors of the lines depending of the flow of current, have some of the lines checked by default, etc etc. You can also create views which only show you a subset of the data. I created one that aggregates my heating / cooling circuits so I can get an overview : -Yellow Orange is my heat pump (Fujitsu 15RLS2) -Gray is baseboard heating from my apartment -Black is baseboard heating from my home (most of the heating load is taken by the heat pump except during the night where the basement needs a bit of love!) -The small green peak at 8:30AM is my garage : I got to work so I opened the garage door, backed the car out and closed the door. The heating kicked in for some time. Hold CTRL and over the graph and you'll get this : (also switched to 1sec snapshots where you can see my baseboard heaters turning on & off) Installation Installation is pretty straightforward (on par with most devices like this one). I selected the Ethernet only version because I did not have enough free space in my panel for installation... I like Ethernet anyway. I did get help from an electrician friend because we're required to here in Quebec... and he's faster than me when fishing wires and working in a live panel. If regulations would have allowed it, I could have done the installation by myself in 4-5h You add a new double-throw breaker (or 2 single throw breaker) to feed the eGauge. You need one on each phase You add the CT around the circuits you want to monitor Route that into the enclosure Trim & connect the CT wires Connect the power wires Connect the Ethernet cable Pictures taken during the installation : Testing everything before pulling the wires in the conduit : Almost complete result in the enclosure box they sell for the external installation : Configuration This is where the fun begins! This is my "installation" Page : It consists of 5 big sections : Potential Transformers (PTs) : unless you're monitoring more than 277V per phase, you don't need to change anything here. My split phase voltage (120V in my case) is directly feed in the unit so I chose "direct" Current Transformers (CTs) : this is where you configure the CT rating of each of the channels. I bought revenue-grade AccuCT for my main panel feed and regular SCT CTs for the other circuits. You can also select "Custom" and enter the custom factor in the text box Remote Devices : this is where I added my 2nd eGauge in my downstairs's apartment (I have 2 feed from the grid). It supports a variety of devices, check their website! Registers : this is where you select what you want to monitor & store. On single phase loads or balanced 240V loads, you only need 1 CT. Look at line #4 "P" means Power. Power is negative because it takes power from my panel(VS a generator or solar). It's then CT4 * L1 + -CT * L2. Total and Virtual Registers. Those don't count towards you register limit, they are calculated on the fly by the eGauge. Usage and Generation are always there. Since I have 2 feeds from my grid, Usage = "Grid" (Line #11 of my registers) + "Bach Grid" (Line #4, a remote register from my 2nd eGauge unit) If you use a dot "." in the name, the first part becomes a view. e.g. "vChauffage.AC" creates an "AC" line in the "vChauffage" view. I have 5 registers that start with "vChauffage"... they will all show up in this view You can do really nice stuff there : add or subtract registers, create complex calculations for billing cycle or other. For example : I have an heating circuit for my basement AND my garage. I put a CT on the breaker and a 2nd CT in the garage, close to the base board. I then created a Virtual Register for "Basement Heating" which is the register "Basement + Garage" MINUS the register "Garage" Remote Access eGauge provides a "proxy" service. When the eGauge boots, it opens a TCP connection to their servers. You then get an address similar to "myegauge.egaug.es" where you can access your device. Remember : the web server is running on the device and the data is stored locally... It only creates a tunnel for the data to go though without having to open up your firewalls or having to redirect a port. API / Device integration The webserver running on your devices provides a XML based REST api. It's very easy to use (documentation is here). Example call : Code: http://[youregauge].egaug.es/cgi-bin/egauge-show?m&n=2&a&f=1448303265 m: we want minute averages n=2 : we want 2 rows a : return virtual and remote registers f=1448303265 : return data from epoch time 1448303265, AKA Mon, 23 Nov 2015 18:27:45 GMT. (it goes backward so you'll get power at that time and earlier) Result : Code: <group serial="[...]"> <data columns="35" time_stamp="0x56535a74" time_delta="60" epoch="0x564241f8"> <cname t="P">use</cname> <cname t="P">gen</cname> <cname t="P">Rest of Load</cname> <cname t="P">Chauffage Maison</cname> <cname t="P">Tesla Chargers</cname> <cname t="P">Chauffage Resistif</cname> <cname t="P">vChauffage.Etage</cname> <cname t="P">vChauffage.SS</cname> <cname t="P">vChauffage.Bach</cname> <cname t="P">vChauffage.Garage</cname> <cname t="P">vChauffage.AC</cname> <cname t="P">Chauffage SS</cname> <cname t="P">vChauffage.use</cname> <cname t="P">vEV.HPWC Int</cname> <cname t="P">vEV.HPWC Ext</cname> <cname t="P">vEV.use</cname> <cname t="P">Grid+</cname> <cname t="V">Voltage L1</cname> <cname t="V">Voltage L2</cname> <cname t="P">Chauffage SS et Gar-</cname> <cname t="P">Chauffage Etage-</cname> <cname t="P">Eau Chaude-</cname> <cname t="P">AC-</cname> <cname t="P">Frigo-</cname> <cname t="P">Poele-</cname> <cname t="P">Laveuse-</cname> <cname t="P">Secheuse-</cname> <cname t="V">Bach Volt L1</cname> <cname t="V">Bach Volt L2</cname> <cname t="P">Bach Grid</cname> <cname t="P">Bach Chauffage</cname> <cname t="P">HPWC Ext</cname> <cname t="P">HPWC Int</cname> <cname t="P">Garage</cname> <cname t="P">Chauffage Garage</cname> <r> <c>1915881801</c> <c>0</c> <c>143386114</c> <c>-645423017</c> <c>-381966015</c> <c>-274279612</c> <c>-2734395</c> <c>-14360693</c> <c>-254906128</c> <c>-2278396</c> <c>-371143405</c> <c>-14360693</c> <c>645423017</c> <c>-338975250</c> <c>-42990765</c> <c>381966015</c> <c>1536586871</c> <c>98368271156</c> <c>98664299539</c> <c>16639089</c> <c>2734395</c> <c>279044242</c> <c>371143405</c> <c>33460293</c> <c>12087018</c> <c>15624986</c> <c>63848441</c> <c>73787342377</c> <c>73981831575</c> <c>379294930</c> <c>254906128</c> <c>42990765</c> <c>338975250</c> <c>341041675</c> <c>2278396</c> </r> <r> <c>1915780888</c> <c>0</c> <c>143337370</c> <c>-645377828</c> <c>-381965794</c> <c>-274262944</c> <c>-2734068</c> <c>-14354882</c> <c>-254895680</c> <c>-2278314</c> <c>-371114884</c> <c>-14354882</c> <c>645377828</c> <c>-338975153</c> <c>-42990641</c> <c>381965794</c> <c>1536525416</c> <c>98361001620</c> <c>98656996744</c> <c>16633196</c> <c>2734068</c> <c>279044242</c> <c>371114884</c> <c>33454241</c> <c>12086547</c> <c>15624932</c> <c>63848370</c> <c>73780077404</c> <c>73974530643</c> <c>379255472</c> <c>254895680</c> <c>42990641</c> <c>338975153</c> <c>341041564</c> <c>2278314</c> </r> </data> </group> How to interpret this? Let's take the first record, "use". The first row is : 1915881801, the 2nd one is : 1915780888 1915881801 - 1915780888 = 100913. The top of the file states "time_delta=60".. so this is 60sec of the "power" register getting updated... 100913 / 60 = 1681.88Watts average. While it looks weird, the eGauge simply calculate the value each seconds and increments the counter. For example, if you monitor the Voltage of a line and you have 120V. The counter starts at 0. After 1sec, the value is now 120,000... then 240,000 and so on... Values are stored as 64bit signed integer... and they will overflow. You need to handle this on your side. i.e. at one point, one of the register will read a value slightly lower than 9,223,372,036,854,775,807 and then, the next second, it will roll over to -9,223,372,036,854,775,808. It's pretty easy to fix but you need to be able to handle this in your code. Important note : when adding a remote register from another eGauge, the local eGauge will start it's register at the same value as the remote one. If, for some reasons, the connection is broken for some time, the local eGauge will catchup to the remote one by over-calculating power until both registers are at the same value. While this might screw up the instant power value, it means that you kWh reading will be good. They call this "leaking". You can check the status of the eGauge "team" by using the "?teamstat" query. Each register will list an "excess" value which is by how much you need to catchup. This command also gives you the "leak_rate" which is by how much you're over-calculating to catch up. This leak rate is proportional to the real power being consumed. If you circuit is pulling 100W, you'll read 110W until no more leaking is required. Pull 20KW and you'll read 22KW. Keep that in mind if you do some calculation in virtual registers. I'm working on a SmartThings app that connects to it, it'll be released opensource in some time. CT Selection When selecting a CT, you need to select the smallest possible (physical dimensions) one for you need. Most circuits will be OK with the 0.4in model they sell (should fit over one #2 AWG wire) . Bigger gauge will required bigger CTs but I doubt anyone is the USA/Canada will require more than 0.75in (which goes up to 4/0 AWG). When selecting a CT, you also need to select the smallest possible AMP rating for your need. For example : lets say your electric water heater is on a 30A breaker but will never exceed 20A, it's preferable to use a 20A CT. The CTs are the most accurate between 10% and 100% of their load rating. This means that a 30A CT will be accurate from 3A up to 30A. If you need more precision, especially in the lower range of the load, they offer "AccuCTs" in 50A, 100A and 200A, all in 0.75" size. They are rated at a maximum error of 0.2% (that's a factor 0.002) from 1% up to 100% of their rating. But they cost more. Tip : if more than one circuit are on the same phase, you can put more than one wire in one CT and it works fine to add up those 2. I did it with baseboard heating circuits. More details here (official doc ) https://www.egauge.net/media/support/docs/egauge-CT-guide.pdf Pricing Details If you've been following, you know that I'm monitoring 15 circuits and 5 of those are unbalanced so that means I needed 20CTs. One circuit stills needs to be wired (an external 14-50 for when my wife buys her Tesla) so that's 22 CTs (I know the That the UMC does not use the neutral wire but I want to be sure I get the load correctly so it means 2 CT for a 14-50 for the rare case family comes home and plug in their RV). I also decided to go with AccuCT for some of the loads so that I get "revenue grade accuracy". Store page : https://www.egauge.net/eos/ This is what I bought (prices are as of this writing, Nov 24th 2015) -$584ea : EG3000 (A005-ETH-064) : this is the Ethernet only model. Bought 2 of those. Base model is $494. (1% precision, no certificate). For $30 more you get the certificate and additional $60 gives you the 0.5% with certificate (which I chose, therefore $584 it is). Direct Link to model info. If you need the HomeplugAV model, add another $50 on top of that to get the hardware inside and you also need the HomePlugAV which is not included (they sell one for $35). The number of register is a software config, it does not change the price. -$35ea : 0.4in Split Core CTs. Available in a variety of current ratings (same price). If you need the 0.75in model, they are slightly more expensive at $46. I bought 14 of those for my heating, HVAC, clothe dryer, oven, etc etc. -$65ea : 0.75in Split Core AccuCTs. Available in 50-100-200-250A ratings. Bought 8 of those. Yes, 8!. I need 2 on each of my grid connection. 2 for my garage sub-panel and 1 for each of my HPWC (got 2 of those) -$96ea : 10x8x4 Nema 4 Enclosure to install outside the panel. Nema 4 is overkill in my case since I installed them inside but since they looked nice, I chose to take them -$0.50/ft : CT Wire Extension (600V rated AWG twisted pair). I needed 50ft. -$36ea : extended warranty on the eGauge. Adds 3 years for a total of 5. Total was a whooping $2467 but I consider this to be an extreme example(2 grid connections, 2 HPWC, 1 subpanel, lots of sub-circuits, etc etc). This does not include installation time / hardware (around $50-$100 in my case for the conduits, breakers, wire and conduit connectors) If you're fine with 1% accuracy (you should! I should have been!), you could easily build a base setup like this : 1xA00-ETH-064 eGauge @ $494 (1% no certificate) 1xEnclosure box @ $96 2x0.75in CT for your grid connection @ $92 1x0.4 CT for you HPWC @ $35 Total : $717 Add an additional $15-$50 for the hardware (new breaker, wire, clamps, conduit, etc) If you want/can install it in your panel, you can save on the enclosure but the eGauge costs $50 more and you need an Homeplug AV dongle for $35. Total is $85 so $11 less than an external install but you won't need the conduit so it's a faster install.