diff --git a/DEPLOY.md b/DEPLOY.md new file mode 100644 index 0000000..9dcd5fb --- /dev/null +++ b/DEPLOY.md @@ -0,0 +1,137 @@ +# SigMesh Gateway - 部署脚本 + +## 自动部署脚本 + +### 部署到 Home Assistant + +```bash +#!/bin/bash +# deploy.sh - 部署到 Home Assistant + +# 配置 +HA_CONFIG_DIR="${HA_CONFIG_DIR:-$HOME/.homeassistant}" +PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)" + +echo "=== SigMesh Gateway 部署脚本 ===" +echo "项目目录:$PROJECT_DIR" +echo "HA 配置目录:$HA_CONFIG_DIR" + +# 创建目录 +mkdir -p "$HA_CONFIG_DIR/custom_components" + +# 复制集成文件 +echo "复制集成文件..." +cp -r "$PROJECT_DIR/custom_components/sigmesh_gateway" \ + "$HA_CONFIG_DIR/custom_components/" + +# 设置权限 +echo "设置权限..." +chown -R $(id -u):$(id -g) "$HA_CONFIG_DIR/custom_components/sigmesh_gateway" + +# 验证配置 +echo "验证配置..." +if [ -f "$HA_CONFIG_DIR/custom_components/sigmesh_gateway/manifest.json" ]; then + echo "✓ 部署成功" + echo "" + echo "下一步:" + echo "1. 重启 Home Assistant: ha core restart" + echo "2. 在 HA 中添加集成:设置 → 设备与服务 → 添加集成 → SigMesh Gateway" +else + echo "✗ 部署失败" + exit 1 +fi +``` + +### 创建发布包(用于 HACS) + +```bash +#!/bin/bash +# release.sh - 创建 HACS 发布包 + +PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)" +RELEASE_DIR="$PROJECT_DIR/release" +VERSION="${1:-1.0.0}" + +echo "=== 创建 HACS 发布包 ===" +echo "版本:$VERSION" + +# 清理旧文件 +rm -rf "$RELEASE_DIR" +mkdir -p "$RELEASE_DIR" + +# 复制必要文件 +cp -r "$PROJECT_DIR/custom_components" "$RELEASE_DIR/" +cp "$PROJECT_DIR/hacs.json" "$RELEASE_DIR/" +cp "$PROJECT_DIR/README.md" "$RELEASE_DIR/" +cp "$PROJECT_DIR/LICENSE" "$RELEASE_DIR/" 2>/dev/null || true + +# 创建 zip 包 +cd "$RELEASE_DIR" +zip -r "sigmesh_gateway.zip" ./* + +echo "✓ 发布包创建成功:$RELEASE_DIR/sigmesh_gateway.zip" +``` + +``` + +保存后运行: +```bash +chmod +x deploy.sh +./deploy.sh +``` + +--- + +## 快速部署命令 + +**一行部署**: +```bash +cp -r custom_components/sigmesh_gateway ~/.homeassistant/custom_components/ && ha core restart +``` + +--- + +## 部署检查清单 + +- [ ] HA 配置目录确认(默认 `~/.homeassistant`) +- [ ] `custom_components` 目录存在 +- [ ] 文件权限正确(homeassistant 用户可读) +- [ ] 重启 HA 使集成生效 +- [ ] 在 HA UI 中确认集成已加载 +- [ ] 配置串口设备 +- [ ] 验证实体创建成功 + +--- + +## 常见问题 + +**Q: 集成不显示?** +```bash +# 检查 manifest.json +cat ~/.homeassistant/custom_components/sigmesh_gateway/manifest.json + +# 查看 HA 日志 +tail -f ~/.homeassistant/home-assistant.log | grep sigmesh +``` + +**Q: 串口权限问题?** +```bash +# 添加用户到 dialout 组 +sudo usermod -a -G dialout homeassistant + +# 重启 HA +ha core restart +``` + +**Q: 如何更新代码?** +```bash +# 拉取最新代码 +cd /home/ubuntu/workspace/cherry-studio/enginneer/impress_sig_mesh_hacs +git pull origin main + +# 重新部署 +./deploy.sh + +# 重启 HA +ha core restart +```