ESPHome (DSMR/P1): device logs show frequent updates, but Home Assistant state_changed is fixed at 10s — any ideas?

Hi everyone,
I’m trying to understand an update-frequency mismatch between ESPHome and Home Assistant, and I’m hoping someone can point me in the right direction. ESPHome should normally push state updates to HA via the native API (no polling), but I’m consistently seeing a fixed 10-second cadence on the HA side.

Setup:

  • ESP8266 running ESPHome 2026.4.5
  • DSMR5 smart meter via P1 (ESPHome dsmr: component)
  • I compute net grid power as (returned - delivered) x 1000 (kW -> W, export positive) using a template sensor (containing update_interval: 1s AND filters: delta: 1.0).

What I see:

  • In ESPHome live logs, my derived "control" ensor publishes every few seconds (roughly 2-4s) with clearly different values.
  • In Home Assistant, I listend to the event bus (state_changed) for the same entity and it fires strictly every 10 seconds (not "about 10", but exactly 10s).
  • This happens regardless of the ESPHome integration option "Polling for changes" being ON or OFF.
  • When I disable polling, all sensor entities, except my own, stop updating (unless they have explicit intervals), but my control sensor still shows the same 10s cadence in HA events.

ESPHome config (relevant parts)

dsmr:
  request_interval: 0ms

sensor:
  - platform: dsmr
    power_delivered:
      id: p_delivered_kw
    power_returned:
      id: p_returned_kw

  - platform: template
    name: "Grid Power P1 (Control)"
    id: net_power_control_w
    unit_of_measurement: "W"
    accuracy_decimals: 0
    update_interval: 1s
    filters:
      - delta: 1.0
    lambda: |-
      float net_kw = id(p_returned_kw).state - id(p_delivered_kw).state;
      return net_kw * 1000.0;

(Note: the entity in HA is provided by the ESPHome integration, not a HA template/helper.)

What I've tried / checked already:

  • verified the entity is from ESPHome integration
  • verified the 10s cadens using Developer Tools -> Events (state_changed) (so it's not just dashboard refresh)
  • Toggled ESPHome integration "Polling for changes" ON/OFF
  • Ensure dsmr.request_interval: 0ms (also tested omitting it; same behaviour) - ESPHome DSMR docs say updates happen at the pace data is received with request_interval 0ms.

What I'm looking for:
I'm not trying to demand a specific interval - just trying to understand why HA is "sampling" updates at a strict 10s cadence when the device logs appears more frequent, and whether there's a known cause or debugging approach.

Questions:

  1. What could cause Home Assistant to only emit state_changed for an ESPHome sensor every 10s, even if ESPHome logs show more frequent "Sending state"?
  2. Are there known cases where ESPHome API connection/queeing/reconnect logic can effectively reduce update frequency (without showing obvious "unavailabe" states)?
  3. Any pointers on what logs/diagnostics would be most helpful to share or to search?

Thanks a lot for any ideas.
René