第一步:安装 Mosquitto Broker 插件 (如果你还没有 MQTT 服务端)
如果你本地还没有搭建 MQTT 服务器(Broker),可以直接使用 HA 自带的插件商店来一键安装。
打开 HA 网页端,点击左下角的 配置 (Settings)。
选择 设备与服务 (Devices & Services)。
点击顶部的 Add-ons (插件) 标签页(或者在左侧菜单直接进入“系统 -> 插件”)。
点击右下角的 插件商店 (Add-on Store)。
在搜索框输入 Mosquitto,找到 Mosquitto Broker 并点击进入。
点击 安装 (Install)。
安装完成后,建议勾选 守护 (Watchdog) 和 在侧边栏显示 (Show in sidebar)(可选),然后点击 启动 (Start)。
第二步:配置
有了 Broker 之后,我们需要让 HA 的核心引擎连接到这个 Broker。
再次进入 配置 (Settings) -> 设备与服务 (Devices & Services)。
此时,HA 的自动发现机制通常会非常智能地在页面顶部弹出一个提示:“发现新设备:MQTT”。
如果看到了提示:直接点击 配置 (Configure)。
如果没看到提示:点击右下角的 添加集成 (Add Integration),搜索 MQTT 并点击它。
系统会弹窗询问你是否要提交配置,点击 提交 (Submit)。
大功告成!此时 HA 会自动识别并连接到本地运行的 Mosquitto Broker,无需手动输入 IP 和端口。
第三步:如何手动修改配置或测试连接
如果你需要连接到局域网内的其他独立 MQTT 服务器(比如在别的虚拟机或 NAS 上单独搭建的 MQTT),或者需要修改认证信息:
在 设备与服务 页面找到刚才添加的 MQTT 卡片。
点击 配置 (Configure),你会看到一个调试界面。
点击 重新配置 MQTT (Reconfigure MQTT),在这里你可以手动填入:
Broker: 你的 MQTT 服务器 IP
端口 (Port): 默认 1883
用户名/密码: 刚才为 MQTT 设立的凭据
点击保存即可。
配置configuration.yaml,让ha中的设置与mqtt联动
# 在 configuration.yaml 中添加以下配置
mqtt_statestream:
base_topic: homeassistant # 基础主题前缀
publish_attributes: true # 是否同步属性(比如灯的亮度、风扇风速)
publish_timestamps: true # 同步时间戳
include:
domains:
- switch # 自动把所有米家开关同步到 MQTT
- light # 自动把所有米家灯具同步到 MQTT
- sensor # 自动把所有米家传感器同步到 MQTT
如果需要mqtt能操作设置,你还需要写一个自动化。设置->自动化->新建->ymal编辑器
alias: MQTT万能控制网关
description: 监听来自 MQTT Explorer 或 Golang 的命令并调用 HA 内部服务
trigger:
- platform: mqtt
topic: homeassistant/service/switch/turn_on
id: turn_on
- platform: mqtt
topic: homeassistant/service/switch/turn_off
id: turn_off
action:
- choose:
- conditions:
- condition: trigger
id: turn_on
sequence:
- service: switch.turn_on
target:
entity_id: "{{ trigger.payload_json.entity_id }}"
- conditions:
- condition: trigger
id: turn_off
sequence:
- service: switch.turn_off
target:
entity_id: "{{ trigger.payload_json.entity_id }}"
mode: queued
文章评论