Belling BL0942 电能监控器
bl0942 传感器平台允许您在 ESPHome 中使用 BL0942 电能监控传感器。这些传感器用于一些 Tuya 设备(例如 Aubess Tuya WiFi Mini 智能开关带电能监控)。
与该组件的通信通过 UART 进行。
因此,您必须在配置中添加一个 uart: 条目,并将 TX 和 RX 引脚设置到板子上的某些引脚,波特率设置为 4800,停止位设置为 1。
# 示例配置sensor: - platform: bl0942 voltage: name: 'BL0942 Voltage' current: name: 'BL0942 Current' power: name: 'BL0942 Power' energy: name: 'BL0942 Energy' frequency: name: "BL0942 Frequency"-
voltage (可选): 传感器的电压值,单位为伏特。 所有选项来自 传感器。
-
current (可选): 传感器的电流值,单位为安培。所有选项来自 传感器。
-
power (可选): 传感器的(有功)功率值,单位为瓦特。请注意,某些功率表可能报告负值(可能是接线反向),因此您可能需要使用过滤器将其乘以 -1。所有选项来自 传感器。
-
energy (可选): 使用传感器的电能值,单位为 kWh。 所有选项来自 传感器。
-
frequency (可选): 传感器的频率值,单位为赫兹。所有选项来自 传感器。
-
update_interval (可选, 时间): 检查传感器的时间间隔。默认值为
60s。 -
line_frequency (可选, 字符串): 供电电压的标称交流线路频率。可选值为
50Hz、60Hz。默认值为50Hz。 -
address (可选, 整数): BL0942 的地址,由其跳线引脚决定。默认值为
0。 -
reset (可选, 布尔值): 是否在启动时重置 BL0942 芯片,重置所有内部计数器。默认值为
true。 -
current_reference (可选, 浮点数): 电流读数的校准参数。默认值为
251065.6814。 -
voltage_reference (可选, 浮点数): 电压读数的校准参数。默认值为
15883.34116。 -
power_reference (可选, 浮点数): 功率读数的校准参数。默认值为
623.0270705,除非显式设置了current_reference或voltage_reference,此时将计算该值。有关更多详细信息,请参阅 校准。 -
energy_reference (可选, 浮点数): 累计电能读数的校准参数。默认值为
5347.484240,除非显式设置了current_reference、voltage_reference或power_reference中的任何一个,此时将计算该值。有关更多详细信息,请参阅 校准。
有两个基本校准参数取决于硬件:voltage_reference 和 current_reference。
这些可以使用准确的电压和电流表配合简单的电阻性负载来确定。较高的电流负载比较大的负载提供更高的测量分辨率。考虑您的设备能支持的最大负载进行此过程。可考虑的电阻性负载示例:空间加热器、烤面包机、白炽灯泡等。
voltage_reference 的默认值为 15883.34116,current_reference 的默认值为 251065.6814。使用这些值刷写设备,然后在比较 ESPHome 报告值的同时测量负载的电压和电流。确定正确参考值的公式是 新参考值 = 报告值 * 默认参考值 / 实际值。(如果报告值偏低,参考值应减小,反之亦然。)此过程可以重复多次以获得正确的校准。更多详细信息请参阅 :apisource:源代码 <bl0942/bl0942.h> 中的注释。
power_reference 值可以从这些值推导,大约为 voltage_reference * current_reference * 3537 / (305978 * 73989)。
energy_reference 值可以推导为大约 power_reference * 3600000 / 419430.4。
为了与现有配置兼容,如果未设置任何参考值,则使用原始默认值,尽管功率和电能校准并不完全一致。
如果是转换 Tuya 设备,工厂校准值通常可以从原始固件获取。例如,它们可能在 DPS 参数 22-25 中找到,或者在 voltage_coe 和相关选项中。
以下是来自 Tongou 导轨式功率表单元的示例。tinytuya wizard 的结果包括:
{ "code": "voltage_coe", "value": 15968},{ "code": "electric_coe", "value": 12418},{ "code": "power_coe", "value": 3091},{ "code": "electricity_coe", "value": 2653},注意 electric_coe 值(DPS 23)应乘以十,power_coe 值应除以十,这导致以下配置:
voltage_reference: 15968 # DPS 21current_reference: 124180 # DPS 22 * 10power_reference: 309.1 # DPS 23 / 10energy_reference: 2653 # DPS 24或者,这些值可以在不获取 Tuya 密钥进行本地通信的情况下从设备的闪存中找到。它们可以在”键值存储”分区中找到。与上述示例相同的设备在偏移量 0x001d5000 处(刷写 ESPHome 之前)有以下内容:
001d5000 60 3e 00 00 82 30 00 00 13 0c 00 00 5d 0a 00 00 |`>...0......]...|那里看到的十六进制值 0x3e60、0x3082、0xc13 和 0xa5d 对应于正在运行的 Tuya 固件报告的四个 DPS 值。
上述用于推导 power_reference 和 energy_reference 的公式可用作对从固件中找到的值的合理性检查。