MQTT 真空
mqtt 真空 integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 允许您控制您的 MQTT 兼容真空。
MQTT 真空的初始状态 entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 将设置为 unknown,可以通过设备发送 null 负载作为状态来重置。
配置
MQTT 真空配置部分。
Configuration Variables
一系列订阅以接收可用性(在线/离线)更新的 MQTT 主题。不得与 availability_topic 一起使用。
当配置了 availability 时,这控制设置实体为 available 所需的条件。有效条目为 all、any 和 latest。如果设置为 all,则必须在所有配置的可用性主题上接收到 payload_available,才能标记该实体为在线。如果设置为 any,则必须在至少一个配置的可用性主题上接收到 payload_available,才能标记该实体为在线。如果设置为 latest,则在任何配置的可用性主题上接收到的最后一个 payload_available 或 payload_not_available 控制可用性。
Defines a template to extract device’s availability from the availability_topic. To determine the devices’s availability result of this template will be compared to payload_available and payload_not_available.
设备与外部世界的连接列表,作为元组 [connection_type, connection_identifier] 的列表。例如,网络接口的 MAC 地址:“connections”: [[“mac”, “02:5b:26:a8:dc:12”]]。
Defines a template to extract the JSON dictionary from messages received on the json_attributes_topic. Usage example can be found in MQTT sensor documentation.
订阅以接收 JSON 字典负载的 MQTT 主题,然后将其作为传感器属性设置。用法示例可以在 MQTT sensor 文档中找到。
必须为 vacuum。仅在 MQTT 自动发现设备消息 中允许和必需。
订阅以接收来自真空的状态消息的 MQTT 主题。在 state_topic 上接收的消息必须是一个有效的 JSON 字典,包含一个必需的 state 键和可选的 battery_level 和 fan_speed 键,如 示例 中所示。
真空支持的功能列表(可能的值为 start、stop、pause、return_home、battery、status、locate、clean_spot、fan_speed、send_command)。
start、stop、return_home、status、battery、clean_spot
配置示例
# 示例 configuration.yaml 条目
mqtt:
- vacuum:
name: "MQTT Vacuum"
supported_features:
- start
- pause
- stop
- return_home
- battery
- status
- locate
- clean_spot
- fan_speed
- send_command
command_topic: "vacuum/command"
set_fan_speed_topic: "vacuum/set_fan_speed"
fan_speed_list:
- min
- medium
- high
- max
send_command_topic: "vacuum/send_command"
MQTT 协议
该集成的配置期望类似以下的 MQTT 协议。
基本命令
MQTT 主题: vacuum/command
可能的 MQTT 负载:
-
start- 开始清洁 -
pause- 暂停清洁 -
return_to_base- 返回基座/码头 -
stop- 停止真空。 -
clean_spot- 初始化局部清洁周期 -
locate- 定位真空(通常通过播放一首歌曲)
发送自定义命令
真空的 send_command 允许三个参数:
- entity_id
- command
- params - 可选
如果未提供 params,则作为负载发送命令到 MQTT send_command 主题。 如果提供了 params,服务会以如下结构发送 JSON 作为负载:
{
'command': 'command',
'param1-key': 'param1-value'
}
动作触发示例:
- alias: "基于传感器推送命令"
triggers:
- trigger: state
entity_id: sensor.sensor
actions:
- action: vacuum.send_command
target:
entity_id: vacuum.vacuum_entity
data:
command: "custom_command"
params:
- key: value
MQTT 主题: vacuum/send_command
状态/传感器更新
MQTT 主题: vacuum/state
MQTT 负载:
{
"battery_level": 61,
"state": "docked",
"fan_speed": "off"
}
状态必须是 Home Assistant 支持的真空状态之一:
- 清洁中,
- 停靠,
- 暂停,
- 空闲,
- 返回,
- 错误。
设置风扇速度
MQTT 主题: vacuum/set_fan_speed
可能的 MQTT 负载:
-
min- 最低风扇速度 -
medium- 中等风扇速度 -
high- 高风扇速度 -
max- 最大风扇速度
使用示例
无云小米真空的使用
此集成由无云的小米真空 Web 界面 Valetudo