- Home Assistant 概述
- 安装 - 通用
- 安装 - 树莓派 - 概述
- 安装 - 树莓派 - Raspbian
- 安装 - 树莓派 - Hassbian
- 安装 - 树莓派 - Hass.io
- 安装 - Docker
- 安装 - Linux
- 安装 - 自启
- 更新 - 通用
- 更新 - 树莓派
- 系统 - 前端
- 系统 - 自动化
- 系统 - 设备追踪
- 系统 - 自定义
- 设备及服务 - 概述
- 设备及服务 - 小米生态链 - Index
- 设备及服务 - 小米生态链 - Zigbee
- 设备及服务 - 小米生态链 - WiFi
- 设备及服务 - 小米生态链 - 蓝牙
- 设备及服务 - 小米生态链 - 摄像头
- 设备及服务 - 小米生态链 - 路由器
- 设备及服务 - 小米生态链 - 电视
- 设备及服务 - 博联
- 设备及服务 - MQTT
- 设备及服务 - 路由器
- 设备及服务 - 天气
- 设备及服务 - 自然
- 设备及服务 - 智能语音
- 设备及服务 - 汽车 - 特斯拉 Tesla
- 设备及服务 - 汽车 - 宝马 BMW
- 设备及服务 - 汽车 - 沃尔沃 Volvo
- Mossbian - 简介
- Mossbian - 安装
- Mossbian - 工具包
- 微信小程序 - 简介
- 微信小程序 - 使用说明
- Hass.io - 概述
- Hass.io - 安装
- Hass.io - 配置
- Hass.io - 更新
- Hass.io - Add-on
- HADashboard - 概述
- HADashboard - 安装
- HADashboard - 配置
- HADashboard - 创建
- HADashboard - 模块
- HADashboard - 运行
- Apple Homekit - 简介
- Apple Homekit - 内置组件
- Apple Homekit - Node 插件
- 衍生项目 - HA-floorplan 平面图
- 衍生项目 - 自定义 UI
- 衍生项目 - 自定义 UI 磁贴
- 衍生项目 - Hassctl
- 衍生项目 - HASS-cli 命令行控制工具
- 中文化 - 汉化
- 中文化 - 插件
- 中文化 - 源替换
- 常见问题
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
设备及服务 - MQTT
Home Assistant 原生支持 MQTT 协议,以下文档将统一说明所有 MQTT 相关设备及服务的接入方法。
代理服务器
Home Assistant 支持各类 MQTT 代理服务器,接入 MQTT 设备前请配置代理服务器。
内置代理服务器
Home Assistant 内置 MQTT 代理服务器(HBMQTT),以下为该代理服务器信息:
Setting | Value |
---|---|
Host 地址 | localhost |
Port 端口 | 1883 |
Protocol 协议 | 3.1.1 |
User 用户 | homeassistant |
Password 密码 | 你的 HA API 密码 |
Websocket 端口 | 8080 |
使用内置服务器,仅需在配置文件 configuration.yaml
中设置
mqtt:
如果想详细配置内置代理服务器,则可在后添加相关参数:
mqtt: embedded: listeners: default: max-connections: 50000 type: tcp my-tcp-1: bind: 127.0.0.1:1883 my-tcp-2: bind: 1.2.3.4:1884 max-connections: 1000 my-tcp-ssl-1: bind: 127.0.0.1:8885 ssl: on cafile: /some/cafile capath: /some/folder capath: certificate data certfile: /some/certfile keyfile: /some/key my-ws-1: bind: 0.0.0.0:8080 type: ws timeout-disconnect-delay: 2 auth: plugins: ['auth.anonymous'] allow-anonymous: true / false password-file: /some/passwd_file
备注
在 Owntracks 中使用内置 MQTT 代理服务器,请先打开 Owntracks 客户端 —— Configuration Management —— 将 mqttProtocolLevel
的值变更为 4
。
自建代理服务器
使用 Owntracks MQTT 代理服务器,请先打开 Owntracks 客户端 —— Configuration Management —— 将 mqttProtocolLevel
的值变更为 4
。
mqtt: broker: 服务器的 IP 地址 client_id: HA 使用的用户 ID keepalive: 信息发送间隔,单位秒。默认 60 username: 用户名 password: 密码 protocol: 协议版本,3.1.1 或 3.1 certificate: MQTT 证书路径(如果有) tls_insecure: 是否验证正式 tls_version: tls 版本,auto、1.0、1.1、1.2
全部参数均为可选参数。
公共代理服务器
开放的 MQTT 代理服务器,使用时注意保护隐私。
mqtt: broker: rest.mosquittp.org port: 1883 或 8883 certificate: 证书路径(如果有)
二元传感器
binary_sensor: - platform: mqtt name: "Window Contact Sensor" state_topic: "home-assistant/window/contact" payload_on: "ON" payload_off: "OFF" availability_topic: "home-assistant/window/availability" payload_available: "online" payload_not_available: "offline" qos: 0 device_class: opening value_template: '{{ value.x }}'
变量说明:
- name (可选): 名称,英文。默认
MQTT Binary Sensor
. - state_topic (必填): 获取设备值的MQTT topic
- payload_on (可选): 代表开启的负载类型,默认
ON
- payload_off (可选): 代表开启的负载类型,默认
OFF
- availability_topic (可选): 获取设备 birth&LWT 信息的 MQTT topic。如未指明,则设备的可用状态默认为
available
;如指明,则设备的可用状态默认为available
。 - payload_available (可选): 指代设备在线状态的值,默认为
online
. - payload_not_available (可选): 指代设备离线状态的值,默认为
offline
. - qos (可选): 最大 QoS 值,默认
0
- device_class (可选): 指定数据类型,用以生成不同图标
- value_template (可选): 定制数据生成的模板
传感器
sensor: - platform: mqtt state_topic: "owntracks/tablet/tablet" name: "Battery Tablet" unit_of_measurement: "%" value_template: '{{ value_json.batt }}'
变量说明:
- name (可选): 名称,英文。默认
MQTT Binary Sensor
. - state_topic (必填): 获取设备值的MQTT topic
- qos (可选): 最大 QoS 值,默认
0
- value_template (可选): 定制数据生成的模板
- unit_of_measurement (可选): 单位
- expire_after (可选): 数据有效时间,以秒为单位,默认 0
- force_update (可选): 强制更新数据,默认 false
锁
lock: - platform: mqtt name: Frontdoor state_topic: "home-assistant/frontdoor/" command_topic: "home-assistant/frontdoor/set" payload_lock: "LOCK" payload_unlock: "UNLOCK" optimistic: false qos: 1 retain: true value_template: '{{ value.x }}'
变量说明:
- name (可选): 名称,英文。默认
MQTT Binary Sensor
- state_topic (必填): 获取设备值的MQTT topic
- payload_lock (可选): 代表设备锁上的值,默认
LOCK
- payload_unlock (可选): 代表设备开锁的值,默认
LOCK
- optimistic (可选): 设备是否在理想模式,如果
state_topic
没有定义,默认为true
- qos (可选): 最大 QoS 值,默认
0
- retain (可选): 信息发布是否带 retain 标记
- value_template (可选): 定制数据生成的模板
开关
switch: - platform: mqtt name: "Bedroom Switch" state_topic: "home/bedroom/switch1" command_topic: "home/bedroom/switch1/set" availability_topic: "home/bedroom/switch1/available" payload_on: "ON" payload_off: "OFF" optimistic: false qos: 0 retain: true
变量说明:
- name (可选): 名称,英文。默认
MQTT Switch
- state_topic (必填): 获取设备值的MQTT topic
- command_topic (必填): The MQTT topic to publish commands to change the switch state.
- availability_topic (可选): 获取设备 birth&LWT 信息的 MQTT topic。如未指明,则设备的可用状态默认为
available
;如指明,则设备的可用状态默认为available
。 - payload_on (可选): 代表开启的值,默认
ON
- payload_off (可选): 代表开启的值,默认
OFF
- payload_available (可选): 代表设备在线状态的值, 如 'online',默认为
ON
- payload_not_available (可选): 代表设备离线状态的值, 如 'offline',默认为
OFF
- optimistic (可选): 设备是否在理想模式,如果
state_topic
没有定义,默认为true
- qos (可选): 最大 QoS 值,默认
0
- retain (可选): 信息发布是否带 retain 标记
- value_template (可选): 定制数据生成的模板
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论