ESPHome not showing entities for Emporia Vue3

I have flashed an Emporia Vue3 with ESP Home and added to Home Assistant. It looks like the device is OK according to the logs…

There is a [W] in the log with connection closed…

Seems like ESP Home device in Home Assistant is getting sensor data, but no entities show for the emporia device…
what gives?

09:56:36.183][C][logger:261]: Logger:
[09:56:36.183][C][logger:261]:   Max Level: DEBUG
[09:56:36.183][C][logger:261]:   Initial Level: DEBUG
[09:56:36.184][C][logger:267]:   Log Baud Rate: 115200
[09:56:36.184][C][logger:267]:   Hardware UART: UART0
[09:56:36.184][C][logger:274]:   Task Log Buffer Size: 768
[09:56:36.204][C][i2c.idf:081]: I2C Bus:
[09:56:36.205][C][i2c.idf:082]:   SDA Pin: GPIO5
[09:56:36.205][C][i2c.idf:082]:   SCL Pin: GPIO18
[09:56:36.205][C][i2c.idf:082]:   Frequency: 400000 Hz
[09:56:36.206][C][i2c.idf:088]:   Timeout: 1000us
[09:56:36.207][C][i2c.idf:092]:   Recovery: bus successfully recovered
[09:56:36.243][C][status_led:063]: Status Led Light:
[09:56:36.246][C][status_led:064]:   Pin: GPIO2
[09:56:36.267][C][status_led:063]: Status Led Light:
[09:56:36.267][C][status_led:064]:   Pin: GPIO4
[09:56:36.282][C][emporia_vue:011]: Emporia Vue
[09:56:36.282][C][emporia_vue:012]:   Address: 0x64
[09:56:36.283][C][emporia_vue:027]:   Phase
[09:56:36.284][C][emporia_vue:028]:     Wire: RED
[09:56:36.288][C][emporia_vue:029]:     Calibration: 0.019277
[09:56:36.289][C][emporia_vue:017]:     Voltage 'Phase L Voltage'
[09:56:36.289][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.289][C][emporia_vue:017]:       Unit of Measurement: 'V'
[09:56:36.289][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.292][C][emporia_vue:027]:       Device Class: 'voltage'
[09:56:36.293][C][emporia_vue:027]:   Phase
[09:56:36.304][C][emporia_vue:028]:     Wire: BLACK
[09:56:36.314][C][emporia_vue:029]:     Calibration: 0.019277
[09:56:36.324][C][emporia_vue:017]:     Voltage 'Phase R Voltage'
[09:56:36.324][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.324][C][emporia_vue:017]:       Unit of Measurement: 'V'
[09:56:36.324][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.326][C][emporia_vue:027]:       Device Class: 'voltage'
[09:56:36.326][C][emporia_vue:034]:   CT Clamp
[09:56:36.344][C][emporia_vue:035]:     Phase Calibration: 0.019277
[09:56:36.344][C][emporia_vue:036]:     CT Port Index: 2
[09:56:36.356][C][emporia_vue:017]:     Power 'Phase L Power'
[09:56:36.356][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.356][C][emporia_vue:017]:       Unit of Measurement: 'W'
[09:56:36.356][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.356][C][emporia_vue:027]:       Device Class: 'power'
[09:56:36.363][C][emporia_vue:034]:   CT Clamp
[09:56:36.373][C][emporia_vue:035]:     Phase Calibration: 0.019277
[09:56:36.375][C][emporia_vue:036]:     CT Port Index: 1
[09:56:36.389][C][emporia_vue:017]:     Power 'Phase R Power'
[09:56:36.389][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.389][C][emporia_vue:017]:       Unit of Measurement: 'W'
[09:56:36.389][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.389][C][emporia_vue:027]:       Device Class: 'power'
[09:56:36.394][C][emporia_vue:034]:   CT Clamp
[09:56:36.404][C][emporia_vue:035]:     Phase Calibration: 0.019277
[09:56:36.406][C][emporia_vue:036]:     CT Port Index: 3
[09:56:36.417][C][emporia_vue:017]:     Power 'cir1'
[09:56:36.417][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.417][C][emporia_vue:017]:       Unit of Measurement: 'W'
[09:56:36.417][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.428][C][emporia_vue:027]:       Device Class: 'power'
[09:56:36.428][C][emporia_vue:034]:   CT Clamp
[09:56:36.436][C][emporia_vue:035]:     Phase Calibration: 0.019277
[09:56:36.436][C][emporia_vue:036]:     CT Port Index: 4
[09:56:36.445][C][emporia_vue:017]:     Power 'cir2'
[09:56:36.445][C][emporia_vue:017]:       State Class: 'measurement'
[09:56:36.445][C][emporia_vue:017]:       Unit of Measurement: 'W'
[09:56:36.445][C][emporia_vue:017]:       Accuracy Decimals: 1
[09:56:36.458][C][emporia_vue:027]:       Device Class: 'power'
[09:56:36.477][C][template.sensor:017]: Template Sensor 'Total Power'
[09:56:36.477][C][template.sensor:017]:   State Class: 'measurement'
[09:56:36.477][C][template.sensor:017]:   Unit of Measurement: 'W'
[09:56:36.477][C][template.sensor:017]:   Accuracy Decimals: 1
[09:56:36.477][C][template.sensor:027]:   Device Class: 'power'
[09:56:36.477][C][template.sensor:363]:   Update Interval: 10.0s
[09:56:36.496][C][light:089]: Light 'wifi_led'
[09:56:36.515][C][light:089]: Light 'ethernet_led'
[09:56:36.535][C][restart:092]: Restart Switch 'Restart'
[09:56:36.535][C][restart:092]:   Restore Mode: always OFF
[09:56:36.539][C][restart:100]:   Icon: 'mdi:restart'
[09:56:36.552][C][wifi_info:016]: MAC Address 'MAC Address'
[09:56:36.571][C][copy.sensor:017]: Copy Sensor 'Circuit 1 Power'
[09:56:36.571][C][copy.sensor:017]:   State Class: 'measurement'
[09:56:36.571][C][copy.sensor:017]:   Unit of Measurement: 'W'
[09:56:36.571][C][copy.sensor:017]:   Accuracy Decimals: 1
[09:56:36.572][C][copy.sensor:027]:   Device Class: 'power'
[09:56:36.591][C][copy.sensor:017]: Copy Sensor 'Circuit 2 Power'
[09:56:36.591][C][copy.sensor:017]:   State Class: 'measurement'
[09:56:36.591][C][copy.sensor:017]:   Unit of Measurement: 'W'
[09:56:36.591][C][copy.sensor:017]:   Accuracy Decimals: 1
[09:56:36.592][C][copy.sensor:027]:   Device Class: 'power'
[09:56:36.610][C][total_daily_energy:017]: Total Daily Energy 'Total Daily Energy'
[09:56:36.610][C][total_daily_energy:017]:   State Class: 'total_increasing'
[09:56:36.610][C][total_daily_energy:017]:   Unit of Measurement: 'Wh'
[09:56:36.610][C][total_daily_energy:017]:   Accuracy Decimals: 0
[09:56:36.611][C][total_daily_energy:027]:   Device Class: 'energy'
[09:56:36.630][C][total_daily_energy:017]: Total Daily Energy 'Circuit 1 Daily Energy'
[09:56:36.630][C][total_daily_energy:017]:   State Class: 'total_increasing'
[09:56:36.630][C][total_daily_energy:017]:   Unit of Measurement: 'Wh'
[09:56:36.630][C][total_daily_energy:017]:   Accuracy Decimals: 0
[09:56:36.630][C][total_daily_energy:027]:   Device Class: 'energy'
[09:56:36.650][C][total_daily_energy:017]: Total Daily Energy 'Circuit 2 Daily Energy'
[09:56:36.650][C][total_daily_energy:017]:   State Class: 'total_increasing'
[09:56:36.650][C][total_daily_energy:017]:   Unit of Measurement: 'Wh'
[09:56:36.650][C][total_daily_energy:017]:   Accuracy Decimals: 0
[09:56:36.650][C][total_daily_energy:027]:   Device Class: 'energy'
[09:56:36.684][C][captive_portal:122]: Captive Portal:
[09:56:36.706][C][wifi:1062]: WiFi:
[09:56:36.706][C][wifi:1062]:   Connected: YES
[09:56:36.706][C][wifi:827]:   Local MAC: F8:B3:B7:27:87:88
[09:56:36.706][C][wifi:834]:   IP Address: 172.16.0.100
[09:56:36.708][C][wifi:838]:   SSID: [redacted]
[09:56:36.708][C][wifi:838]:   BSSID: [redacted]
[09:56:36.708][C][wifi:838]:   Hostname: 'emporia'
[09:56:36.708][C][wifi:838]:   Signal strength: -62 dB ▂▄▆█
[09:56:36.708][C][wifi:838]:   Channel: 11
[09:56:36.708][C][wifi:838]:   Subnet: 255.255.255.0
[09:56:36.708][C][wifi:838]:   Gateway: 172.16.0.1
[09:56:36.708][C][wifi:838]:   DNS1: 172.16.0.1
[09:56:36.708][C][wifi:838]:   DNS2: 0.0.0.0
[09:56:36.730][C][sntp:059]: SNTP Time:
[09:56:36.730][C][sntp:062]:   Server 0: '0.pool.ntp.org'
[09:56:36.731][C][sntp:062]:   Server 1: '1.pool.ntp.org'
[09:56:36.734][C][sntp:062]:   Server 2: '2.pool.ntp.org'
[09:56:36.743][C][time:029]: Timezone: 'CST'
[09:56:36.762][C][esphome.ota:093]: Over-The-Air updates:
[09:56:36.762][C][esphome.ota:093]:   Address: emporia.local:3232
[09:56:36.762][C][esphome.ota:093]:   Version: 2
[09:56:36.762][C][esphome.ota:100]:   Password configured
[09:56:36.779][C][safe_mode:018]: Safe Mode:
[09:56:36.779][C][safe_mode:018]:   Successful after: 60s
[09:56:36.779][C][safe_mode:018]:   Invoke after: 10 attempts
[09:56:36.779][C][safe_mode:018]:   Duration: 300s
[09:56:36.797][C][web_server.ota:241]: Web Server OTA
[09:56:36.817][C][api:223]: Server:
[09:56:36.817][C][api:223]:   Address: emporia.local:6053
[09:56:36.817][C][api:223]:   Listen backlog: 4
[09:56:36.817][C][api:223]:   Max connections: 8
[09:56:36.817][C][api:235]:   Noise encryption: NO
[09:56:36.836][C][wifi_info:016]: SSID 'Connected SSID'
[09:56:36.854][C][wifi_info:016]: IP Address 'IP Address'
[09:56:36.873][C][mdns:177]: mDNS:
[09:56:36.873][C][mdns:177]:   Hostname: emporia
[09:56:41.809][D][sensor:133]: 'Phase L Voltage': Sending state 123.82661 V with 1 decimals of accuracy
[09:56:41.809][D][sensor:133]: 'Phase L Phase Angle': Sending state 179.44269 ° with 0 decimals of accuracy
[09:56:41.813][D][sensor:133]: 'Phase R Voltage': Sending state 124.66198 V with 1 decimals of accuracy
[09:56:41.814][D][sensor:133]: 'Phase L Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:41.816][D][sensor:133]: 'Phase R Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:41.824][D][sensor:133]: 'cir1': Sending state 119.39303 W with 1 decimals of accuracy
[09:56:41.835][D][sensor:133]: 'Circuit 1 Daily Energy': Sending state 139.17813 Wh with 0 decimals of accuracy
[09:56:41.849][D][sensor:133]: 'cir2': Sending state 121.07151 W with 1 decimals of accuracy
[09:56:41.856][D][sensor:133]: 'Circuit 2 Daily Energy': Sending state 141.57295 Wh with 0 decimals of accuracy
[09:56:41.976][D][sensor:133]: 'Total Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:41.976][D][sensor:133]: 'Total Daily Energy': Sending state 0.00057 Wh with 0 decimals of accuracy
[09:56:48.009][D][sensor:133]: 'Phase L Voltage': Sending state 123.79688 V with 1 decimals of accuracy
[09:56:48.012][D][sensor:133]: 'Phase L Phase Angle': Sending state 179.44269 ° with 0 decimals of accuracy
[09:56:48.016][D][sensor:133]: 'Phase R Voltage': Sending state 124.68687 V with 1 decimals of accuracy
[09:56:48.017][D][sensor:133]: 'Phase L Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:48.017][D][sensor:133]: 'Phase R Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:48.025][D][sensor:133]: 'cir1': Sending state 120.55478 W with 1 decimals of accuracy
[09:56:48.035][D][sensor:133]: 'Circuit 1 Daily Energy': Sending state 139.38579 Wh with 0 decimals of accuracy
[09:56:48.046][D][sensor:133]: 'cir2': Sending state 122.16229 W with 1 decimals of accuracy
[09:56:48.056][D][sensor:133]: 'Circuit 2 Daily Energy': Sending state 141.78334 Wh with 0 decimals of accuracy
[09:56:51.981][D][sensor:133]: 'Total Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:51.981][D][sensor:133]: 'Total Daily Energy': Sending state 0.00057 Wh with 0 decimals of accuracy
[09:56:54.197][D][sensor:133]: 'Phase L Voltage': Sending state 123.82500 V with 1 decimals of accuracy
[09:56:54.197][D][sensor:133]: 'Phase L Phase Angle': Sending state 179.44269 ° with 0 decimals of accuracy
[09:56:54.198][D][sensor:133]: 'Phase R Voltage': Sending state 124.72702 V with 1 decimals of accuracy
[09:56:54.201][D][sensor:133]: 'Phase L Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:54.203][D][sensor:133]: 'Phase R Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:56:54.211][D][sensor:133]: 'cir1': Sending state 121.56625 W with 1 decimals of accuracy
[09:56:54.222][D][sensor:133]: 'Circuit 1 Daily Energy': Sending state 139.59465 Wh with 0 decimals of accuracy
[09:56:54.238][D][sensor:133]: 'cir2': Sending state 123.50247 W with 1 decimals of accuracy
[09:56:54.256][D][sensor:133]: 'Circuit 2 Daily Energy': Sending state 141.99556 Wh with 0 decimals of accuracy
[09:57:00.377][D][sensor:133]: 'Phase L Voltage': Sending state 123.88123 V with 1 decimals of accuracy
[09:57:00.377][D][sensor:133]: 'Phase L Phase Angle': Sending state 179.44269 ° with 0 decimals of accuracy
[09:57:00.379][D][sensor:133]: 'Phase R Voltage': Sending state 124.78645 V with 1 decimals of accuracy
[09:57:00.385][D][sensor:133]: 'Phase L Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:57:00.386][D][sensor:133]: 'Phase R Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:57:00.396][D][sensor:133]: 'cir1': Sending state 122.83261 W with 1 decimals of accuracy
[09:57:00.407][D][sensor:133]: 'Circuit 1 Daily Energy': Sending state 139.80559 Wh with 0 decimals of accuracy
[09:57:00.413][D][sensor:133]: 'cir2': Sending state 124.90652 W with 1 decimals of accuracy
[09:57:00.434][D][sensor:133]: 'Circuit 2 Daily Energy': Sending state 142.21002 Wh with 0 decimals of accuracy
[09:57:01.984][D][sensor:133]: 'Total Power': Sending state 0.00000 W with 1 decimals of accuracy
[09:57:01.985][D][sensor:133]: 'Total Daily Energy': Sending state 0.00057 Wh with 0 decimals of accuracy
[09:57:02.334][D][sntp:100]: Synchronized time: 2025-11-25 15:57:02
[09:57:06.163][W][api.connection:1889]: Home Assistant 2025.3.2 (172.16.0.138): Reading failed CONNECTION_CLOSED errno=128

config

esphome:
  name: "emporia"
  friendly_name: Emporia

esp32:
  board: esp32dev
  framework:
    type: esp-idf

external_components:
#  - source: github://emporia-vue-local/esphome@dev
  - source: github://digiblur/esphome-vue3@dev
    components:
      - emporia_vue

# Enable logging
logger:
  #level: VERY_VERBOSE

# Enable Home Assistant API
api:
  #encryption:
  #  key: "ZAs7Yax3Hz09Ld7wjhcK7G5S06g32xqZWsh3CUfLEy4="

ota:
  - platform: esphome
    password: "48e95f4ca9b1e7b45c6d51ec93357ab5"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

   # Wifi LED
  on_connect:
    - light.turn_on: wifi_led
  on_disconnect:
    - light.turn_off: wifi_led

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Emporia Fallback Hotspot"
    password: "AGtSvLP35DE2"

captive_portal:
    

preferences:
  # please also make sure `restore: false` is set on all `platform: total_daily_energy`
  # sensors below.
  flash_write_interval: "48h"

i2c:
  sda: 5
  scl: 18
  scan: false
  frequency: 400kHz
  timeout: 1ms
  id: i2c_a

switch:
  - platform: restart
    name: Restart  

# Configure the two status LEDs on the Emporia Vue v3 case
# https://github.com/emporia-vue-local/esphome/discussions/264#discussioncomment-9788390
light:
  - platform: status_led
    id: wifi_led
    pin:
      number: 2
      ignore_strapping_warning: true
    restore_mode: RESTORE_DEFAULT_ON
  - platform: status_led
    id: ethernet_led
    pin: 4
    restore_mode: RESTORE_DEFAULT_ON

time:
  - platform: sntp
    id: sntp_time
    timezone: CST #l <your time zone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List>

# these are called references in YAML. They allow you to reuse
# this configuration in each sensor, while only defining it once
.defaultfilters:
  - &moving_avg
    # we capture a new sample every 0.24 seconds, so the time can
    # be calculated from the number of samples as n * 0.24.
    sliding_window_moving_average:
      # we average over the past 2.88 seconds
      window_size: 24
      # we push a new value every 1.44 seconds
      send_every: 12
  - &invert
    # invert and filter out any values below 0.
    lambda: 'return max(-x, 0.0f);'
  - &pos
    # filter out any values below 0.
    lambda: 'return max(x, 0.0f);'
  - &abs
    # take the absolute value of the value
    lambda: 'return abs(x);'

# Provide diagnostic information about the platform.
# https://gist.github.com/bradsjm/c2562df0e891f26e27191a31d617d471
text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
    ssid:
      name: "Connected SSID"
    mac_address:
      name: "MAC Address"


sensor:
  - platform: emporia_vue
    i2c_id: i2c_a
    phases:
      - id: phase_a  # Verify that this specific phase/leg is connected to correct input wire color on device listed below
        input: RED  # Vue device wire color, match to connected wire color on voltage sensing harness
        calibration: 0.0192775  # 0.022 is used as the default as starting point but may need adjusted to ensure accuracy
        # To calculate new calibration value use the formula <in-use calibration value> * <accurate voltage> / <reporting voltage>
        voltage:
          name: "Phase L Voltage"
          filters: [*moving_avg, *pos]
        phase_angle:
          name: "Phase L Phase Angle"
          filters: [*moving_avg, *pos]
      - id: phase_b  # Verify that this specific phase/leg is connected to correct input wire color on device listed below
        input: BLACK  # Vue device wire color, match to connected wire color on voltage sensing harness
        calibration: 0.0192775  # 0.022 is used as the default as starting point but may need adjusted to ensure accuracy
        # To calculate new calibration value use the formula <in-use calibration value> * <accurate voltage> / <reporting voltage>
        voltage:
          name: "Phase R Voltage"
          filters: [*moving_avg, *pos]

    ct_clamps:
      - phase_id: phase_a
        input: "A"  # Verify the CT going to this device input also matches the phase/leg
        power:
          name: "Phase L Power"
          id: phase_a_power
          device_class: power
          filters: [*moving_avg, *pos]
      - phase_id: phase_b
        input: "B"  # Verify the CT going to this device input also matches the phase/leg
        power:
          name: "Phase R Power"
          id: phase_b_power
          device_class: power
          filters: [*moving_avg, *pos]
      # Pay close attention to set the phase_id for each breaker by matching it to the phase/leg it connects to in the panel
      - { phase_id: phase_a, input:  "1", power: { id:  cir1, filters: [ *moving_avg, *pos ] } }
      - { phase_id: phase_b, input:  "2", power: { id:  cir2, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input:  "3", power: { id:  cir3, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input:  "4", power: { id:  cir4, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input:  "5", power: { id:  cir5, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input:  "6", power: { id:  cir6, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input:  "7", power: { id:  cir7, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input:  "8", power: { id:  cir8, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input:  "9", power: { id:  cir9, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input: "10", power: { id: cir10, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input: "11", power: { id: cir11, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input: "12", power: { id: cir12, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input: "13", power: { id: cir13, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input: "14", power: { id: cir14, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_b, input: "15", power: { id: cir15, filters: [ *moving_avg, *pos ] } }
      #- { phase_id: phase_a, input: "16", power: { id: cir16, filters: [ *moving_avg, *pos ] } }
  - { platform: copy, name:  "Circuit 1 Power", source_id:  cir1, filters: *moving_avg }
  - { platform: copy, name:  "Circuit 2 Power", source_id:  cir2, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 3 Power", source_id:  cir3, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 4 Power", source_id:  cir4, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 5 Power", source_id:  cir5, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 6 Power", source_id:  cir6, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 7 Power", source_id:  cir7, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 8 Power", source_id:  cir8, filters: *moving_avg }
  #- { platform: copy, name:  "Circuit 9 Power", source_id:  cir9, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 10 Power", source_id: cir10, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 11 Power", source_id: cir11, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 12 Power", source_id: cir12, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 13 Power", source_id: cir13, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 14 Power", source_id: cir14, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 15 Power", source_id: cir15, filters: *moving_avg }
  #- { platform: copy, name: "Circuit 16 Power", source_id: cir16, filters: *moving_avg }
  - platform: template
    name: "Total Power"
    lambda: return id(phase_a_power).state + id(phase_b_power).state;
    update_interval: 10s
    id: total_power
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
  - platform: total_daily_energy
    name: "Total Daily Energy"
    power_id: total_power
    accuracy_decimals: 0
    unit_of_measurement: "Wh"
  - { power_id:  cir1, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 1 Daily Energy" }
  - { power_id:  cir2, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 2 Daily Energy" }
  #- { power_id:  cir3, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 3 Daily Energy" }
  #- { power_id:  cir4, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 4 Daily Energy" }
  #- { power_id:  cir5, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 5 Daily Energy" }
  #- { power_id:  cir6, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 6 Daily Energy" }
  #- { power_id:  cir7, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 7 Daily Energy" }
  #- { power_id:  cir8, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 8 Daily Energy" }
  #- { power_id:  cir9, platform: total_daily_energy, accuracy_decimals: 0, name:  "Circuit 9 Daily Energy" }
  #- { power_id: cir10, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 10 Daily Energy" }
  #- { power_id: cir11, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 11 Daily Energy" }
  #- { power_id: cir12, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 12 Daily Energy" }
  #- { power_id: cir13, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 13 Daily Energy" }
  #- { power_id: cir14, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 14 Daily Energy" }
  #- { power_id: cir15, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 15 Daily Energy" }
  #- { power_id: cir16, platform: total_daily_energy, accuracy_decimals: 0, name: "Circuit 16 Daily Energy" }

Debug log from ESP Home device…

2025-11-25 09:30:39.061 WARNING (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Connection error occurred: emporia @ 172.16.0.100: Connection lost
2025-11-25 09:32:09.064 WARNING (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Connection error occurred: emporia @ 172.16.0.100: Connection lost
2025-11-25 09:32:59.072 WARNING (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Connection error occurred: emporia @ 172.16.0.100: Connection lost
2025-11-25 09:34:29.077 WARNING (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Connection error occurred: emporia @ 172.16.0.100: Connection lost
2025-11-25 09:35:22.814 DEBUG (MainThread) [aioesphomeapi.reconnect_logic] Removing zeroconf listener for emporia
2025-11-25 09:35:22.815 ERROR (MainThread) [homeassistant.components.update] Error while setting up esphome platform for update: 
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/usr/src/homeassistant/homeassistant/components/esphome/update.py", line 64, in async_setup_entry
    assert entry_data.device_info is not None
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
2025-11-25 09:35:22.816 DEBUG (MainThread) [aioesphomeapi.reconnect_logic] Trying to connect to emporia @ 172.16.0.100
2025-11-25 09:35:22.816 DEBUG (MainThread) [aioesphomeapi.reconnect_logic] Connected lock acquired for emporia @ 172.16.0.100
2025-11-25 09:35:22.817 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Connecting to IPv4Sockaddr(address='172.16.0.100', port=6053)
2025-11-25 09:35:22.819 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Opened socket to 172.16.0.100:6053
2025-11-25 09:35:22.819 INFO (MainThread) [aioesphomeapi.reconnect_logic] Successfully connected to emporia @ 172.16.0.100 in 0.003s
2025-11-25 09:35:22.819 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Sending HelloRequest: client_info: "Home Assistant 2025.3.2"
api_version_major: 1
api_version_minor: 10

2025-11-25 09:35:22.819 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Sending ConnectRequest: 
2025-11-25 09:35:22.819 DEBUG (MainThread) [aioesphomeapi._frame_helper.base] emporia @ 172.16.0.100: Sending frame: [001d010a17486f6d6520417373697374616e7420323032352e332e321001180a000003]
2025-11-25 09:35:22.906 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type HelloResponse: api_version_major: 1
api_version_minor: 13
server_info: "2025.11.1"
name: "emporia"

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 3456757072
state: 124.057945

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 2326326827
state: 179.442688

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 360257226
state: 124.004944

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 1561170465

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 4042487883

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 1798665735
state: 111.300186

2025-11-25 09:35:26.226 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 2196232122
state: 113.277496

2025-11-25 09:35:30.805 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 294834382
state: 0.000572465768

2025-11-25 09:35:30.805 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 3900173051

2025-11-25 09:35:32.422 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 3456757072
state: 124.05954

2025-11-25 09:35:32.422 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 2326326827
state: 179.442688

2025-11-25 09:35:32.422 DEBUG (MainThread) [aioesphomeapi.connection] emporia @ 172.16.0.100: Got message of type SensorStateResponse: key: 360257226
state: 124.010567


Boy do I feel dumb.

I was not running the latest version of HA Core. Once I updated, My entities were showing. UI did not show that I has an update. I had to run core update from cli.