ATM90E32 功率传感器
atm90e32 传感器平台允许您在 ESPHome 中使用 ATM90E32 电压/电流和功率传感器
([数据手册](http://ww1.microchip.com/downloads/en/devicedoc/Atmel-46003-SE-M90E32AS-Datasheet.pdf)。
该传感器常见于 CircuitSetup 2 通道和 6 通道电能表以及 Gelidus Research 2 通道功率表。
与设备的通信通过 SPI 总线完成,因此您需要在配置中添加 spi: 条目,
并设置 mosi_pin 和 miso_pin。
ATM90E32 芯片最多可以测量三个交流电压,但通常家庭用电只需要一个电压测量值。 三个电流测量值通过 CT 钳形电流互感器读取。
CircuitSetup 分相单相电能表 可以读取 2 个电流通道和 1 个电压通道(可扩展至 2 个)。
CircuitSetup 6 通道电能表 可以同时读取 6 个电流通道和 2 个电压通道,该板载有两个 ATM90E32 芯片,需要在 ESPHome 中配置两个传感器。
-
cs_pin (必需, 引脚方案): CS 引脚连接位置。对于 6 通道电能表主板,始终为 5 和 4。对于扩展板,可以通过跳线选择每个 CS 引脚,但默认为 0 和 16。
-
line_frequency (必需, 字符串): 供电电压的交流线路频率。可选值为
50Hz或60Hz。 -
id (可选, ID): 如果使用多个
atm90e32芯片并带有校准按钮、参考电压/电流字段和相位状态字段,则必需 -
phase_a (可选): 第一相的配置选项。
-
voltage (可选): 使用该相的电压值,单位为伏特(RMS)。 所有选项来自 传感器。
-
current (可选): 使用该相的电流值,单位为安培。所有选项来自 传感器。
-
power (可选): 使用该相的功率值,单位为瓦特。所有选项来自 传感器。
-
reactive_power (可选): 使用该相的无功功率值,单位为 VAR。所有选项来自 传感器。
-
apparent_power (可选): 使用该相的视在功率值,单位为 VA。所有选项来自 传感器。
-
power_factor (可选): 使用该相的功率因数值。所有选项来自 传感器。
-
phase_angle (可选): 使用该相的相位角值,单位为度。所有选项来自 传感器。
-
peak_current (可选): 使用该相的峰值电流值,单位为安培。所有选项来自 传感器。
-
harmonic_power (可选): 使用该相的谐波功率值。所有选项来自 传感器。
-
gain_voltage (可选, 整数): 电压增益值,用于将低压交流变压器缩放到家庭主电源馈线。 默认值为
7305。 -
gain_ct (可选, 整数): 该相的 CT 钳形电流互感器校准值。 默认值为
27961。 -
offset_voltage (可选, 整数): 当电流和电压为 0 时,使用偏移校准功能获得的电压偏移值 默认值为
0 -
offset_current (可选, 整数): 当电流和电压为 0 时,使用偏移校准功能获得的电流偏移值 默认值为
0 -
offset_active_power (可选, 整数): 当电流为 0 且电压变压器已连接并校准时,使用功率偏移校准功能获得的有功功率偏移值 默认值为
0 -
offset_reactive_power (可选, 整数): 当电流为 0 且电压变压器已连接并校准时,使用功率偏移校准功能获得的无功功率偏移值 默认值为
0 -
forward_active_energy (可选): 使用该相的正向有功电能值,单位为瓦时。 所有选项来自 传感器。
-
reverse_active_energy (可选): 使用该相的反向有功电能值,单位为瓦时。 所有选项来自 传感器。
-
-
phase_b (可选): 第二相的配置选项。与
phase_a选项相同。 -
phase_c (可选): 第三相的配置选项。与
phase_a选项相同。 -
frequency (可选): 使用电表计算的频率值。所有选项来自 传感器。
-
peak_current_signed (可选, 布尔值): 控制峰值电流输出为有符号值或绝对值。默认值为
false。 -
chip_temperature (可选): 使用芯片温度值。所有选项来自 传感器。
-
gain_pga (可选, 字符串): 当 CT 钳形电流互感器输出过低且
gain_ct已达到最大值时增加此值。可选值为1X、2X、4X。默认值为1X,适用于大多数 CT 钳形电流互感器。 -
current_phases (可选): 电表的相位数,
2或36 通道可扩展电能表应设置为3,分相单相电能表应设置为2。默认值为3。 -
update_interval (可选, 时间): 检查传感器的时间间隔。默认值为
60s。 -
enable_gain_calibration (可选, 布尔值): 如果为 true,则根据在相应的电压
reference_voltage和电流reference_current参考字段中输入的值,启用电压gain_voltage和电流gain_ct的增益校准。对于多个 ATM90E32 传感器,每个传感器单独启用,其按钮使用 id 值对映射。例如:当定义多个传感器时使用id: chip1。运行后,值将存储在芯片内存中,并在重启和 OTA 软件更新后可用。 -
enable_offset_calibration (可选, 布尔值): 如果为 true,则启用电压
offset_voltage和电流传感器offset_current的精细偏移噪声零电平校准,以及有功功率offset_active_power和无功功率offset_reactive_power的功率偏移校准。需要按钮来操作校准功能。对于多个 ATM90E32 传感器,每个传感器单独启用,其按钮使用 id 值对映射。例如:当定义多个传感器时使用id: chip1。运行后,值将存储在芯片内存中,并在重启和 OTA 软件更新后可用。偏移校准只能在所有电压和电流输入为 0 值时进行。建议使用 USB 供电。对于功率偏移校准,只应连接电压变压器。## 文本传感器
text_sensor: - platform: atm90e32 id: chip1 phase_status: phase_a: name: "Phase A Status" phase_b: name: "Phase B Status" phase_c: name: "Phase C Status" freq_status: name: "Frequency Status"配置变量:
-
id (可选, ID): 上面定义的
atm90e32传感器的 ID。如果使用多个传感器则必需。 -
phase_status (可选): 启用每相状态条件:
-
phase_a (可选): A 相状态字段。 所有选项来自 文本传感器。
将报告:
-
过流: 当电流 ≥ 65.53 A 时检测到。
-
过压 / 电压跌落: 基于配置的
line_frequency。例如:- 在
60Hz(预期 120V)时,跌落 = <78%,过压 = >122%。 - 在
50Hz(预期 220V)时,跌落 = <78%,过压 = >122%。
- 在
-
缺相: 指示该相是否脱落。
如果没有条件满足,传感器报告
Okay。
-
-
phase_b (可选): B 相相位状态字段。与 A 相选项相同
-
phase_c (可选): C 相相位状态字段。与 A 相选项相同
-
-
frequency_status (可选): 基于频率阈值报告状态。
所有选项来自 文本传感器。
-
对于
50Hz系统:LOW如果频率 ≤ 47HzHIGH如果频率 ≥ 53Hz
-
对于
60Hz系统:LOW如果频率 ≤ 57HzHIGH如果频率 ≥ 63Hz
如果频率在预期范围内,输出将为
Normal。 -
button: - platform: atm90e32 id: chip1 run_gain_calibration: name: "Run Gain Calibration" clear_gain_calibration: name: "Clear Gain Calibration" run_offset_calibration: name: "Run Offset Calibration" clear_offset_calibration: name: "Clear Offset Calibration" run_power_offset_calibration: name: "Run Power Offset Calibration" clear_power_offset_calibration: name: "Clear Power Offset Calibration"配置变量:
-
id (可选, ID): 上面定义的
atm90e32传感器的 ID。如果使用多个传感器则必需。 -
run_gain_calibration (可选): 运行增益校准的按钮。
enable_gain_calibration必须为True。这些值可以永久存储在gain_voltage和gain_ct中。 所有选项来自 按钮。 -
clear_gain_calibration (可选): 从闪存中清除增益校准并使用默认值,或在
gain_voltage和gain_ct下定义的值的按钮。 所有选项来自 按钮。 -
run_offset_calibration (可选): 运行偏移校准的按钮。
enable_offset_calibration必须为True。这些值可以永久存储在offset_voltage和offset_current中。 所有选项来自 按钮。 -
clear_offset_calibration (可选): 从闪存中清除增益校准并使用默认值,或在
offset_voltage和offset_current下定义的值的按钮。 所有选项来自 按钮。 -
run_power_offset_calibration (可选): 运行功率偏移校准的按钮。
enable_offset_calibration必须为True。这些值可以永久存储在offset_active_power和offset_reactive_power中。 所有选项来自 按钮。 -
clear_power_offset_calibration (可选): 从闪存中清除增益校准并使用默认值,或在
offset_active_power和offset_reactive_power下定义的值的按钮。 所有选项来自 按钮。
可以配置 number 实体以在运行时提供校准电压和电流参考值。
number: - platform: atm90e32 id: chip1 reference_voltage: phase_a: name: "Phase A Ref Voltage" phase_b: name: "Phase B Ref Voltage" phase_c: name: "Phase C Ref Voltage" reference_current: phase_a: name: "Phase A Ref Current" phase_b: name: "Phase B Ref Current" phase_c: name: "Phase C Ref Current"配置变量:
-
id (可选, ID): 上面定义的
atm90e32传感器的 ID。如果使用多个传感器则必需。 -
reference_voltage (可选): 对连接电压变压器的已知电压进行精细增益校准。用于计算
gain_voltage的值。与run_gain_calibration按钮配合使用。enable_gain_calibration必须为True。以下每相默认为min_value: 100、max_value: 200、mode: box、optimistic: True、step: 0.1。 -
reference_current (可选): 对 CT 测量的电路的已知电流进行精细增益校准。用于计算
gain_ct的值。与run_gain_calibration按钮配合使用。enable_gain_calibration必须为True。以下每相默认为min_value: 1、max_value: 200、mode: box、optimistic: True、step: 0.1。
为了获得准确的电压和电流读数,建议校准您的电压变压器和 CT 钳形电流互感器。 ESPHome 支持基于 ATM90E32 的电表的自动增益和偏移校准。
要使用这些功能,请确保:
enable_gain_calibration和/或enable_offset_calibration设置为true。- 配置了适当的校准按钮和参考字段。
- 使用可靠的参考设备(Kill-A-Watt、万用表、已知负载)。
默认配置适用于:
- 电流互感器:SCT-013-000
- 电压变压器:Jameco Reliapro 9V AC
可以使用消耗已知电流量的负载进行校准。为了获得更准确的校准,请使用 Kill-A-Watt 电表或能够测量市电电压的万用表。
使用您所在地区的预期市电电压(110V/230V),使用可靠的万用表,或插入 Kill-A-Watt 并选择电压以获取您的真实参考电压。将此值输入到 Home Assistant 设备页面中电表的参考电压字段中。
当点击运行增益校准时,软件执行以下计算:
新 gain_voltage = (您的电压读数 / ESPHome 电压读数) * 现有 gain_voltage 值
新的电压增益值将保存到 ESP 闪存并立即应用。您可以在 ESPHome 日志中查看结果。
将该值复制到 YAML 配置中的 gain_voltage 以在重新刷写后保留(OTA 更新不会擦除闪存)。
以下是分相单相电能表的常见电压校准值: 对于电表 ≤ v1.3:
-
42080 - 9v AC 变压器 - Jameco 112336
-
32428 - 12v AC 变压器 - Jameco 167151 对于电表 > v1.4:
-
37106 - 9v AC 变压器 - Jameco 157041
-
38302 - 9v AC 变压器 - Jameco 112336
-
29462 - 12v AC 变压器 - Jameco 167151 对于电表 ≥ v1.4 rev.3
-
3920 - 9v AC 变压器 - Jameco 157041
以下是可扩展 6 通道电能表的常见电压校准值: 对于电表 ≤ v1.2:
-
42080 - 9v AC 变压器 - Jameco 112336
-
32428 - 12v AC 变压器 - Jameco 167151 对于电表 > v1.3:
-
7305 - 9v AC 变压器 - Jameco 157041
将电流互感器连接到已知或测量负载(如空间加热器或吹风机)的火线周围。 将此值输入到 Home Assistant 设备页面中电表的相应参考电流字段中。 任何留空的参考字段将不会被计算。
当点击运行增益校准时,软件执行以下计算:
新 gain_ct = (您的电流读数 / ESPHome 电流读数) * 现有 gain_ct 值
新的电流增益值将保存到 ESP 闪存并立即应用。您可以在 ESPHome 日志中查看结果。
将该值复制到 YAML 配置中的 gain_ct 以在重新刷写后保留(OTA 更新不会擦除闪存)。
两个相同的 CT 电流传感器可能由于制造差异而具有不同的 gain_ct 数值,尽管差异会很小。电流校准可以执行一次并用于所有传感器,也可以对每个传感器重复进行。
以下是分相单相电能表在 gain_pga 设置为 4X 时的常见电流校准值:
- 200A/100mA SCT-024: 12597
以下是分相单相电能表在 gain_pga 设置为 2X 时的常见电流校准值:
- 20A/25mA SCT-006: 10170
- 100A/50mA SCT-013-000: 25498
- 120A/40mA SCT-016: 39473
- Magnalab 100A: 46539
以下是可扩展 6 通道电能表在 gain_pga 设置为 1X 时的常见电流校准值:
- 20A/25mA SCT-006: 11131
- 30A/1V SCT-013-030: 8650
- 50A/1V SCT-013-050: 15420
- 80A/26.6mA SCT-010: 41996(注意这将在 2^16/10^3 安培时饱和)
- 100A/50ma SCT-013-000: 27961
- 120A/40mA: SCT-016: 41880
- 200A/100mA SCT-024: 27518
- 200A/50mA SCT-024: 55036
ATM90E32 芯片具有高精度内置功能,可以按相位计算消耗的电能总量。 对于每相,正向和反向有功电能都以瓦时为单位计算。 正向有功电能用于计算消耗的电能,而反向有功电能用于计算输出的电能 (例如太阳能光伏发电系统)。 每次从 ATM90E32 芯片读取有功电能值时,计数器都会重置。
当前实现针对以固定间隔检索电能值并将其存储在时间序列数据库(如 InfluxDB)中的用户。
示例:
sensor:#IC1 Main - platform: atm90e32 cs_pin: GPIOXX phase_a: forward_active_energy: name: ${disp_name} ct1 FAWattHours id: ct1FAWattHours state_topic: ${disp_name}/ct1/forward_active_energy reverse_active_energy: name: ${disp_name} ct1 RAWattHours id: ct1RAWattHours state_topic: ${disp_name}/ct1/reverse_active_energy如果使用 power、power_factor、reactive_power、forward_active_energy 或 reverse_active_energy 配置变量,必须注意确保 ATM90E32 的电压线路与安装电流互感器的相位相同。这在分相或多相安装中非常重要。在具有 240V 分相布线的房屋中(在美国非常常见),一个简单的测试是反转线路上的电流互感器方向。如果功率因数没有改变符号,则很可能是馈送给 ATM90E32 的电压来自另一相。
CircuitSetup 可扩展 6 通道板可以通过切断跳线 JP12/13 轻松处理这种情况,以允许在 J3 焊盘上输入单独的 VA2。确保连接到 CT 1-3 的电流抽头位于馈送 VA 的相位上(桶形插孔),连接到 CT3-6 的抽头位于馈送 VA2 的相位上。有关更多详细信息,请参阅 CircuitSetup 仓库。
如果使用多板堆叠,请记住在所有板上切断 JP12/13,并将 VA2 馈送到每个板。VA 通过堆叠头馈送到所有板。另一个细节是每个电压变压器需要具有相同的极性;弄反了就像把它放在错误的相位上一样。
请注意,电流测量是 RMS 值,因此始终为正。确定方向的唯一方法是查看功率因数。如果只有大部分电阻性负载且没有电源(PF 几乎为 1),则更简单的方法是创建一个模板传感器,从 Irms*Vrms 计算功率,并忽略所有这些细节。另一方面,您可能会惊讶地发现某些负载的无功性有多大,而 CircuitSetup 设计能够很好地处理这些情况。
交流系统中的谐波功率是指由基频的倍数引起的偏离理想正弦波的现象。它由非线性负载产生,可能导致电压失真、设备过热和保护设备误操作等问题。ATM90E32 可以输出高级谐波功率测量值,为监控总线上的功率异常提供重要的分析数据。
谐波功率示例:
sensor: - platform: atm90e32 phase_a: harmonic_power: name: ${disp_name} CT1 Harmonic Power交流系统中的相位角表示正弦波形相对于参考点的角位移。它是电压和电流之间时差的度量。相位角对于功率因数评估和高效功率传输至关重要。ATM90E32 提供此高级测量功能。
相位角示例:
sensor: - platform: atm90e32 phase_a: phase_angle: name: ${disp_name} L1 Phase Angle交流系统中的峰值电流是指交流电流波形的最大值。它表示正弦波每个周期内达到的最大幅度。峰值电流与组件选型和评估系统中电气设备的容量相关。ATM90E32 提供此高级测量值。 峰值电流可以使用布尔参数以有符号或无符号格式显示,该参数适用于所有相位。 默认值为 false,即无符号。
峰值电流示例:
sensor: - platform: atm90e32 phase_a: peak_current: name: ${disp_name} CT1 Peak Current peak_current_signed: True# 分相单相电表示例配置spi: clk_pin: GPIOXX miso_pin: GPIOXX mosi_pin: GPIOXX
sensor: - platform: atm90e32 cs_pin: GPIOXX phase_a: voltage: name: "EMON Line Voltage A" current: name: "EMON CT1 Current" power: name: "EMON Active Power CT1" reactive_power: name: "EMON Reactive Power CT1" power_factor: name: "EMON Power Factor CT1" gain_voltage: 3920 gain_ct: 39473 phase_c: current: name: "EMON CT2 Current" power: name: "EMON Active Power CT2" reactive_power: name: "EMON Reactive Power CT2" power_factor: name: "EMON Power Factor CT2" gain_voltage: 3920 gain_ct: 39473 frequency: name: "EMON Line Frequency" chip_temperature: name: "EMON Chip Temperature" line_frequency: 50Hz current_phases: 2 gain_pga: 2X update_interval: 60s# CircuitSetup 6 通道电能表主板配置示例,包含电能质量参数substitutions: disp_name: energy-meter friendly_name: "CircuitSetup Energy Meter" update_time: 60s current_cal_ct1: '27518' current_cal_ct2: '27518' current_cal_ct3: '27518' current_cal_ct4: '27518' current_cal_ct5: '27518' current_cal_ct6: '27518' voltage_cal1: '7305' voltage_cal2: '7305'
main_meter_name1: Meter 1-3 main_meter_name2: Meter 4-6 main_meter_id1: meter_main1 main_meter_id2: meter_main2 ct1_name: CT1 ct2_name: CT2 ct3_name: CT3 ct4_name: CT4 ct5_name: CT5 ct6_name: CT6
spi: clk_pin: 18 miso_pin: 19 mosi_pin: 23
sensor:#IC1 - platform: atm90e32 cs_pin: 5 id: ${main_meter_id1} phase_a: voltage: name: Voltage 1 id: ic1Volts accuracy_decimals: 1 current: name: ${ct1_name} Amps id: ct1Amps# 电表可输出的最大电流值为 65.535。如果预计测量电流超过 65A,# 将 gain_ct 除以 2(120A CT)或 4(200A CT),并取消下面的过滤器注释,将电流和功率值乘以 2 或 4# filters:# - multiply: 2 power: name: ${ct1_name} Watts id: ct1Watts# filters:# - multiply: 2 reactive_power: name: ${ct1_name} VAR apparent_power: name: ${ct1_name} VA harmonic_power: name: ${ct1_name} Harmonic Power power_factor: name: ${ct1_name} PF phase_angle: name: ${ct1_name} Phase Angle peak_current: name: ${ct1_name} Peak Current gain_voltage: ${voltage_cal1} gain_ct: ${current_cal_ct1} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0 phase_b: current: name: ${ct2_name} Amps id: ct2Amps power: name: ${ct2_name} Watts id: ct2Watts reactive_power: name: ${ct2_name} VAR apparent_power: name: ${ct2_name} VA harmonic_power: name: ${ct2_name} Harmonic Power power_factor: name: ${ct2_name} PF phase_angle: name: ${ct2_name} Phase Angle peak_current: name: ${ct2_name} Peak Current gain_voltage: ${voltage_cal1} gain_ct: ${current_cal_ct2} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0 phase_c: current: name: ${ct3_name} Amps id: ct3Amps power: name: ${ct3_name} Watts id: ct3Watts reactive_power: name: ${ct3_name} VAR apparent_power: name: ${ct3_name} VA harmonic_power: name: ${ct3_name} Harmonic Power power_factor: name: ${ct3_name} PF phase_angle: name: ${ct3_name} Phase Angle peak_current: name: ${ct3_name} Peak Current gain_voltage: ${voltage_cal1} gain_ct: ${current_cal_ct3} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0 frequency: name: Frequency 1 chip_temperature: name: ${main_meter_name1} Chip Temp line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time} enable_offset_calibration: true enable_gain_calibration: true#IC2 - platform: atm90e32 cs_pin: 4 id: ${main_meter_id2} phase_a:# 此电压仅在监控两个电压时需要# voltage:# name: Voltage 2# id: ic2Volts# accuracy_decimals: 1 current: name: ${ct4_name} Amps id: ct4Amps power: name: ${ct4_name} Watts id: ct4Watts reactive_power: name: ${ct4_name} VAR apparent_power: name: ${ct4_name} VA harmonic_power: name: ${ct4_name} Harmonic Power power_factor: name: ${ct4_name} PF phase_angle: name: ${ct4_name} Phase Angle peak_current: name: ${ct4_name} Peak Current gain_voltage: ${voltage_cal2} gain_ct: ${current_cal_ct4} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0 phase_b: current: name: ${ct5_name} Amps id: ct5Amps power: name: ${ct5_name} Watts id: ct5Watts reactive_power: name: ${ct5_name} VAR apparent_power: name: ${ct5_name} VA harmonic_power: name: ${ct5_name} Harmonic Power power_factor: name: ${ct5_name} PF phase_angle: name: ${ct5_name} Phase Angle peak_current: name: ${ct5_name} Peak Current gain_voltage: ${voltage_cal2} gain_ct: ${current_cal_ct5} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0 phase_c: current: name: ${ct6_name} Amps id: ct6Amps power: name: ${ct6_name} Watts id: ct6Watts reactive_power: name: ${ct6_name} VAR apparent_power: name: ${ct6_name} VA harmonic_power: name: ${ct6_name} Harmonic Power power_factor: name: ${ct6_name} PF phase_angle: name: ${ct6_name} Phase Angle peak_current: name: ${ct6_name} Peak Current gain_voltage: ${voltage_cal2} gain_ct: ${current_cal_ct6} offset_voltage: 0 offset_current: 0 offset_active_power: 0 offset_reactive_power: 0# 此频率仅在监控两个电压时需要# frequency:# name: Frequency 2 chip_temperature: name: ${main_meter_name2} Chip Temp line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time} enable_offset_calibration: true enable_gain_calibration: true
#总电流 - platform: template name: ${friendly_name} Total Amps id: totalAmps lambda: return id(ct1Amps).state + id(ct2Amps).state + id(ct3Amps).state + id(ct4Amps).state + id(ct5Amps).state + id(ct6Amps).state ; accuracy_decimals: 2 unit_of_measurement: A device_class: current update_interval: ${update_time}#总功率 - platform: template name: ${friendly_name} Total Watts id: totalWatts lambda: return id(ct1Watts).state + id(ct2Watts).state + id(ct3Watts).state + id(ct4Watts).state + id(ct5Watts).state + id(ct6Watts).state ; accuracy_decimals: 1 unit_of_measurement: W device_class: power update_interval: ${update_time}#kWh - platform: total_daily_energy name: ${friendly_name} Total kWh power_id: totalWatts filters: - multiply: 0.001 unit_of_measurement: kWh device_class: energy state_class: total_increasing
text_sensor: - platform: atm90e32 id: ${main_meter_id1} phase_status: phase_a: name: "${ct1_name} Status" phase_b: name: "${ct2_name} Status" phase_c: name: "${ct3_name} Status" frequency_status: name: "Frequency Status 1"
- platform: atm90e32 id: ${main_meter_id2} phase_status: phase_a: name: "${ct4_name} Status" phase_b: name: "${ct5_name} Status" phase_c: name: "${ct6_name} Status"# 此频率状态仅在监控两个电压时需要# frequency_status:# name: "Frequency Status 2"
button: - platform: atm90e32 id: ${main_meter_id1} run_gain_calibration: name: "Run ${main_meter_name1} Gain Calibration" clear_gain_calibration: name: "Clear ${main_meter_name1} Gain Calibration" run_offset_calibration: name: "Run ${main_meter_name1} Offset Calibration" clear_offset_calibration: name: "Clear ${main_meter_name1} Offset Calibration" run_power_offset_calibration: name: "Run ${main_meter_name1} Power Offset Calibration" clear_power_offset_calibration: name: "Clear ${main_meter_name1} Power Offset Calibration"
- platform: atm90e32 id: ${main_meter_id2} run_gain_calibration: name: "Run ${main_meter_name2} Gain Calibration" clear_gain_calibration: name: "Clear ${main_meter_name2} Gain Calibration" run_offset_calibration: name: "Run ${main_meter_name2} Offset Calibration" clear_offset_calibration: name: "Clear ${main_meter_name2} Offset Calibration" run_power_offset_calibration: name: "Run ${main_meter_name2} Power Offset Calibration" clear_power_offset_calibration: name: "Clear ${main_meter_name2} Power Offset Calibration"
number: - platform: atm90e32 id: ${main_meter_id1} reference_voltage: phase_a: name: "Ref Voltage 1" reference_current: phase_a: name: "${ct1_name} Ref Current" phase_b: name: "${ct2_name} Ref Current" phase_c: name: "${ct3_name} Ref Current"
- platform: atm90e32 id: ${main_meter_id2} reference_voltage: phase_a: name: "Ref Voltage 2" # 即使不输出也需要校准电压寄存器 reference_current: phase_a: name: "${ct4_name} Ref Current" phase_b: name: "${ct5_name} Ref Current" phase_c: name: "${ct6_name} Ref Current"# CircuitSetup 6 通道电能表主板 + 1 个扩展板配置示例
substitutions: disp_name: energy-meter friendly_name: CircuitSetup Energy Meter 12x update_time: 10s current_cal: '27518' voltage_cal: '7305'
sensor:#IC1 主板 - platform: atm90e32 cs_pin: 5 phase_a: voltage: name: ${disp_name} Volts A id: ic1Volts accuracy_decimals: 1 current: name: ${disp_name} CT1 Amps id: ct1Amps power: name: ${disp_name} CT1 Watts id: ct1Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_b: current: name: ${disp_name} CT2 Amps id: ct2Amps power: name: ${disp_name} CT2 Watts id: ct2Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_c: current: name: ${disp_name} CT3 Amps id: ct3Amps power: name: ${disp_name} CT3 Watts id: ct3Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} frequency: name: ${disp_name} Frequency line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time}#IC2 主板 - platform: atm90e32 cs_pin: 4 phase_a: current: name: ${disp_name} CT4 Amps id: ct4Amps power: name: ${disp_name} CT4 Watts id: ct4Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_b: current: name: ${disp_name} CT5 Amps id: ct5Amps power: name: ${disp_name} CT5 Watts id: ct5Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_c: current: name: ${disp_name} CT6 Amps id: ct6Amps power: name: ${disp_name} CT6 Watts id: ct6Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time}#IC1 扩展板 - platform: atm90e32 cs_pin: 0 phase_a: current: name: ${disp_name} CT7 Amps id: ct7Amps power: name: ${disp_name} CT7 Watts id: ct7Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_b: current: name: ${disp_name} CT8 Amps id: ct8Amps power: name: ${disp_name} CT8 Watts id: ct8Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_c: current: name: ${disp_name} CT9 Amps id: ct9Amps power: name: ${disp_name} CT9 Watts id: ct9Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time}#IC2 扩展板 - platform: atm90e32 cs_pin: 16 phase_a: current: name: ${disp_name} CT10 Amps id: ct10Amps power: name: ${disp_name} CT10 Watts id: ct10Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_b: current: name: ${disp_name} CT11 Amps id: ct11Amps power: name: ${disp_name} CT11 Watts id: ct11Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} phase_c: current: name: ${disp_name} CT12 Amps id: ct12Amps power: name: ${disp_name} CT12 Watts id: ct12Watts gain_voltage: ${voltage_cal} gain_ct: ${current_cal} line_frequency: 60Hz gain_pga: 1X update_interval: ${update_time}
#主板总电流 - platform: template name: ${disp_name} Total Amps Main id: totalAmpsMain lambda: return id(ct1Amps).state + id(ct2Amps).state + id(ct3Amps).state + id(ct4Amps).state + id(ct5Amps).state + id(ct6Amps).state ; accuracy_decimals: 2 unit_of_measurement: A device_class: current update_interval: ${update_time}#扩展板总电流 - platform: template name: ${disp_name} Total Amps Add-on id: totalAmpsAddOn lambda: return id(ct7Amps).state + id(ct8Amps).state + id(ct9Amps).state + id(ct10Amps).state + id(ct11Amps).state + id(ct12Amps).state ; accuracy_decimals: 2 unit_of_measurement: A device_class: current update_interval: ${update_time}#总电流 - platform: template name: ${disp_name} Total Amps id: totalAmps lambda: return id(totalAmpsMain).state + id(totalAmpsAddOn).state ; accuracy_decimals: 2 unit_of_measurement: A device_class: current update_interval: ${update_time}
#主板总功率 - platform: template name: ${disp_name} Total Watts Main id: totalWattsMain lambda: return id(ct1Watts).state + id(ct2Watts).state + id(ct3Watts).state + id(ct4Watts).state + id(ct5Watts).state + id(ct6Watts).state ; accuracy_decimals: 1 unit_of_measurement: W device_class: power update_interval: ${update_time}#扩展板总功率 - platform: template name: ${disp_name} Total Watts Add-on id: totalWattsAddOn lambda: return id(ct7Watts).state + id(ct8Watts).state + id(ct9Watts).state + id(ct10Watts).state + id(ct11Watts).state + id(ct12Watts).state ; accuracy_decimals: 1 unit_of_measurement: W device_class: power update_interval: ${update_time}#总功率 - platform: template name: ${disp_name} Total Watts id: totalWatts lambda: return id(totalWattsMain).state + id(totalWattsAddOn).state ; accuracy_decimals: 1 unit_of_measurement: W device_class: power update_interval: ${update_time}
#kWh - platform: total_daily_energy name: ${disp_name} Total kWh power_id: totalWatts filters: - multiply: 0.001 unit_of_measurement: kWh device_class: energy state_class: total_increasing