Home Assistant 中文文档 下载 App

家庭储能电池系统配置

家庭储能的价值

家庭电池储能解决的是太阳能时间错配问题——白天太阳能产能大于家庭消耗时把电存进电池,傍晚太阳能停了但家庭还需要电时从电池取。

有了电池后:

主流家庭电池系统

电池系统容量Home Assistant 集成方式
Tesla Powerwall 2 / 313.5kWhtesla_custom(Tesla Cloud API)
比亚迪 Battery-Box Premium LVL5.1~10.2kWhModbus TCP(局域网直读)
华为 LUNA 20005~30kWhModbus TCP(局域网直读)
Goodwe Lynx Home U5.4kWhModbus TCP
Pylontech + MPP Solar DIY按需Modbus / CAN

特斯拉 Powerwall 接入

Home Assistant 上接 Tesla 的最主流方案是社区开发的 tesla_custom 集成(HACS 里可以装):

步骤

  1. HACS → Integrations → Search Tesla → 装 tesla_custom
  2. Settings → Devices & services → Add integration → 搜索 Tesla → Configure
  3. 浏览器会跳转到 Tesla 官方登录授权
  4. 授权后 Home Assistant 自动拉取 Powerwall(或 Tesla 车、Solar)数据

创建的实体(节选)

实体含义
sensor.powerwall_charge当前电量百分比
sensor.powerwall_battery_now当前充/放电功率(正数=充电,负数=放电)
sensor.powerwall_site_now家庭总功率
sensor.powerwall_grid_now电网功率
sensor.powerwall_solar_now太阳能功率

注意

Tesla 云 API 有限流——如果 Home Assistant 请求太频繁会被临时封禁。tesla_custom 已做了适配,按设备数量调整轮询间隔。

比亚迪 / 华为等 Modbus 电池接入

国产电池(比亚迪、华为、固德威等)普遍支持 Modbus TCP——直接从局域网读取电池状态,不需要云端:

步骤(以华为 LUNA 为例)

  1. 确认逆变器和 Home Assistant 在同一局域网
  2. Settings → Devices & services → Add integration → 搜索 Huawei Solar
  3. 填逆变器 IP 地址
  4. 华为集成自动识别太阳能 + 电池

创建的实体

sensor.battery_state_of_capacity        → 当前电量百分比
sensor.battery_charge_power             → 充电功率(W)
sensor.battery_discharge_power          → 放电功率(W)
sensor.battery_day_charge              → 今日充电量(kWh)
sensor.battery_day_discharge           → 今日放电量(kWh)
sensor.inverter_active_power            → 逆变器总功率
sensor.solar_generation                → 太阳能功率
sensor.grid_active_power               → 电网功率

DIY 储能系统

很多玩家自己用 Pylontech 或 LiFePO4 电芯 + MPP Solar 逆变器 组装家庭储能:

  1. 电池用 Modbus 或 CAN 接口连 Home Assistant
  2. MPP Solar 逆变器也支持 Modbus TCP
  3. 用 Home Assistant 写自动化管理充放电策略

典型 DIY 架构:

Pylontech US5000 电池(4~8 节并联 → 20~40kWh)
    ↕ Modbus
MPP Solar PIP 逆变器
    ↕ Modbus TCP
Home Assistant
    ↕ 自动化
充放电策略

电池管理自动化

策略一:自发自用(最常见)

alias: 电池自动充放电
trigger:
  - platform: numeric_state
    entity_id: sensor.solar_production
    above: sensor.home_consumption
    for:
      minutes: 5
action:
  - service: number.set_value
    target:
      entity_id: number.battery_charge_limit
    data:
      value: 100

alias: 电池到 100% 停止充电
trigger:
  - platform: numeric_state
    entity_id: sensor.battery_state_of_capacity
    above: 99
action:
  - service: number.set_value
    target:
      entity_id: number.battery_charge_limit
    data:
      value: 0

策略二:电网停电时自动切换到备用电源

alias: 停电自动启用备用电源
trigger:
  - platform: state
    entity_id: binary_sensor.grid_power_loss
    to: "on"
action:
  - service: switch.turn_on
    target:
      entity_id: switch.battery_backup_mode
  - service: notify.mobile_app_me
    data:
      title: 电网停电
      message: >
        已切换到电池备用模式
        当前电量:{{ states('sensor.battery_state_of_capacity') }}%

策略三:电价峰谷套利

# 前提:有智能电表 + 分时电价数据
alias: 谷价自动充电
trigger:
  - platform: state
    entity_id: sensor.tou_price
    to: "off-peak"
action:
  - service: number.set_value
    target:
      entity_id: number.battery_charge_limit
    data:
      value: 100

alias: 峰价自动放电
trigger:
  - platform: state
    entity_id: sensor.tou_price
    to: "peak"
action:
  - service: number.set_value
    target:
      entity_id: number.battery_discharge_limit
    data:
      value: 100