Files
homeassistant-jackery/TROUBLESHOOTING.md
不求圣剑 363f76b26f feat: add MQTT connection issue summary and troubleshooting guide
- Introduced a comprehensive summary of MQTT connection issues and their resolutions in `MQTT_FIX_SUMMARY.md`.
- Created a detailed troubleshooting guide in `TROUBLESHOOTING.md` to assist users in resolving common MQTT-related problems.
- Updated `README.md` to include prerequisites for MQTT integration and enhanced error handling instructions.
- Improved user experience by clarifying configuration steps and providing clear error messages for MQTT integration issues.
2025-11-18 17:06:59 +08:00

140 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# JackeryHome 故障排除指南
## MQTT 连接问题
### 问题Host is unreachable 错误
如果您在 Home Assistant 日志中看到以下错误:
```
ERROR (MainThread) [homeassistant.components.mqtt.client] Error re-connecting to MQTT server due to exception: [Errno 113] Host is unreachable
WARNING (MainThread) [custom_components.jackery_home.sensor] MQTT not ready: Error talking
```
**原因:**
JackeryHome 集成依赖于 Home Assistant 的内置 MQTT 集成。该错误表明 Home Assistant 无法连接到配置的 MQTT broker。
**解决方案:**
#### 1. 确认已安装并配置 MQTT 集成
1. 进入 Home Assistant**设置** → **设备与服务**
2. 检查是否已添加 **MQTT** 集成
3. 如果没有,点击 **添加集成**,搜索并添加 **MQTT**
#### 2. 配置正确的 MQTT Broker 地址
在 MQTT 集成配置中,确保:
- **Broker 地址**:填写您的 MQTT broker 的 IP 地址或主机名
- 如果使用 Mosquitto Add-on通常是 `localhost``core-mosquitto`
- 如果使用独立 MQTT broker填写其 IP 地址(例如 `192.168.1.100`
- **端口**:默认为 `1883`(或 TLS 加密使用 `8883`
- **用户名/密码**:如果 broker 需要认证,请填写
#### 3. 检查网络连接
确保 Home Assistant 可以访问 MQTT broker
```bash
# 在 Home Assistant 容器/主机中测试连接
ping <mqtt_broker_ip>
telnet <mqtt_broker_ip> 1883
```
#### 4. 检查 MQTT Broker 是否运行
如果使用 Mosquitto Add-on
1. 进入 **设置****加载项**
2. 找到 **Mosquitto broker**
3. 确认状态为 **已启动**
4. 查看日志确认没有错误
#### 5. 重新配置 JackeryHome 集成
在 MQTT 集成正确配置后:
1. 进入 **设置****设备与服务**
2. 找到 **JackeryHome** 集成
3. 如果仍有问题,尝试删除并重新添加该集成
### 问题MQTT publish failed
如果看到 "MQTT publish failed" 错误,但 MQTT 集成已配置:
1. **重启 MQTT broker**
2. **重启 Home Assistant**
3. 检查 MQTT broker 日志中是否有连接错误
4. 确认 MQTT broker 没有达到连接限制
### 问题:数据未更新
如果传感器显示"不可用"或数据不更新:
1. **检查 MQTT 主题**:确认设备正在向正确的主题发布数据
- LWT 主题:`v1/iot_gw/gw_lwt`
- 数据主题:`v1/iot_gw/gw/data`
2. **使用 MQTT Explorer 监控**
- 安装 MQTT Explorer桌面应用
- 连接到您的 broker
- 订阅 `v1/iot_gw/#` 查看是否有数据
3. **检查设备序列号**
- 查看传感器的属性,确认 `device_sn` 是否正确
- 确认设备已上线并发送了 LWT 消息
## 常见配置问题
### 使用 Mosquitto Add-on
推荐配置:
- **Broker**: `core-mosquitto``localhost`
- **Port**: `1883`
### 使用外部 MQTT Broker
1. 确保防火墙允许 1883 端口
2. 如果使用 Docker确保网络配置正确
3. 考虑使用 TLS 加密连接(端口 8883
## 调试步骤
### 启用详细日志
`configuration.yaml` 中添加:
```yaml
logger:
default: info
logs:
custom_components.jackery_home: debug
homeassistant.components.mqtt: debug
```
重启 Home Assistant 后,日志将显示更详细的 MQTT 交互信息。
### 手动测试 MQTT 连接
使用 `mosquitto_pub``mosquitto_sub` 工具测试:
```bash
# 订阅主题
mosquitto_sub -h <broker_ip> -t "v1/iot_gw/#" -v
# 发布测试消息
mosquitto_pub -h <broker_ip> -t "v1/iot_gw/test" -m "test message"
```
## 获取帮助
如果问题仍未解决,请在 GitHub 上提交 issue并提供
1. Home Assistant 版本
2. JackeryHome 集成版本
3. MQTT broker 类型和版本
4. 完整的错误日志(启用调试日志后)
5. MQTT 集成配置(隐藏敏感信息)
GitHub 仓库https://github.com/your-repo/jackery_home