MQTT二进制传感器


mqtt二进制传感器平台使用收到的MQTT消息将二进制传感器的状态设置为,,,,离开或者未知

仅在发布新消息后,该州才会更新state_topic匹配payload_on,,,,payload_off或者没有任何。如果这些消息与保持标志集,二进制传感器将在订阅和家庭助理将在启动时显示正确的状态后,将获得即时状态更新。必威是什么否则,在家庭助理中显示的初始状态将是必威是什么未知

无状态设备(例如按钮,遥控器等)更好地表示MQTT设备触发而不是通过二进制传感器。

配置

mqtt二进制传感器平台可选支持可用性从MQTT设备接收在线和离线消息(出生和LWT消息)的主题。在正常操作期间,如果MQTT传感器设备脱机(即,发布)payload_not_available到一个可用性主题),家庭助理必威是什么将显示二进制传感器不可用。如果这些消息与保持标志集,二进制传感器将在订阅和家庭助理启动后显示正确的二进制传感器可用性状态后,将获得即时更新。必威是什么如果是保持未设置标志,家庭助理将显示二进制传必威是什么感器不可用当家庭助理必威是什么开始时。如果不可用性主题是定义的,家庭助理将考虑MQTT必威是什么设备为可用的并将显示其状态。

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

#示例Configuration.yaml条目binary_sensor-平台mqttstate_topic家庭辅助/窗口/联系”

配置变量

可用性 列表 ((可选的

MQTT主题列表订阅以接收可用性(在线/离线)更新。不得一起使用availability_topic

payload_available 细绳 ((可选的,默认:在线

代表可用状态的有效载荷。

payload_not_available 细绳 ((可选的,默认:离线

代表不可用状态的有效载荷。

话题 细绳 必需的

MQTT主题订阅以接收可用性(在线/离线)更新。

value_template 模板 ((可选的

定义a模板从中提取设备的可用性话题。为了确定设备的可用性结果,将与payload_availablepayload_not_available

availability_mode 细绳 ((可选的,默认:最新

什么时候可用性已配置,这控制了将实体设置为可用的。有效的条目是全部,,,,任何, 和最新的。如果设置为全部,,,,payload_available在实体被标记为在线之前,必须在所有配置的可用性主题上收到。如果设置为任何,,,,payload_available在实体被标记为在线之前,必须在至少一个配置的可用性主题上收到。如果设置为最新的, 最后payload_available或者payload_not_available在任何配置的可用性主题上都收到了可用性。

availability_template 模板 ((可选的

定义a模板从中提取设备的可用性availability_topic。为了确定设备的可用性结果,将与payload_availablepayload_not_available

availability_topic 细绳 ((可选的

MQTT主题订阅以从MQTT设备接收出生和LWT消息。如果可用性不是定义的,二进制传感器将始终被考虑可用的它的状态将是,,,,离开或者未知。如果可用性定义,二进制传感器将被视为不可用默认情况下,传感器的初始状态将是不可用。不得一起使用可用性

设备 地图 ((可选的

有关设备的信息,该二进制传感器是将其绑定到的一部分设备注册表。只能通过MQTT发现什么时候唯一身份设置。必须至少存在一个标识符或连接以识别设备。

configuration_url 细绳 ((可选的

可以管理此设备配置的网页的链接。可以是HTTP或HTTPS链接。

连接 列表|地图 ((可选的

该设备与外界的连接列表作为元组列表[Connection_Type,Connection_Identifier]。例如,网络接口的MAC地址:'Connections':['Mac','02:5B:26:A8:DC:12']

身份标识 列表|细绳 ((可选的

唯一标识设备的ID列表。例如序列号。

制造商 细绳 ((可选的

设备的制造商。

模型 细绳 ((可选的

设备的模型。

姓名 细绳 ((可选的

设备的名称。

建议_area 细绳 ((可选的

如果该设备还没有,则建议一个区域。

sw_version 细绳 ((可选的

设备的固件版本。

via_device 细绳 ((可选的

该设备与家庭助理之间路由消息的设备的标识符。必威是什么此类设备的示例是枢纽或子设备的父设备。这用于在家庭助理中显示设备拓扑。必威是什么

device_class 细绳 ((可选的

设置设备类,更改前端上显示的设备状态和图标。

enabled_by_default 布尔 ((可选的,默认:正确

标志,该标志首先添加时定义是否应启用实体。

编码 细绳 ((可选的,默认:UTF-8

收到的有效载荷的编码。调成“”禁用传入有效载荷的解码。

Entity_Category 细绳 ((可选的,默认:无

类别实体。

Expire_After 整数 ((可选的

如果未更新,则定义传感器状态到期后的秒数。到期后,传感器的状态变成不可用

强制性升级 布尔 ((可选的,默认:false

发送更新事件(这导致更新状态对象slast_changed)即使传感器的状态没有改变。如果您想在历史记录中具有有意义的值图或想创建触发的自动化,则有用每一个传入状态(不仅是传感器的新状态与当前的状态不同时)。

图标 图标 ((可选的

图标对于实体。

JSON_ATTRIBUTES_TEMPLATE 模板 ((可选的

定义a模板从收到的消息中提取JSON字典JSON_ATTRIBUTES_TOPIC。使用示例可以在MQTT传感器文档。

JSON_ATTRIBUTES_TOPIC 细绳 ((可选的

MQTT主题订阅以接收JSON字典有效载荷,然后将其设置为传感器属性。使用示例可以在MQTT传感器文档。

姓名 细绳 ((可选的,默认:MQTT二进制传感器

二进制传感器的名称。

object_id 细绳 ((可选的

代替姓名用于自动生成ENTITY_ID

OFF_DELAY 整数 ((可选的

对于仅发送的传感器状态更新(如PIR),此变量在秒内设置了延迟,然后将传感器的状态更新回到离开

payload_available 细绳 ((可选的,默认:在线

表示代表的字符串在线的状态。

payload_not_available 细绳 ((可选的,默认:离线

表示代表的字符串离线状态。

payload_off 细绳 ((可选的,默认:关闭

表示代表的字符串离开状态。将其与消息中的消息进行比较state_topic(看value_template有关详细信息)

payload_on 细绳 ((可选的,默认:ON

表示代表的字符串状态。将其与消息中的消息进行比较state_topic(看value_template有关详细信息)

QoS 整数 ((可选的,默认:0

接收消息时要使用的最大QoS级别。

state_topic 细绳 必需的

MQTT主题订阅以接收传感器的状态。

唯一身份 细绳 ((可选的

独特地标识该传感器的ID。如果两个传感器具有相同的独特ID,则家庭助理将引起例外。必威是什么

value_template 细绳 ((可选的

定义a模板这返回了一个要比的字符串payload_on/payload_off或一个空字符串,在这种情况下,将删除MQTT消息。可用变量:ENTITY_ID。当“ payload_on”和“ payload_off”足以匹配您的有效载荷时,请删除此选项(即不需要预先处理原始消息)。

例子

在本节中,您将找到一些如何使用此传感器的现实示例。

带有JSON数据的完整配置

这是从JSON格式的MQTT消息中提取状态的配置的示例。要测试,您可以使用命令行工具Mosquitto_pub发货蚊子或者蚊子客户包装发送MQTT消息。

手动设置二进制传感器的状态:

Mosquitto_pub-H127.0.0.1-t家庭辅助/窗口/可用性-m“在线的”Mosquitto_pub-H127.0.0.1-t家庭辅助/窗口/联系人-m'{“ state”:“ on”}'Mosquitto_pub-H127.0.0.1-t家庭辅助/窗口/联系人-m'{“ state”:“ off”}'

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

#示例Configuration.yaml条目binary_sensor-平台mqtt姓名窗户接触传感器”state_topic家庭辅助/窗口/联系”payload_on上”可用性-话题家庭辅助/窗口/可用性”payload_available在线的”payload_not_available离线”QoS0device_class开场value_template{{{value_json.state}}””

每次在state_topic上收到消息时,请切换二进制传感器

#示例Configuration.yaml条目binary_sensor-平台mqttstate_topiclab_button/cmnd/power“value_template{%如果is_state(entity_id,\”\”) - %} off {% -  else-%} on {% -  endif%}”

获得带有特殊设备的状态

假设您已经用特别是。在“配置”下是为您的设备设置的名称(“单位名称:”)(在这里是“浴室”)。存在用于MQTT的“控制器”的配置,其中包括协议“ OpenHAB MQTT”,并且调整了条目(“控制器订阅:”和“控制器发布:”)以符合您的需求。在此示例中,主题以“家庭”为前缀。另外,在“设备”中添加一个“开关输入”点击,名称为“开关”和“按钮”为值。

单元在线后,您将获得附加按钮的状态。

家庭/浴室/状态连接...家庭/浴室/开关/按钮1

配置看起来像以下示例:

#示例Configuration.yaml条目binary_sensor-平台mqtt姓名浴室state_topic家庭/浴室/开关/按钮”payload_on1“payload_off0”