跳转到内容

模拟阈值二进制传感器

analog_threshold 二进制传感器平台允许您将模拟值(即 传感器 读数)转换为布尔值,使用阈值作为参考。当信号高于或等于阈值时,二进制传感器为 true(可以通过添加 invert 过滤器来更改此行为)。

它提供滞后选项,使用根据当前状态的不同限制来减少源信号有噪声时的不稳定性。此外,可以使用 延迟过滤器 来仅在新状态保持最短时间后才更改。

如果源传感器在组件创建时未初始化,二进制传感器的初始状态将为 false,如果稍后它有一些读取错误,那些无效的源更新将被忽略,二进制传感器将保持其最后状态。

例如,下面的配置将电流传感器的读数转换为二进制传感器。

# 示例配置条目
binary_sensor:
- platform: analog_threshold
name: "车库门开启"
sensor_id: motor_current_sensor
threshold: 0.5

或者,您可以使用带有 condition 选项的 模板二进制传感器 实现类似功能:

# 使用模板二进制传感器的替代方案
binary_sensor:
- platform: template
name: "引擎运行中"
condition:
sensor.in_range:
id: motor_current_sensor
above: 0.5

NOTE

模板方法不支持滞后。如果您需要不同的上限和下限阈值来减少噪声,请使用 analog_threshold

  • sensor_id (必需, ID): 源传感器的 ID。

  • threshold (*必需, 浮点数 可模板化 或映射): 配置比较的参考。接受一个简写的浮点数,将用作上限/下限阈值,或一个映射来定义每个的不同值(用于使用滞后)。

    • upper (*必需, 浮点数 可模板化): 上限阈值,需要被跨越才能从 low 状态转换到 high 状态。
    • lower (*必需, 浮点数 可模板化): 下限阈值,需要被跨越才能从 high 状态转换到 low 状态。
  • 所有其他选项来自 二进制传感器