跳转到内容

二元传感器映射

binary_sensor_map 传感器平台允许您将多个二元传感器 映射到单个值。根据每个二元传感器的状态、其关联的配置参数以及此传感器的映射类型, binary_sensor_map 发布单个数值。

使用此传感器将一个或多个二元传感器的 ONOFF 状态组合成数值。一些可能的用例包括 触摸设备和确定事件的贝叶斯概率。

此平台支持三种测量类型:BAYESIANGROUPSUM。 您需要使用 type: 配置值指定所需的映射。

当使用 BAYESIAN 类型时,将二元传感器作为 observations 添加到二元传感器映射。 如果使用 GROUPSUM 类型,将二元传感器作为 channels 添加。 支持的最大观察值/通道数量为 64。

  • BAYESIAN 此类型复制 Home Assistant 的贝叶斯传感器。根据观察状态,此传感器返回特定事件发生的贝叶斯概率。配置的 prior: 概率是忽略所有外部影响时贝叶斯事件为真的可能性。每个观察值都有自己的 prob_given_trueprob_given_false 参数。prob_given_true: 值是当贝叶斯事件为 true 时观察值的二元传感器为 ON 的概率。prob_given_false: 值是当贝叶斯事件为 false 时观察值的二元传感器为 ON 的概率。使用模拟阈值通过设置适当的阈值将此传感器的概率转换为二元 ONOFF
# 示例配置条目
sensor:
- platform: binary_sensor_map
id: bayesian_prob
name: '贝叶斯事件概率'
type: bayesian
prior: 0.4
observations:
- binary_sensor: binary_sensor_0
prob_given_true: 0.9
prob_given_false: 0.2
- binary_sensor: binary_sensor_1
prob_given_true: 0.6
prob_given_false: 0.1
binary_sensor:
# 如果贝叶斯概率大于 0.6,
# 则预测事件正在发生
- platform: analog_threshold
name: "贝叶斯事件预测状态"
sensor_id: bayesian_prob
threshold: 0.6
# ...
  • GROUP 每个通道都有自己的 value。传感器发布所有活动 二元传感器的平均值,如果没有传感器活动则发布 NAN
# 示例配置条目
sensor:
- platform: binary_sensor_map
id: group_0
name: '组映射 0'
type: GROUP
channels:
- binary_sensor: touchkey0
value: 0
- binary_sensor: touchkey1
value: 10
- binary_sensor: touchkey2
value: 20
- binary_sensor: touchkey3
value: 30
# 使用 MPR121 组件的示例二元传感器
mpr121:
id: mpr121_first
address: 0x5A
binary_sensor:
- platform: mpr121
channel: 0
id: touchkey0
# ...
  • SUM 每个通道都有自己的 value。传感器发布所有活动 二元传感器值的总和,如果没有传感器活动则发布 0
# 示例配置条目
sensor:
- platform: binary_sensor_map
id: group_0
name: '组映射 0'
type: sum
channels:
- binary_sensor: bit0
value: 1
- binary_sensor: bit1
value: 2
- binary_sensor: bit2
value: 4
- binary_sensor: bit3
value: 8
binary_sensor:
- platform: gpio
pin: GPIOXX
id: bit0
- platform: gpio
pin: GPIOXX
id: bit1
- platform: gpio
pin: GPIOXX
id: bit2
- platform: gpio
pin: GPIOXX
id: bit3
# ...
  • type (必需, string): 传感器类型。应为以下之一:BAYESIANGROUPSUM

  • channels (GROUP 或 SUM 类型必需): 映射到特定值的通道列表。

    • binary_sensor (必需): 要作为此传感器通道添加的二元传感器 的 ID。

    • value (必需): 当其二元传感器活动时此通道应报告的值。

  • prior (BAYESIAN 类型必需, 0 到 1 之间的浮点数): 事件的先验概率。

  • observations (BAYESIAN 类型必需): 影响事件贝叶斯概率的观察值列表。

    • binary_sensor (必需): 要作为观察值添加的二元传感器 的 ID。

    • prob_given_true (必需, 0 到 1 之间的浮点数): 假设事件为真,此观察值为开时的概率。

    • prob_given_false (必需, 0 到 1 之间的浮点数): 假设事件为假,此观察值为开时的概率。

  • 来自 Sensor 的所有其他选项。