OpenMQTTGateway与Home Assistant集成指南
OpenMQTTGateway 项目地址: https://gitcode.com/gh_mirrors/op/OpenMQTTGateway
前言
OpenMQTTGateway是一个强大的物联网网关项目,能够将多种无线协议(如RF、BLE、红外等)转换为MQTT消息。本文将详细介绍如何将OpenMQTTGateway与Home Assistant智能家居平台进行集成,实现设备的自动化管理。
集成方式概述
OpenMQTTGateway与Home Assistant的集成主要提供两种方式:
- 自动发现集成:利用MQTT的自动发现功能,无需手动配置即可自动创建设备实体
- 手动配置集成:通过YAML文件手动定义每个设备和传感器
自动发现集成配置
准备工作
- 确保Home Assistant已启用MQTT集成
- 为OpenMQTTGateway创建专用MQTT用户(非管理员权限即可)
- 注意用户名和密码长度不超过64字符
配置步骤
- 在Home Assistant配置界面启用MQTT自动发现功能
- 在OpenMQTTGateway中保持默认的自动发现设置
- 网关启动后会自动向Home Assistant注册设备
各协议自动发现特性
蓝牙(BLE)设备
- 自动创建温度、湿度、电量等传感器实体
- 需要设备主动广播数据才能被发现
RTL_433射频设备
- 自动创建温湿度传感器等实体
- 更换电池可能导致设备ID变化,需注意
RF(RCSwitch)设备
- 可配置为设备触发器或MQTT传感器
- 提供两种工作模式选择
手动配置集成
对于需要更精细控制的场景,可以采用手动配置方式。
常见设备配置示例
1. PIR运动传感器
mqtt:
binary_sensor:
- unique_id: pir.15484294
name: "Pir.Mansarda"
device_class: motion
state_topic: "home/+/433toMQTT/15484294"
value_template: "{{ value_json.value }}"
payload_on: "15484294"
off_delay: 3
2. 门磁传感器
mqtt:
binary_sensor:
- name: "door_sensor"
state_topic: "home/OpenMQTTGateway/433toMQTT"
value_template: >-
{% if value_json.value == '7821834' %}
{{'ON'}}
{% elif value_json.value == '7821838' %}
{{'OFF'}}
{% else %}
{{states('binary_sensor.door_sensor') | upper}}
{% endif %}
device_class: opening
3. 米家温湿度计
mqtt:
sensor:
- name: "mijia_temperature"
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA'
unit_of_measurement: '°C'
value_template: '{{ value_json.tem | is_defined }}'
expire_after: 21600
4. RF开关控制
mqtt:
switch:
- name: "RF_Switch"
state_topic: "home/OpenMQTTGateway/SRFBtoMQTT"
command_topic: "home/OpenMQTTGateway/commands/MQTTtoSRFB"
value_template: "{{ value_json.value }}"
payload_on: '{"value":4546575}'
payload_off: '{"value":4546572}'
高级配置技巧
1. RF网关模式选择
可以通过下拉菜单切换RF接收器的工作模式:
select:
- name: 'RF: Mode receive'
options:
- "Pilight"
- "RF classic"
- "RF2 kaku"
state_topic: home/espdevcho/RFtoMQTT
command_topic: home/espdevcho/commands/MQTTtoRF/config
2. 人体存在检测
配置基于蓝牙信号的房间存在检测:
sensor:
- platform: mqtt_room
device_id: XX:XX:XX:XX:XX:XX
name: you_are_in
state_topic: "home/presence"
3. 小米体脂秤数据解析
template:
sensor:
- name: body_mass_index
value_template: >-
{% set HEIGHT = 1.76 %}
{% set WEIGHT = states('sensor.weight')|float %}
{{ (WEIGHT/(HEIGHT*HEIGHT))|round(1) }}
常见问题解决
-
自动发现不工作:
- 检查MQTT自动发现是否启用
- 确认OpenMQTTGateway和Home Assistant使用相同的MQTT broker
- 查看网关日志确认发现消息已发送
-
设备重复创建:
- RF设备更换电池可能导致新设备创建
- 可使用通配符topic过滤解决
-
传感器状态不更新:
- 检查设备是否定期发送数据
- 确认MQTT topic配置正确
最佳实践建议
- 为OpenMQTTGateway创建专用MQTT用户
- 复杂环境建议使用手动配置确保稳定性
- 定期检查设备电池状态,避免因电量导致的问题
- 重要设备建议配置状态保持和过期时间
通过以上配置,OpenMQTTGateway可以完美融入Home Assistant生态系统,为您提供强大的物联网设备管理能力。
OpenMQTTGateway 项目地址: https://gitcode.com/gh_mirrors/op/OpenMQTTGateway
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考