NEW: Aeon Home Energy Monitor v2 Device

Thanks for this awesome device type. Any idea why I’m getting 120V reported on a 208V single phase system?

Full disclosure: I’ve been having patchy performance since the last ST update, needed to re-pair the clamps with ST.

power: 263 W
energy: 0.000 kWh
volts: 123.155 V
amps: 4.579 A
energyDisp: 0.00 kWh
energyOne: Since 36/30/14 9:36 PM
energyTwo: Cost $ 0.00
powerDisp: 263 Watts
powerOne: 263 9:40 PM
powerTwo: 379 9:38 PM
voltsDisp: 123.16 Volts
voltsOne: 123.16 9:39 PM
voltsTwo: 123.16 9:39 PM
ampsDisp: 4.58 Amps
ampsOne: 4.58 9:40 PM
ampsTwo: 5.90 9:38 PM

The volts is the power the device gets via its power cord and not what it measures via the clamps.

Then how can it possibly measure the two or three phase power consumption?

Unless it’s able to sample all three probes at exactly the same time and use that to take an instant simultaneous 2-3 phase current measurement and infer the voltage from the power cord?

There is a sperate device type for v2 of this unit. Do a search on the board here look for Aeon Hem v2. !

Is that not shown in the OP? You copy paste the code in as a new device type then edit the clamps to be that new device?

Does anyone happen to know if this code would work for the Aeon z-wave smart energy switch (http://www.amazon.com/Aeon-Labs-DSC06106-ZWUS-Z-Wave-Energy/dp/B007UZH7B8)? I would like to set this up to monitor / track the charging of my electric vehicle.

Andy

There is a device type for Smart Energy switch… Why do you need HEM code?

This what display will look like if you use Aeon HEM V2 device type with Aeon Smart Energy Switch.

Gotcha. Thanks for the quick response @jjhamb. I was hoping for some more advanced features to calculate the cost to charge my electric car (nissan leaf) that is plugged into a 110v smart energy meter.

I added the standard device type and ST displays the watts + basic kWh with on off capabilities.

I added this HEMv2, it added itself as a generic zwave device… I pasted the code into a custom device, went to edit the device properties, and when I selected my new HEMv2+ device I got the following error:

500: Internal Server Error
URI
/device/update
Reference Id
775fadf6-d2a3-4a12-bc16-7d1dd9da6664
Date
Thu Dec 18 06:36:27 UTC 2014
Class
groovy.lang.GroovyRuntimeException
Message
Ambiguous method overloading for method java.math.BigInteger#. Cannot resolve which method to invoke for [null] due to overlapping prototypes between: [class java.lang.String] [class [B] [class [I] [class [C]

any ideas?

Yes - please Exclude the device and re-add it.

You need to have the Aeon HEMv2+ custom device installed BEFORE you add the device itself to ST’s Zwave network. If properly paired, it should connect as an HEM - possibly using the V1 device driver provided by ST. Once installed, then you can edit it to use my Aeon HEMv2+ device driver.

Let me know if that works.

Actually, I was able to just hard-code the update values (line 752/753 if I recall) and it worked fine.

Update values? What update values?

Line 793/794

I changed
def kDelay = new BigInteger( settings.kWhDelay )
def dDelay = new BigInteger( settings.detailDelay)

to

def kDelay = 120
def dDelay = 30

and it worked without excluding/re-adding.

Ah…

My fix is essentially the same:

Integer kDelay = settings.kWhDelay as Integer
Integer dDelay = settings.detailDelay as Integer

@mattjfrank @beckwith @storageanarchy Don’t really know who to mention but I have an Android device and utilize background color changing for my thermostat and it works in the ST app just fine.

Taking a quick look at the device type, I notice a couple differences between what I’m using and this. Namely, I only did backgroundColors (and not foregroundColors) but then I also had another property, specifically “canChangeIcon: true” within valueTile() like this:

valueTile("humidity", "device.humidity", canChangeIcon: true) { state "default", label:'${currentValue}%', unit:"Humidity", backgroundColors: [ [value: 20, color: "#E0FFFF"], [value: 25, color: "#00FFFF"], [value: 30, color: "#0EBFE9"], [value: 35, color: "#00B2EE"], [value: 40, color: "#007FFF"], [value: 45, color: "#1D7CF2"], [value: 50, color: "#003F87"] ] }

Just thought I’d throw it out there for you guys. I’m only considering purchasing this device though and don’t have one to use this exact DT on.

1 Like

THANKS! I can’t wait to try this out on my HEM v2 device which reads exactly “–”. It logs great, just doesn’t look too lively.

This fix worked for me; thanks! The included fix below yours still caused Null Pointer Exceptions.

Also, there is a type on line 768. Month is “M” not “m” (minute).

def dateString = new Date().format("M/d/YY", location.timeZone)

Thanks again for this code; it was really inexpensive to monitor this with a HEMv1 ($30) plus a Amazon Warehouse deal ST unit. I now have a way to tell the usage/cost in my house as well as the load on my generator.

Brian

1 Like

Folks - I’ve having a bit of trouble applying @storageanarchy’s code to my newly-installed HEMv2. Upon pairing, the device utilized SH’s default HEM device type. When I tried to apply the custom device type copy & pasted from https://github.com/SANdood/Aeon-HEM-v2, I encountered the following error:


Oh No! Something Went Wrong!
Error
500: Internal Server Error
URI
/device/update
Reference Id
69ae6966-ae5f-4015-8232-b29f43fe941c
Date
Tue Jan 27 06:26:59 UTC 2015
Class
java.lang.NullPointerException
Message
Cannot invoke method toByteArray() on null object

Even though I successfully saved and published the custom device type, I just can’t seem to get it to apply to the HEMv2 device in IDE. FWIW, it successfully reports data via the SH’s default device type. Anyone have any ideas? I’m a noob, so perhaps I missed something that might be obvious to others.

Sorry about that.

Grab the updated version from GiThub again, and let me know if it solves the problem…