跳转到内容

Belling BL0942 能量监控器

bl0942 传感器平台允许您在 ESPHome 中使用 BL0942 能量监控传感器。 它们用于某些 Tuya 设备(如 Aubess Tuya WiFi 迷你智能开关(带能量监控))中。

与此组件的通信通过 UART 完成。 因此,您必须在配置中包含带有已设置 TX 和 RX 引脚以及波特率为 4800、1 个停止位的 uart: 条目。

# Example configuration entry
sensor:
- platform: bl0942
voltage:
name: 'BL0942 Voltage'
current:
name: 'BL0942 Current'
power:
name: 'BL0942 Power'
energy:
name: 'BL0942 Energy'
frequency:
name: "BL0942 Frequency"
  • voltage (可选): 传感器的电压值,单位为伏特。 来自 Sensor 的所有选项。

  • current (可选): 传感器的电流值,单位为安培。来自 Sensor 的所有选项。

  • power (可选): 传感器的(有功)功率值,单位为瓦特。注意,某些功率计可能会以负值报告此值(可能接线反了),因此您可能需要使用过滤器将其乘以 -1。来自 Sensor 的所有选项。

  • energy (可选): 使用传感器的能量值,单位为 kWh。 来自 Sensor 的所有选项。

  • frequency (可选): 传感器的频率值,单位为赫兹。来自 Sensor 的所有选项。

  • update_interval (可选, Time): 检查传感器的时间间隔。默认为 60s。

  • uart_id (可选, ID): 如果您希望 使用多个 UART 总线,请手动指定 UART 组件 的 ID。

  • line_frequency (可选, string): 供电电压的标称交流电源频率。可选值为 50Hz、60Hz。默认为 50Hz。

  • address (可选, int): BL0942 从其引导引脚获得的地址。默认为 0。

  • reset (可选, boolean): 是否在启动时重置 BL0942 芯片,重置所有内部计数器。默认为 true。

  • current_reference (可选, float): 电流读数的校准参数。默认为 251065.6814。

  • voltage_reference (可选, float): 电压读数的校准参数。默认为 15883.34116。

  • power_reference (可选, float): 功率读数的校准参数。默认为 623.0270705,除非显式设置了 current_reference 或 voltage_reference,在这种情况下将进行计算。请参阅 校准 以获取更多详细信息。

  • energy_reference (可选, float): 累积能量读数的校准参数。默认为 5347.484240,除非显式设置了 current_reference、voltage_reference 或 power_reference,在这种情况下将进行计算。请参阅 校准 以获取更多详细信息。

有两个基本的校准参数,它们取决于硬件:voltage_reference 和 current_reference。 可以使用精确的电压和电流表配合简单的电阻性负载来确定。较大的电流负载将比 较小的负载提供更高的测量分辨率。请考虑此过程中设备能支持的最大负载。可考虑的 电阻性负载示例:暖风机、烤面包机、白炽灯泡等。

voltage_reference 的默认值为 15883.34116,current_reference 为 251065.6814。使用这些值烧录 设备,然后在将其与 ESPHome 中报告的值进行比较的同时测量负载的电压和电流。 确定正确参考值的公式为 new_reference = reported_value * default_reference / actual_value。 (如果报告值偏低,参考值应降低,反之亦然。)此过程可以重复多次 以精确定位正确的校准值。请参阅源码注释 :apisource:source code <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 21
current_reference: 124180 # DPS 22 * 10
power_reference: 309.1 # DPS 23 / 10
energy_reference: 2653 # DPS 24

或者,可以在不获取 Tuya 密钥进行本地通信的情况下,从设备的闪存中找到这些值。它们可以在”键值存储” 分区中找到。上述示例中的同一设备在烧录 ESPHome 前在偏移 0x001d5000 处有:

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 的公式可以 作为从固件中找到的值的合理性检查。