Shelly 1PM | Daily Energy (kWh) read out

I’ve replaced my Sonoff POW with a Shelly 1PM. I’m trying to get the daily energy (kWh) reading but seem to only be able to capture the Total Energy from the device.

The HA Energy dashboard is able to parse/separate the energy reading into daily usage. Is there a way to read the daily kWh usage directly from the Shelly 1PM or extract it from the Energy Dashboard?

You can use a utility meter helper with a daily cycle.

Thank you @tom_l

I’m trying it but am not sure I’m setting up the helper correctly:

The sensor I read directly from the Shell1pm reads 1.95 kWh while the daily utility helper is getting a reading of 18.38 kWh so something is off

Shelly-Kids water heater energy ## this is the Shelly1pm sensor / directly from the device

state_class: total_increasing
unit_of_measurement: kWh
device_class: energy
friendly_name: Shelly-Kids water heater energy

shelly_kids_water_heater_energy_daily ## this is the utility helper

state_class: total_increasing
source: sensor.shelly_kids_water_heater_energy
status: collecting
last_period: '0'
meter_period: daily
cron pattern: 0 0 * * *
last_reset: '2023-03-11T16:07:37.057446+00:00'
unit_of_measurement: kWh
device_class: energy
icon: mdi:counter
friendly_name: shelly_kids_water_heater_energy_daily

Hi, I have the same issue. Did you manage to fix this? Cheers

unfortunately not. I ended up just using the HA energy usage which aggregates all the data but doesn’t give the same level of granularity

Did you create this in the UI or YAML?

This works perfectly for me (Shelly 1PM):

  source: sensor.hot_water_energy
  cycle: daily
    - peak
    - offpeak

getting the same issue. Its very odd. The energy entity for the 1pm continously grows. I’ve set up a helper using the UI - entity is the shelly energy one, reset daily, delta turned on because it continously grows. getting like 34kwh instead of more like 0.3kwh

Disable that.

It only needs to be enabled on for entities that send the difference from the last reading. The 1PM does not do that. It sends a total that always increases.

1 Like