侧边栏壁纸
博主头像
龍騰博客 博主等级

行动起来,活在当下

  • 累计撰写 158 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

本地AI家庭知识库语音助手(断电重启防护)

管理员
2026-06-21 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

SER8端部署(共6步)

第一步:删除旧的fstab挂载方式,改用systemd挂载单元

bash

sed -i '\|//192.168.0.9/config|d' /etc/fstab
umount /mnt/haos-config 2>/dev/null

第二步:创建systemd挂载单元(注意文件名里的\x2d不能改,这是systemd规定的转义格式,对应路径/mnt/haos-config

bash

cat > "/etc/systemd/system/mnt-haos\x2dconfig.mount" << 'EOF'
[Unit]
Description=HAOS Samba共享挂载 - 家庭备忘录数据
After=network-online.target
Wants=network-online.target

[Mount]
What=//192.168.0.9/config
Where=/mnt/haos-config
Type=cifs
Options=username=dragon,password=778899,vers=3.0,_netdev,x-systemd.automount,x-systemd.mount-timeout=10,noauto

[Install]
WantedBy=multi-user.target
EOF

第三步:启用并启动这个挂载单元

bash

systemctl daemon-reload
systemctl enable "mnt-haos\x2dconfig.mount"
systemctl start "mnt-haos\x2dconfig.mount"
systemctl status "mnt-haos\x2dconfig.mount"

确认看到active (mounted)状态。

第四步:更新触发服务脚本(覆盖原有的sync_trigger_server.py,这次加了挂载健康检查和自动重连逻辑)

把上面sync_trigger_server.py文件下载下来的完整内容,覆盖到:

bash

nano /root/sync_trigger_server.py

(或者直接用cat > /root/sync_trigger_server.py << 'PYEOF' ... PYEOF这种方式重新写入,把文件内容整段粘贴进去)

第五步:重启服务让新代码生效

bash

systemctl restart oikb-sync-server
systemctl status oikb-sync-server

第六步:测试健康检查接口

bash

curl http://localhost:9100/health

应该返回:

json

{"service":"ok","mount_healthy":true}

HA端部署

打开configuration.yaml,把intent_script:这整块替换成configuration_intent_script_snippet.yaml文件里的内容(保留你原有的shell_commandrest_command两块不变,只替换intent_script这部分)。

重启HA。


模拟断电场景测试(重要,建议真的测一次)

bash

# 故意把挂载弄坏,模拟"假死"状态
umount -f /mnt/haos-config

# 触发一次同步,看自动重连是否生效
curl -X POST http://localhost:9100/trigger-sync

返回结果里应该能看到remount_log字段,说明系统检测到了异常并自动尝试修复。

这一步务必实测——尤其是"完全连不上SER8"这种更极端的情况(比如直接拔网线测试HA这边的播报反应),因为这部分我没能找到100%确定的官方处理范例,需要你实际验证一下断网时听到的播报是不是符合预期,如果不是,把实际听到的内容告诉我,我们再针对性调整。

三个文件files.zip

0

评论区