『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 32744|回复: 75

[进阶教程] 【系统设置】提高Home Assistant系统稳定性的方法

  [复制链接]

3

主题

145

帖子

909

积分

高级会员

五岁能抬头

Rank: 4

积分
909
金钱
764
HASS币
20
发表于 2019-5-2 05:18:07 | 显示全部楼层 |阅读模式
本帖最后由 chaobt 于 2019-5-2 05:41 编辑

本文设置的前置条件:
需要你有一点Linux的基础,知道如何SSH登陆,添加Shell脚本并修改脚本执行权限


经过一段时间的使用,发现Home Assistant系统的健壮性不是很高,尤其是在频繁的版本更新之后,经常出现服务程序假死的情况。
而HA作为智能家居的中枢,其稳定性是要求却是最高的,试想报警系统无法正常开启,可能导致家庭安全受到影响。
于是我想到常用的系统心跳(Heartbeat)的方法来确定系统可用。
简单来说,就是通过命令访问HA的Web Console页面,如果页面可以访问,说明服务正常,否则就重启HA服务。
我是用群晖来部署HA的,作为家用NAS,群晖的稳定性已经能完全满足我的需求,所以我在群晖上跑了一个类似Crontab的定时检测。

设置方法如下:
1. 群晖控制面板(高级模式) -- 计划任务
01.png

2. 点击上面的新增 -- 计划的任务 -- 用户定义的脚本
02.png

3. 任务名称可以随便起,好记就行,在计划页面进行相关设置
03.png
我选择的是每10分钟一次检查,注意最后运行时间要设置到当天结束,这个设置相当于crontab的功能

4.运行命令填上heartbeat.sh脚本的相应目录,这个脚本我会在下面提供给大家下载。
因为我用的是群晖,所以这里写的是: bash /volume1/homeassistant/heartbeat.sh
04.png
至此,群晖部分的设置就完成了。

至于脚本,需要你有一点Linux的基础,知道如何打开群晖的SSH,添加Shell脚本并修改脚本执行权限。
heartbeat.sh脚本内容
#!/bin/sh

url="http(s)://你HA的IP:8123"
content="$(curl -skIL --connect-timeout 2 "$url" | grep HTTP/1.1 | tail -1 | awk {'print $2'})"
DATE="date '+%Y-%m-%d %H:%M:%S'"

if [ ! -z $content ] && [ $content -eq 405 ]
  then
    echo "Home Assistant is running"
  else
    echo "Restarting hass at $(date '+%Y-%m-%d %H:%M:%S').">>auto_restart.log
    /volume1/homeassistant/hass-daemon restart
fi

url修改成你的Home Assistant 所在的IP就可以了。之后将脚本拷贝到你的Home Assistant主目录,并且使用chmod +x heartbeat.sh命令给脚本加上可执行权限。
需要注意的几点:
游客,如果您要查看本帖隐藏内容请回复









评分

参与人数 1金钱 +20 HASS币 +10 收起 理由
+ 20 + 10 纳尼,还有这种操作?

查看全部评分

回复

使用道具 举报

7

主题

1975

帖子

5663

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
5663
金钱
3688
HASS币
145

灌水之王

发表于 2019-5-2 09:09:11 | 显示全部楼层
不错设备都有可以试一试
回复

使用道具 举报

6

主题

737

帖子

5586

积分

论坛元老

Rank: 8Rank: 8

积分
5586
金钱
4844
HASS币
20
发表于 2019-5-2 09:14:20 | 显示全部楼层
感谢楼主提供方案!!

然而,我N1搭建HA,并没有发出假死的情况发生。
回复

使用道具 举报

0

主题

164

帖子

894

积分

高级会员

Rank: 4

积分
894
金钱
730
HASS币
0
发表于 2019-5-2 09:27:29 | 显示全部楼层
学习楼主的技术分析 学习了
回复

使用道具 举报

23

主题

1329

帖子

6539

积分

超级版主

Rank: 8Rank: 8

积分
6539
金钱
5185
HASS币
100

教程狂人

发表于 2019-5-2 09:42:10 | 显示全部楼层
非常不错的点子
回复

使用道具 举报

1

主题

282

帖子

1222

积分

金牌会员

Rank: 6Rank: 6

积分
1222
金钱
940
HASS币
0
发表于 2019-5-2 09:53:03 | 显示全部楼层
n1也就需要删掉日志文件,其他都稳
回复

使用道具 举报

2

主题

712

帖子

4888

积分

论坛元老

Rank: 8Rank: 8

积分
4888
金钱
4176
HASS币
85
发表于 2019-5-2 09:55:39 | 显示全部楼层
感謝樓主分享
回复

使用道具 举报

0

主题

91

帖子

1040

积分

金牌会员

Rank: 6Rank: 6

积分
1040
金钱
949
HASS币
0
发表于 2019-5-2 10:35:57 | 显示全部楼层

謝謝分享
回复

使用道具 举报

25

主题

688

帖子

3630

积分

论坛元老

Rank: 8Rank: 8

积分
3630
金钱
2937
HASS币
219

活跃会员

发表于 2019-5-2 10:41:00 | 显示全部楼层
谢谢分享
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16013
金钱
11302
HASS币
45
发表于 2019-5-2 10:45:41 | 显示全部楼层
不错的想法,虽然不折腾hass一般不会有事,但常重启也是个好事。谢谢楼主分享方案。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 13:44 , Processed in 0.059907 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表