本帖最后由 neroxps 于 2018-12-19 09:06 编辑
hass.io底层还是ResinOS + docker吗?
以前有一个系统叫 hass.io,homeassistant官方出的,是基于 ResinOS 做基础然后二次开发修改,类似于 ubuntu是 Debian的衍生版本一样。而 hassio 架构是需要跑在docker 上的,所以其实就是 ResinOS 系统装了一个 Docker,然后加上很多限制,例如默认不开启ssh连接,无法修改系统任何文件等。
所以你早期看墨澜的文档,她上面写的是hass.io 是一个封闭的系统,不推荐使用的原因在此。
那么ResinOS + docker还有没有更新?
hass.io 这个基于 ResinOS 做的系统已经被官方停止开发,换句话其实就是抛弃 ResinOS 做系统内核,自己整一个系统出来,基于 Linux 内核自己搞一个系统。它的名字叫 hassos。
hassio是不是由supervisor作为管理中枢来运作的?
supervisor 可以说是hassio架构的中枢,你这样理解也可以,它是由Python编写,集成docker 的api,主要功能是管理 addons 的 START STOP INSTALL UNINSTALL 等操作,另也可以升级 homeassistant 容器,他更像一个管理器,比较类似的有 docker 的 Portainer ,但是区别在于, hassio 他有一套自成一体的 addons 规范,所以它只能使用它自己的容器,而不能使用 hub.docker.com 上的其他容器。
最后我说说我为什么使用 hassio 架构来部署 homeassistant
优点
1、 拥有 docker 的一切优点和特性(一键部署,迁移方便等)
2、 简化 docker 容器部署 (为了做这个,它设计了一套自己的 addons 规范:如编辑 config.json 来配置容器等)
3、 升级简便,升级只需要在web上点一下,自动就升级了。(但据我观察,论坛里面很少人愿意升级homeassistant哈)
4、 无需管依赖问题,98%依赖问题官方容器都帮你解决了,你只需要配置使用即可。(安装homeassistant 可是难倒了各种没有基础的新手)这里甚至人脸识别 dlib 的那些依赖,官方容器里面也包含了,你可以直接配置 dlib,ffmpeg 就可以愉快的玩耍简易的人脸识别,当然我们现在都用百度api。
缺点
- 由于集成度比单独手动安装 homeassistant 高,所以也提高了自定义的门槛,例如文件存放地点不一样了,homeassistant自身被安装在容器内部了,想参照论坛(很老的)其他帖子修改 homeassistant的 Python 源代码比较麻烦(其实我是觉得很简单,和吃饭喝水呼吸空气一样)
- 由于基于 docker,出了问题往往需要使用 docker 的一些知识点来解决问题,例如进入容器内部使用 docker exec -it homeassistant bash 等方法进入容器,这个属于docker 基础范畴,意思就是你如果想排查问题,可能需要用到 docker 知识点。这里给本书,也是我学习docker看的,写的非常好,https://docker_practice.gitee.io/ 我基本上看了几天,加上一些实践,docker 一些基本操作要领已经掌握。
- 网络问题,其实手动安装 homeassistant 也会遇到网络问题,docker 也会,这要感谢本朝为计算机事业做出伟大的贡献,希望能像长城一样能纳入世界文化遗产。
|