MQTT更新
这mqtt
更新平台允许您集成可能将安装的固件/软件和通过MQTT的最新版本作为更新实体的设备。必威是什么每次在话题
在收到配置中,该实体将在家庭助理中进行更新。必威是什么
配置
要在安装中启用MQTT更新,请将以下内容添加到您的configuration.yaml
文件:
#示例Configuration.yaml条目mqtt:更新:-state_topic:主题安装最新_version_topic:主题最终
配置变量
MQTT主题列表订阅以接收可用性(在线/离线)更新。不得一起使用availability_topic
。
什么时候可用性
已配置,这控制了将实体设置为可用的
。有效的条目是全部
,,,,任何
, 和最新的
。如果设置为全部
,,,,payload_available
在实体被标记为在线之前,必须在所有配置的可用性主题上收到。如果设置为任何
,,,,payload_available
在实体被标记为在线之前,必须在至少一个配置的可用性主题上收到。如果设置为最新的
, 最后payload_available
或者payload_not_available
在任何配置的可用性主题上都收到了可用性。
定义a模板从中提取设备的可用性availability_topic
。为了确定设备的可用性结果,将与payload_available
和payload_not_available
。
该设备与外界的连接列表作为元组列表[Connection_Type,Connection_Identifier]
。例如,网络接口的MAC地址:“连接”:[“ Mac”,“ 02:5B:26:A8:DC:12”]
。
这类型/类更新以在前端设置图标。
这类别实体。
MQTT主题订阅以接收状态更新。状态更新可以是JSON,也可以是简单的字符串installed_version
价值。当检测到JSON有效载荷时,JSON有效载荷的状态值应提供installed_version
并可以可选供应:最新版本
,,,,标题
,,,,Release_summary
,,,,Release_url
或一个entity_picture
URL。
确保您的主题完全匹配。一些主题/
和一些主题
是不同的主题。
例子
这是Shelly Gen1设备更新实体配置的一个示例。
#示例Configuration.yaml条目mqtt:更新:-名称:“雪莉插头s固件更新”标题:“雪莉插头s固件”Release_url:“https://shelly-api-docs.shelly.cloud/gen1/#changelog“entity_picture:“https://brands.home-assistant.io/_/shelly/icon.png“state_topic:“Shellies/Shellyplug-S-112233/信息value_template:“{{{value_json ['update']。old_version}}””最新_version_topic:“Shellies/Shellyplug-S-112233/信息最新_version_template:“{%如果value_json ['update']。new_version%} {{{value_json ['update']。new_version}} {%别的%} {{{value_json ['update']。old_version}} {%万一%}””device_class:“固件”command_topic:“Shellies/Shellyplug-S-112233/命令”payload_install:“update_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:“安装”