impress_sig_mesh_hacs/DEPLOY.md
impressionyang db02581f5c docs: 添加部署指南文档
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 18:27:39 +08:00

138 lines
2.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.

# 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
```