Home Assistant中使用MQTT二进制传感器的示例配置

Home Assistant中使用MQTT二进制传感器的示例配置缩略图

Home Assistant使用 MQTT 消息负载来设置二进制传感器为两种状态之一:打开或关闭。

Home Assistant中使用MQTT二进制传感器的示例配置概述

只有在匹配的 MQTT 主题上发布新消息后,二进制传感器状态才会更新。如果这些消息以保留标志进行发布,二进制传感器将在订阅后立即接收到状态更新,并且在启动时,Home Assistant 将显示正确的状态。否则,在 Home Assistant 中显示的初始状态将是未知的。

Home Assistant可选择支持从 MQTT 设备接收在线和离线消息(出生和 LWT 消息)。在正常操作期间,如果 MQTT 设备离线(即发布到失去连接的主题),Home Assistant 将显示二进制传感器为不可用。如果这些消息以保留标志进行发布,二进制传感器将在订阅后立即接收到更新,并且 Home Assistant 在启动时将显示正确的可用性状态。如果未设置标志,Home Assistant 在启动时将显示二进制传感器为不可用。如果未定义 availability_topic,则 Home Assistant 将认为 MQTT 设备可用。

要在您的安装中使用 MQTT 二进制传感器,请将以下内容添加到您的配置文件 configuration.yaml 中:

# 示例 configuration.yaml 条目
binary_sensor:
  - platform: mqtt
    state_topic: "home-assistant/window/contact"

配置变量:

  • name(可选):二进制传感器的名称。默认为“MQTT 二进制传感器”。
  • state_topic(必填):订阅以接收传感器值的 MQTT 主题。
  • payload_on(可选):表示打开状态的负载。默认为“ON”。
  • payload_off(可选):表示关闭状态的负载。默认为“OFF”。
  • availability_topic(可选):订阅以接收 MQTT 设备的出生和 LWT 消息。如果未定义,二进制传感器的可用性状态将始终为“可用”。如果定义了该主题,则二进制传感器的可用性状态将默认为“不可用”。
  • payload_available(可选):表示在线状态的负载。默认为“online”。
  • payload_not_available(可选):表示离线状态的负载。默认为“offline”。
  • qos(可选):接收消息时要使用的最大 QoS 级别。默认为 0。
  • device_class(可选):用于设置前端图标的传感器类型/类别。
  • value_template(可选):定义从负载中提取值的模板。

要进行测试,您可以使用随附的命令行工具或包来发送 MQTT 消息。要手动设置二进制传感器的状态:

$ mosquitto_pub -h 127.0.0.1 -t home-assistant/window/contact -m "OFF"

下面的示例显示了一个二进制传感器的完整配置:

state_topic(必填)

# 示例 configuration.yaml 条目
binary_sensor:
  - platform: mqtt  # 使用MQTT
    name: "窗户传感器"  # 二进制传感器的名称
    state_topic: "home-assistant/window/contact"  # 订阅以接收传感器值的MQTT主题
    payload_on: "ON"  # 表示打开状态的负载
    payload_off: "OFF"  # 表示关闭状态的负载
    availability_topic: "home-assistant/window/availability"  # 订阅以接收MQTT设备的出生和LWT消息的主题
    payload_available: "online"  # 表示在线状态的负载
    payload_not_available: "offline"  # 表示离线状态的负载
    qos: 0  # 接收消息时要使用的最大QoS级别
    device_class: opening  # 用于设置前端图标的传感器类型/类别
    value_template: '{{ value.x }}'  # 定义从负载中提取值的模板

请注意,以上示例中的配置仅供参考,您需要根据您的 MQTT 设备和主题进行相应的配置。

技术术语(共 7 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
Mosquitto轻量级开源 MQTT Broker,适合边缘与嵌入式部署
QoS服务质量等级,0 最多一次 / 1 至少一次 / 2 恰好一次
TopicMQTT 主题,消息路由的层级字符串,支持通配符 + 与 #
订阅客户端向 Broker 注册感兴趣的主题以接收消息
发布客户端向指定主题发送消息
传感器将物理量转换为电信号的检测装置
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 Home Assistant 字数 1639 字 · 阅读约 5 分钟 更新 2023-09-12 永久链接 https://www.mqtt.cn/597.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口