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

3.8 KiB
Raw Blame History

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通常是 localhostcore-mosquitto
    • 如果使用独立 MQTT broker填写其 IP 地址(例如 192.168.1.100
  • 端口:默认为 1883(或 TLS 加密使用 8883
  • 用户名/密码:如果 broker 需要认证,请填写

3. 检查网络连接

确保 Home Assistant 可以访问 MQTT broker

# 在 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-mosquittolocalhost
  • Port: 1883

使用外部 MQTT Broker

  1. 确保防火墙允许 1883 端口
  2. 如果使用 Docker确保网络配置正确
  3. 考虑使用 TLS 加密连接(端口 8883

调试步骤

启用详细日志

configuration.yaml 中添加:

logger:
  default: info
  logs:
    custom_components.jackery_home: debug
    homeassistant.components.mqtt: debug

重启 Home Assistant 后,日志将显示更详细的 MQTT 交互信息。

手动测试 MQTT 连接

使用 mosquitto_pubmosquitto_sub 工具测试:

# 订阅主题
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