跳转到内容

ADE7880 功率传感器

ade7880 传感器平台允许您在 ESPHome 中使用 ADE7880 电压/电流/功率传感器(数据手册)。此传感器芯片常见于 Shelly 3EM 和 3EM Pro 设备中。

与芯片的通信通过 I2C 总线进行,因此您需要在配置中设置 i2c: 条目,并同时设置 sdascl。如果包含该芯片的电路板支持,建议将 I2C frequency 设置为 200kHz 或更高(此速度已在 Shelly 3EM 中验证可用)。虽然这不是必需的,但如果启用了大量 ade7880 单独传感器(例如超过六个),I2C 事务消耗的时间可能会很大,并导致 ESPHome 日志中出现警告消息。

ADE7880 芯片最多可测量三个功率相位以及一个零线。所有四个输入均可测量电流,而功率相位可测量电压和功率。电流使用 CT 钳形互感器进行测量。

虽然该芯片设计用于三相交流电,但相位输入彼此独立,因此该芯片也可用于单相和两相交流电路(或它们的混合)。

ADE7880 中的数字信号处理器 (DSP) 每秒执行 8,000 次计算。因此,下面列出的每个”瞬时”传感器报告最近一次 DSP 周期的计算值;它不会报告自上次更新以来时间段的平均值。

下面列出的每个”累计”传感器报告自上次更新以来所有计算值的总和。

更新间隔默认为 60 秒,但如果您希望获得更频繁的读数,可以降低此值;这将相应增加所连接的 Home Assistant 的负载(和数据库增长)。

  • irq1_pin (必需, 引脚模式): ADE7880 的 IRQ1 输出所连接的 GPIO 引脚。ade7880 组件使用此输入来确定 ADE7880 芯片何时完成其上电和复位周期。

  • irq0_pin (可选, 引脚模式): ADE7880 的 IRQ0 输出所连接的 GPIO 引脚(如果有)。ade7880 组件不使用此输入,但如果 IRQ0 输出连接到 GPIO 且该 GPIO 配置为 input,芯片将产生过多热量,其寿命可能会缩短。确保 GPIO 引脚正确连接的最简单方法是在此处提供它,但如果您希望在配置的其他地方配置它,这也是一个合理的替代方案。

  • reset_pin (可选, 引脚模式): ADE7880 的 RESET 输入所连接的 GPIO 引脚(如果有)。如果配置了此引脚,ade7880 组件将在需要时使用它来启动芯片的”硬件复位”;如果未配置此引脚,组件将尝试在需要时启动芯片的”软件复位”,但如果芯片对 I2C 总线响应不正常,这可能会失败。

  • frequency (可选, 频率): 电源电压的交流线路频率。支持的范围是 45Hz66Hz。默认为 50Hz

  • phase_a (可选): 芯片”A”相位输入的配置变量。有关 simpledetailed 传感器配置选项,请参阅下面的配置示例。

    • name (可选, 字符串): 相位的名称,将用作该相位所有传感器名称的前缀。

    • voltage (瞬时) (可选): 报告此相位的 RMS 电压值,单位为伏特 (V)。在详细配置模式下,支持 Sensor 的所有选项。

    • current (瞬时) (可选): 报告此相位的 RMS 电流值,单位为安培 (A)。在详细配置模式下,支持 Sensor 的所有选项。

    • active_power (瞬时) (可选): 报告此相位的有功(消耗)功率值,单位为瓦特 (W)。在详细配置模式下,支持 Sensor 的所有选项。

    • apparent_power (瞬时) (可选): 报告此相位的视在(电压乘以电流)功率值,单位为伏安 (VA)。在详细配置模式下,支持 Sensor 的所有选项。

    • power_factor (瞬时) (可选): 报告此相位的功率因数值,以百分比 (%) 表示。在详细配置模式下,支持 Sensor 的所有选项。

    • forward_active_energy (累计) (可选): 报告此相位的正向有功电能值,单位为瓦时 (Wh)。在详细配置模式下,支持 Sensor 的所有选项。

    • reverse_active_energy (累计) (可选): 报告此相位的反向有功电能值,单位为乏时 (VARh)。在详细配置模式下,支持 Sensor 的所有选项。

    • calibration (必需): 此相位传感器报告正确值所需的校准值。

      • current_gain (必需, 整数): AIGAIN 校准寄存器的值。

      • voltage_gain (必需, 整数): AVGAIN 校准寄存器的值。

      • power_gain (必需, 整数): APGAIN 校准寄存器的值。

      • phase_angle (必需, 整数): APHCAL 校准寄存器的值。

  • phase_b (可选): 芯片”B”相位输入的配置变量。与 phase_a 相同。

  • phase_c (可选): 芯片”C”相位输入的配置变量。与 phase_a 相同。

  • neutral (可选): 芯片”零线”相位的配置变量。

    • name (可选, 字符串): 相位的名称,将用作该相位所有传感器名称的前缀。

    • current (瞬时) (必需): 报告零线的 RMS 电流值,单位为安培 (A)。在详细配置模式下,支持 Sensor 的所有选项。

    • calibration (必需): 此相位传感器报告正确值所需的校准值。

      • current_gain (必需, 整数): NIGAIN 校准寄存器的值。
  • update_interval (可选, 时间): 报告传感器值的间隔。默认为 60s

  • i2c_id (可选, ID): 如果您的配置包含多个 I2C 总线,请指定 I2C 组件 的 ID。

这些传感器需要校准才能报告正确的值。对于 Shelly 3EM 和 3EM Pro 设备,校准是在制造过程中进行的,校准数据包含在存储在设备中的固件中。有关如何获取 3EM 设备校准数据的详细信息,请参阅 ESPHome 设备网站的 Shelly 3EM 部分。

支持两种传感器配置模式:简单详细。可以独立于所有其他传感器为每个传感器选择模式。

简单模式在您不需要为传感器提供 ID 或覆盖任何默认传感器设置(测量单位、设备类、状态类、小数精度)时非常有用。为每个传感器变量提供的值将是传感器的名称(如果已配置相位名称,则可选择以前缀形式添加)。

# 简单传感器配置模式示例
sensor:
- platform: ade7880
irq0_pin:
number: GPIOXX
irq1_pin:
number: GPIOXX
phase_a:
name: Room Heater
voltage: Voltage
current: Current
active_power: Active Power
power_factor: Power Factor
forward_active_energy: Forward Active Energy
reverse_active_energy: Reverse Active Energy
calibration:
current_gain: 3116628
voltage_gain: -757178
power_gain: -1344457
phase_angle: 188

由于配置了相位名称”Room Heater”,各种传感器的结果名称将是”Room Heater Voltage”、“Room Heater Current”等。

# 详细传感器配置模式示例
sensor:
- platform: ade7880
irq0_pin:
number: GPIOXX
irq1_pin:
number: GPIOXX
phase_a:
voltage: Voltage
current:
name: Current
accuracy_decimals: 0
active_power: Active Power
power_factor:
id: ade_power_factor
name: Power Factor
forward_active_energy: Forward Active Energy
reverse_active_energy: Reverse Active Energy
calibration:
current_gain: 3116628
voltage_gain: -757178
power_gain: -1344457
phase_angle: 188

在此示例中,已为 current 传感器指定了 accuracy_decimals 变量(覆盖默认值),并为 power_factor 传感器指定了 ID。“A”相位的其余传感器使用”简单”配置模式进行配置。

# 完整平台配置示例
sensor:
- platform: ade7880
irq0_pin:
number: GPIOXX
irq1_pin:
number: GPIOXX
reset_pin:
number: GPIOXX
frequency: 60Hz
phase_a:
name: Phase A
voltage: Voltage
current: Current
active_power: Active Power
power_factor: Power Factor
forward_active_energy: Forward Active Energy
reverse_active_energy: Reverse Active Energy
calibration:
current_gain: 3116628
voltage_gain: -757178
power_gain: -1344457
phase_angle: 188
phase_b:
name: Phase B
voltage: Voltage
current: Current
active_power: Active Power
power_factor: Power Factor
forward_active_energy: Forward Active Energy
reverse_active_energy: Reverse Active Energy
calibration:
current_gain: 3133655
voltage_gain: -755235
power_gain: -1345638
phase_angle: 188
phase_c:
name: Phase C
voltage: Voltage
current: Current
active_power: Active Power
power_factor: Power Factor
forward_active_energy: Forward Active Energy
reverse_active_energy: Reverse Active Energy
calibration:
current_gain: 3111158
voltage_gain: -743813
power_gain: -1351437
phase_angle: 180
neutral:
name: Test 3 Unused
current: Current
calibration:
current_gain: 3011156