智能家居HomeAssistant(二)Docker安装homeassistant

2023-05-16

目录

1、查找镜像

2、拉取镜像

3、查看镜像

4、启动镜像

5、查看容器运行状态

6、开机自动启动配置

7、自动重新启动配置

扩展:

下一篇MQTT配置:智能家居HomeAssistant(三)MQTT配置 


homeassistant功能介绍:智能家居HomeAssistant(一)介绍概览

1、查找镜像

docker search homeassistant

选择STARS最多的镜像

2、拉取镜像

docker pull homeassistant/home-assistant 

3、查看镜像

docker images homeassistant/home-assistant

4、启动镜像

docker run --init -d --name="home-assistant" -e "TZ=Asia/Shanghai" -v /PATH_TO_YOUR_CONFIG:/config --net=host homeassistant/home-assistant:latest

您需要替换/PATH_TO_YOUR_CONFIG为配置路径,例如,如果您选择配置路径为/home/hanhui/homeassistant,则命令将为:

docker run --init -d --name="home-assistant" -e "TZ=Asia/Shanghai" -v /home/hanhui/homeassistant:/config --net=host homeassistant/home-assistant:latest

5、查看容器运行状态

docker ps

6、开机自动启动配置

使用systemd自动启动home-assistant

/etc/systemd/system/home-assistant@YOUR_USER.service

YOUR_USER替换为Home Assistant将以其运行的用户帐户(通常为homeassistant)。尤其是Ubuntu 16.04。

如果您想使用Docker,以下模板应该适合您。

 

[Unit]
Description=Home Assistant
Requires=docker.service
After=docker.service

[Service]
Restart=always
RestartSec=3
ExecStart=/usr/bin/docker run --name=home-assistant-%i -v /home/%i/.homeassistant/:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant
ExecStop=/usr/bin/docker stop -t 2 home-assistant-%i
ExecStopPost=/usr/bin/docker rm -f home-assistant-%i

[Install]
WantedBy=multi-user.target

 

您需要重新加载systemd以使守护程序知道新配置。

sudo systemctl --system daemon-reload
 
要使Home Assistant在启动时自动启动,请启用该服务。

sudo systemctl enable home-assistant@YOUR_USER
 
要禁用自动启动,请使用此命令。

sudo systemctl disable home-assistant@YOUR_USER
 
要立即启动Home Assistant,请使用此命令。

sudo systemctl start home-assistant@YOUR_USER
 
您也可以用start上面的内容替换stop为停止Home Assistant,restart重新启动Home Assistant和“状态”以查看简短的状态报告,如下所示。

hanhui@hanhui-virtual-machine:~$ sudo systemctl status home-assistant@hanhui 
● home-assistant@hanhui.service
   Loaded: loaded (/etc/systemd/system/home-assistant@hanhui.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2020-05-19 16:30:30 CST; 45min ago
  Process: 4336 ExecStopPost=/usr/bin/docker rm -f home-assistant-%i (code=exited, status=0/SUCCESS)
  Process: 4251 ExecStop=/usr/bin/docker stop -t 2 home-assistant-%i (code=exited, status=0/SUCCESS)
 Main PID: 4352 (docker)
   CGroup: /system.slice/system-home\x2dassistant.slice/home-assistant@hanhui.service
           └─4352 /usr/bin/docker run --name=home-assistant-hanhui -v /home/hanhui/.homeassistant/:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home
...

要获得家庭助理的日志记录输出,请简单使用journalctl。

sudo journalctl -f -u home-assistant@YOUR_USER
 
由于日志可以快速滚动,因此您可以选择仅查看错误行:

sudo journalctl -f -u home-assistant@YOUR_USER | grep -i 'error'
 
使用Home Assistant时,您可以轻松地重新启动系统,然后通过使用以下命令组合上述命令来查看日志输出 &&

sudo systemctl restart home-assistant@YOUR_USER && sudo journalctl -f -u home-assistant@YOUR_USER
 

7、自动重新启动配置


失败时自动重新启动HOME ASSISTANT

如果要在崩溃后自动重新启动Home Assistant服务,请将以下行添加到[Service]单元文件的部分:

Restart=on-failure
RestartSec=5s

 

扩展:

如果Home Assistant的时区异常,非Asia/shanghai时区。

输入如下命令,将宿主机的timezone复制替换HA容器中的timezone。

docker cp /etc/timezone 1eea462d3c39:/etc/    

(注:1eea462d3c39是你的HA容器ID)

 

下一篇MQTT配置:智能家居HomeAssistant(三)MQTT配置 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智能家居HomeAssistant(二)Docker安装homeassistant 的相关文章

随机推荐