MQTT更新


mqtt更新平台允许您集成可能将安装的固件/软件和通过MQTT的最新版本作为更新实体的设备。必威是什么每次在话题在收到配置中,该实体将在家庭助理中进行更新。必威是什么

配置

要在安装中启用MQTT更新,请将以下内容添加到您的configuration.yaml文件:

#示例Configuration.yaml条目mqtt更新-state_topic主题安装最新_version_topic主题最终

配置变量

可用性 列表 ((选修的

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

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

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

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

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

话题 细绳 必需的

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

value_template 模板 ((选修的

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

availability_topic 细绳 ((选修的

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

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

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

availability_template 模板 ((选修的

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

command_topic 细绳 ((选修的

要发布的MQTT主题payload_install开始安装过程。

设备 地图 ((选修的

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

configuration_url 细绳 ((选修的

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

连接 列表 ((选修的

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

hw_version 细绳 ((选修的

设备的硬件版本。

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

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

制造商 细绳 ((选修的

设备的制造商。

模型 细绳 ((选修的

设备的模型。

名称 细绳 ((选修的

设备的名称。

建议_area 细绳 ((选修的

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

sw_version 细绳 ((选修的

设备的固件版本。

via_device 细绳 ((选修的

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

device_class device_class ((选修的,默认:无

类型/类更新以在前端设置图标。

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

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

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

收到和已发布消息的有效载荷的编码。调成“”禁用传入有效载荷的解码。

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

类别实体。

entity_picture 细绳 ((选修的

图片为实体的URL。

图标 图标 ((选修的

图标对于实体。

JSON_ATTRIBUTES_TEMPLATE 模板 ((选修的

定义a模板从收到的消息中提取JSON字典JSON_ATTRIBUTES_TOPIC

JSON_ATTRIBUTES_TOPIC 细绳 ((选修的

MQTT主题订阅以接收JSON字典有效载荷,然后将其设置为实体属性。暗示强制性升级当收到有关此主题的消息时,当前选择状态的目前。

最新_version_template 模板 ((选修的

定义a模板提取最新版本值。

最新_version_topic 细绳 ((选修的

MQTT主题订阅以接收最新版本的更新。

名称 细绳 ((选修的

选择的名称。

object_id 细绳 ((选修的

代替名称用于自动生成ENTITY_ID

payload_install 细绳 ((选修的

MQTT有效负载开始安装过程。

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

国家主题的最大QoS级别。默认值为0,也将用于发布消息。

Release_summary 细绳 ((选修的

发行说明或更改的摘要。这是最大255个字符的简短更新说明。

Release_url 细绳 ((选修的

URL到可用的最新版本的完整发行说明。

保持 布尔 ((选修的,默认:false

是否已发表的消息应在是否有保留标志。

state_topic 细绳 ((选修的

MQTT主题订阅以接收状态更新。状态更新可以是JSON,也可以是简单的字符串installed_version价值。当检测到JSON有效载荷时,JSON有效载荷的状态值应提供installed_version并可以可选供应:最新版本,,,,标题,,,,Release_summary,,,,Release_url或一个entity_pictureURL。

标题 细绳 ((选修的

该软件的标题或固件更新。这有助于区分设备或实体名称与已安装软件的标题。

唯一身份 细绳 ((选修的

独特地标识此选择的ID。如果两个选择具有相同的唯一ID主管助理,则会引起例外。必威是什么

value_template 模板 ((选修的

定义a模板提取installed_version状态价值或渲染到有效的JSON有效载荷,从接收到的有效载荷上state_topic

确保您的主题完全匹配。一些主题/一些主题是不同的主题。

例子

这是Shelly Gen1设备更新实体配置的一个示例。

#示例Configuration.yaml条目mqtt更新-名称雪莉插头s固件更新”标题雪莉插头s固件”Release_urlhttps://shelly-api-docs.shelly.cloud/gen1/#changelog“entity_picturehttps://brands.home-assistant.io/_/shelly/icon.png“state_topicShellies/Shellyplug-S-112233/信息value_template{{{value_json ['update']。old_version}}””最新_version_topicShellies/Shellyplug-S-112233/信息最新_version_template{%如果value_json ['update']。new_version%} {{{value_json ['update']。new_version}} {%别的%} {{{value_json ['update']。old_version}} {%万一%}””device_class固件”command_topicShellies/Shellyplug-S-112233/命令”payload_installupdate_fw”

JSON也可以用作state_topic有效载荷。

{“ installed_version”“ 1.21.0”,,,,“最新版本”“ 1.22.0”,,,,“标题”“设备固件”,,,,“ Release_url”“ https://example.com/release”,,,,“ Release_summary”“我们惊人的固件的新版本”,,,,“ entity_picture”“ https://example.com/icon.png”}

对于上述JSON有效载荷,更新实体配置应该看起来像这样:

#示例Configuration.yaml条目mqtt更新-名称惊人的设备更新”标题设备固件”state_topic惊人的设备/州主题”device_class固件”command_topic惊人的设备/命令”payload_install安装”

如果设备/服务将数据发送为JSON,但模式有所不同,则value_template可以用来重新格式化JSON。

{“ installed_ver”“ 2022.11”,,,,“ new_ver”“ 2022.12”}

对于上述JSON有效载荷,更新实体配置应该看起来像这样:

#示例Configuration.yaml条目mqtt更新-名称惊人的设备更新”标题设备固件”state_topic惊人的设备/州主题”value_template{{{{'installed_version':value_json.installed_ver,'最新版本':value_json.new_ver}|to_json}}””device_class固件”command_topic惊人的设备/命令”payload_install安装”