Gauge Tiles & Piston State Display for Energy Reporting Devices


This piston will create gauge tiles and piston state for a HEM or other power meter such as a power-reporting outlet.

The piston shows:

  • Power
  • Energy
  • Current (calculated)
  • Cost (calculated)

You can set your device and cost per kWh in the variables. Cost is a simple calculation assuming a flat rate per kWh. I believe there’s another example in main ST community that calculates based on time of day.

I have this set-up for my whole-home HEM and then another instance each for my clothes washer and dryer. For the latter I adjusted the ranges in the gauges and color coding to something more applicable for a single appliance.

Make sure to put the piston in a category that shows tiles to get the gauges:

Power Monitor v0.3.02
How can i bold this?
Monitor sump pump

Which HEM are you using? I am becoming more and more intrigued with them. Initially I thought everyone just had way more outlets/sockets monitoring everything haha


I have the Aeon Labs earlier gen model …

There is a later, more featured (and more expensive) model.

Many threads in the ST forum covering the model I use and the custom handler for it.


Here’s my piston that takes into account time-of-use rates (yes, those really are the rates here!):


Thanks for posting that!


Very nice work @ahndee


I sure hope that those energy and cost numbers are not daily values :scream:


LOL, is that at me? No, that’s since the last time the HEM was reset which was Aug 17th I think. I’m in TX. The AC runs like crazy this time of year.

Power and current are point-in-time. Energy and cost are cumulative.


Yes - that was at you. Even for a week those numbers are crazy! TX should be good for solar, right?


On my radar. Not convinced it’s a good deal just yet. It’s getting close.

Last monthly usage was 3,561 kWh and I prob have another month of that. That’s actually way down from before I started smart home stuff.


Finally pulled the trigger on this. Got the latest gen.


I’ve updated this piton to add a gauge/state for projected cost. To use you need to set the last and next reset dates (based on your billing period).

The calculation is pretty basic - just uses an average per day so far for the period multiplied by the total number of days in the billing period.


Nice one. Hey @ady624, any brainstormings for webCoRE+ActionTiles integration?


I popped the question a while back, no fruition. Sorry.


@CosmicPuppy you guys still going stag to the dance?


Our current development sprints are fully committed for the next 2 to 4 months.

Since webCoRE pistons can be triggered by Routines, Virtual Momentary Buttons, or Virtual Switches (and more), and since webCoRE is not a certified “Works With SmartThings” published SmartApp with a broad consumer focused market; we are continuing to kick this can down the road.

We’re certainly keeping an eye on it, though :eye:, and revisit it during our strategic plan reviews.


Hi Nezmo:

Great Job!

One question.

Where can I see the gauges???
How can I make thems "Make sure to put the piston in a category that shows tiles to get the gauges:"
On Webcore page? Can I see thems as actiontiles?




The gauges will appear on the main webCoRE dashboard. You can’t get them on ActionTiles I’m afraid.

You do this in settings:

Once in settings set-up a category and name it how you want and how you want to display pistons in that category (details, tiles, mix etc). For gauges (or tiles) to display you need to select an option that includes ‘tiles.’

On each piston you can then assign to a category:

Note, if you set the category up as a one without details then to open the piston again later to edit, etc you’ll need to change the category in settings to display details again.


Does the dates need to be reset every month?
Does this reset the kwh on the device itself monthly?
Putting multiple pistons under 1 category makes the gauges all appear without knowing which one is which. I assume it is better to have 1 piston in its own category?



It does, yes.

No, that would need to happen in the device handler assuming you are using one that has that option.

I would say that’s purely a personal choice.