[OBSOLETE] Aeon HEM v1 DH Discussion (DTH link in post 411)

Continuing the discussion from Aeon HEM v1/v2 Firmware 3.64 Numbers are Off?:

Spawned this topic off of the thread listed above to discuss DH topics not related to the firmware discussions.


@Jimxenus The reason why you still see the preferences numbers is because the newer DH created those but the older DH you have won’t use them. I believe that version had them hard coded in the Configuration section of the code (very bottom). If you look at the device in the IDE you’ll see them there too. The only way to get rid of them that I know of is to remove the device and add it back.

You can take my newest code and incorporate the preferences section and configuration section into the code you’re using now.

Also, you can try one other thing using my newest code to see if this helps the display issue on iOS. For the tiles called “statusText”, “energyOne”, “battery”, “energyDisp”, and/or “energyTwo”, change “standardTile” to “valueTile”.

1 Like

@PetroDude (fyi @jjslegacy), No need to edit the DH code. In the ST app, go to your device and tap on the gear in the upper right corner. Change the parameters to what you want, and then when you exit it will automatically run a config for you. I left the Config tile in the DH, but technically it’s not needed since it’s run when anything is updated.

Please note: If you are running the HEM only on batteries, reporting interval changes will have no effect. It’s still throttled to conserve battery power. There’s another discussion somewhere in the community on that. If I can find it, I’ll post a link back here.

1 Like

Changing to valueTile has fixed my issues. I can now see multiple lines of text in a box. Awesome - thanks!

1 Like

I may have to change mine as well. Thanks for the feedback.

Thanks for the quick fix. I updated mine as well and it looks great.

No worries! It figures that now it works great for iOS… I really wish ST would either resolve OS differences, or allow for OS checks in the code to work around things like this.

@michaelahess and @jjslegacy

Updated my DH code:

  • Changed default icon. Original was “st.switches.light.on”.
  • Provided comments in the code for iOS users to edit so that the rendering of text for certain tiles to work right. This is the only workaround I could come up with until ST fixes the rendering differences between the 2 OS’s.
  • Added a new parameter in Preferences so that a user can specify the high limit for a watts value instead of hard coding a value. Related to the change on 7-7-2016 in the code change log.

Latest release:


Just updated it. Set max to 8k, we’ll see how that goes, thank you!

1 Like

Thanks @michaelahess. I just realized it would be a lot easier for iOS users to just make a simple change instead of messing around with manipulating comments to fix the tile rending issues, so I just made another minor tweak to the code change log and comments to reflect that.

Hoping you might be able to help, but since switching to the new version and resetting to defaults, my Plotwatt seems to only be logging once per day for a small duration.

Following are the settings within the IDE:
Name Type Value
kWhCost string 0.18
reportType 1
secondsBattery 900
secondsKwh 60
secondsWatts 15
wattsChanged 50
wattsLimit 20000
wattsPercent 10

So it would appear that when resetting, the reportType 1 was the biggest factor that affected logging. I am not sure why it didn’t log more frequently as a change in 50 Watts should occur far more than once a day. I modified the code and switched to reportType 0 and set the time to secondsWatts 5 and secondsKwh 15 respectively and now see data coming into PlotWatt properly. Mentioning this in case it helps anyone else.

Since I am hardwired, I also commented out the battery sections, and while at it, also commented out the configure button and moved the position of refresh where battery once was. Let me know if you want the revised version and I can send over, but it’s nothing complex or anything you couldn’t do yourself I’m sure.

Why did you modify the code to change that value instead of doing it via the parameters section of the DH?

Actually, I did make the changes from within the parameters section, but when I moved from the much older version of your code to this new one, I did the full reset, which is what caused my problems.

I still seem to be having some challenges with PlotWatt, but appear to be on the right path. My settings might be off from what I had previously and unfortunately don’t have a method of seeing what was configured before.

Got it. I haven’t tried PlotWatt yet. Do you have an easy tutorial or is there a discussion in the Community on getting started? I’ll double check my Google docs app, but I think I’m ok with that capturing my readings.

Depending upon how old the code was, it may have been using all the Aeon defaults. I use to have a document with those, but it’s long gone.

This is the only thing is says in the heading:

  • Aeon Home Energy Meter v1 (US)
  • DrShaw Modifications: Updated configuration settings and tiles

But the code itself might help as the defaults I think were left as is in your original version:

zwave.configurationV1.configurationSet(parameterNumber: 3, size: 1, scaledConfigurationValue: 0).format(),      // Disable selective reporting, so always update based on schedule below <set to 1 to reduce network traffic>
zwave.configurationV1.configurationSet(parameterNumber: 4, size: 2, scaledConfigurationValue: 50).format(),     // (DISABLED by first option) Don't send unless watts have changed by 50 <default>
zwave.configurationV1.configurationSet(parameterNumber: 8, size: 1, scaledConfigurationValue: 10).format(),     // (DISABLED by first option) Or by 10% <default>
zwave.configurationV1.configurationSet(parameterNumber: 101, size: 4, scaledConfigurationValue: 4).format(),   // Combined energy in Watts
zwave.configurationV1.configurationSet(parameterNumber: 111, size: 4, scaledConfigurationValue: 15).format(),   // Every 15 Seconds (for Watts)
zwave.configurationV1.configurationSet(parameterNumber: 102, size: 4, scaledConfigurationValue: 8).format(),    // Combined energy in kWh
zwave.configurationV1.configurationSet(parameterNumber: 112, size: 4, scaledConfigurationValue: 60).format(),  // every 60 seconds (for kWh)
zwave.configurationV1.configurationSet(parameterNumber: 103, size: 4, scaledConfigurationValue: 0).format(),    // Disable report 3
zwave.configurationV1.configurationSet(parameterNumber: 113, size: 4, scaledConfigurationValue: 0).format()   // Disable report 3

I keep it logging “in the background” as a sanity check for my influxdb logging. The service is better than thingspeak (IMHO) but it doesn’t do what it says it will, and figure out what runs in your house and how much electricity individual things use.

1 Like

That’s the exact SmartApp I am using for PlotWatt logging.

Not sure what is causing it, but if I exit the HEM Thing and re-enter, the last reset status and total usage go blank until SmartThings on Android is fully closed and reopened. Only those two fields appear to be affected and they show up and disappear when re-entering the device.

That’s a well known bug/feature with how ST renders text on Android vs. iOS. It looks good on iPhones, but like crap on Android devices. If the code you’re using still has “valueTile” for the tile having issues, change it to “standardTile”. That will help some, but Andoid devices will still have a problem rendering. There are many posts in the community about this. Search for “rendering”, or “text alignment” and you’ll find a few others.