Home Assistant 中文文档 下载 App

电网数据接入与功率分析

为什么需要电网数据

Home Assistant Energy Dashboard 的电网数据让你看清:

没有太阳能/电池的用户也可以通过电网数据监控家庭总耗电——了解哪些设备是耗电大户。

智能电表接入

电网数据最直接的来源是智能电表。不同国家/地区的电表类型不同:

方案一:运营商 Zigbee 智能电表 + Home Assistant HEMS

中国电网、南方电网的智能电表支持 Zigbee HEMS 协议。Home Assistant 有 HEMS 集成可以直接读取:

  1. 找 Home Assistant 兼容的 HEMS 智能电表
  2. 电表连接到你的 Zigbee 网络
  3. Home Assistant Settings → Devices & services → Add integration → 搜索 HEMS

方案二:红外抄表器 DIY

大多数国内智能电表有红外通讯口(在电表正面的一个小窗口)。可以用一个 38kHz 红外接收头 + ESP8266 做抄表器:

  1. ESPHome + 红外接收头模块
  2. 读电表的 DLMS/COSEM 协议数据
  3. 推送到 Home Assistant

这个方案成本低(几十块钱),但需要一些硬件动手能力。

方案三:电流互感器(CT)方案

最普及的方案——在家庭总配电箱进线处套一个电流互感器(SCT-013):

  1. 电流互感器套在主进线上(不用断电,夹住就行)
  2. 信号送到 ESPHome(NodeMCU/ESP32)
  3. ESPHome 计算出功率,推送到 Home Assistant
  4. 精度取决于 CT 质量——好的 CT 精度在 ±5% 以内

适合中国国情:不用依赖运营商电表,自己装、自己管。

电表创建的实体

Home Assistant 从智能电表读取的数据通常包括:

实体含义
sensor.grid_power当前总用电功率(W)= 电网购电 - 卖回电网
sensor.grid_energy_consumed累计电网购电量(kWh)
sensor.grid_energy_returned累计卖回电网电量(kWh)
sensor.grid_voltage电压(V,通常 220V 左右)
sensor.grid_current电流(A)
sensor.power_factor功率因数
sensor.grid_frequency频率(Hz,中国 50Hz)

在 Energy Dashboard 里配置

Settings → System → Energy → Grid consumption

Current grid consumption: sensor.grid_power
Grid energy consumed: sensor.grid_energy_consumed
Grid energy returned: sensor.grid_energy_returned

三个实体分别对应:

分时电价(TOU)数据

如果你有分时电价(Time of Use,国内很多地方峰/平/谷三段电价不同),可以在 Energy Dashboard 里配置:

Settings → System → Energy → Electricity grid → Tariff settings

Peak rate: 1.2 元/kWh
Flat rate: 0.8 元/kWh
Off-peak rate: 0.3 元/kWh

Peak hours: 19:00 - 22:00
Flat hours: 08:00 - 11:00, 15:00 - 18:00, 22:00 - 24:00
Off-peak hours: 00:00 - 07:00

配好后 Energy Dashboard 会自动计算电费账单预估和发电补贴收入。

功率分析自动化

有了电网功率数据,你可以做很多有趣的事情:

场景一:设备功耗估算

不知道家里哪个电器最费电?可以做"开/关某个设备时看总功率变化":

alias: 烤箱开启时记录功率差
trigger:
  - platform: state
    entity_id: switch.oven
    to: "on"
action:
  - service: notify.mobile_app_me
    data:
      title: "烤箱开了"
      message: >
        当前总功率:{{ states('sensor.grid_power') }}W

场景二:异常用电报警

alias: 异常高耗电提醒
trigger:
  - platform: numeric_state
    entity_id: sensor.grid_power
    above: 5000  # 5kW 以上
    for:
      minutes: 5
action:
  - service: notify.mobile_app_me
    data:
      title: "耗电异常"
      message: >
        总功率已达 {{ states('sensor.grid_power') }}W
        请检查是否有设备未关

场景三:夜间待机功耗监控

晚上关灯关设备后看看总功率还有多少——这就是待机功耗:

alias: 夜间待机功率记录
trigger:
  - platform: time
    at: "03:00:00"
condition:
  - condition: state
    entity_id: person.me
    state: home
  - condition: state
    entity_id: group.all_lights
    state: "off"
action:
  - service: notify.mobile_app_me
    data:
      title: "夜间待机功耗"
      message: >
        当前待机功率:{{ states('sensor.grid_power') }}W

关于 ESPHome 电流互感器方案的小提示