Lovelace 开发环境搭建

Lovelace 是 Home Assistant 的仪表盘,有着非常好的性能表现。
现在有两套完全一样的开发环境和生产环境,通过 NAT 方式进行网络通信隔离,且看拓扑图:

1
2
3
4
+------------------------+       +------------------------+
| DevOps env | | prod env |
| 172.16.100.2 Container +<--x-->+ 192.168.10.2 ARM Board |
+------------------------+ +------------------------+

开发环境跑在虚拟机里,这里使用了 WMware Fusion 12 Player 提供虚拟化功能,只需要挂代理,使用美国属地 IP 注册,即可申请到一个密钥!

完整的开发部署流程如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            +---------> git remote +---------+
| |pull
|push |
| v
+-----------+------------+ +-----------+------------+
| DevOps env | | prod env |
| 172.16.100.2 Container | | 192.168.10.2 ARM Board |
+------+---------+-------+ +----------------+-------+
^ ^ ^
| | Samba & SSH |
|NAT +----------------------+ |monitor & plan
| | |
v v v
+------+-----------------+ +------+---------+-------+
| VM | | Happy Coding |
| localhost PID ..01 | | localhost PID ..02 |
+------------------------+ +------------------------+

Home Assistant 项目组提供了两种安装 HassOS 的方式,一种是作为固件刷写到开发版上,另一种是作为容器导入到虚拟机里。

WMware Fusion 12 Player 支持导入 .ovf 文件到容器,截止到 2020 年 12 月,Home Assistant 项目组提供了 .wmdk.vhdx.vdi.qcow2.ova 的容器模版,遗憾的是,Fusion 在导入 OVF 模版时,会报以下错误:

1
Failed to open virtual machine: SHA1 digest of file hassos_ova_5.9.ova does not match manifest...

对于以上错误,Fusion 还可以使用 .vmdk 格式来创建容器,按照 Home Assistant 项目组的文档,容器的自定义参数如下:

  • 操作系统:其他 Linux 5.x 及更高版本内核 64 位
  • 固件类型:UEFI
  • vCPU:1
  • RAM:2GB

初始安装的 HassOS ,从 http://homeassistant.local:8123172.16.100.2:8123 即可登录到前端页面。使用主机名登录会造成与生产环境 HassOS 的 DNS 解析冲突,务必定位到前端页面的 侧边栏 Supervisor --> System --> Host System 来修改开发环境的主机名。

登录到测试环境的前端页面,安装 Samba share 和 Terminal & SSH 插件,将远程卷挂载到本地计算机,打开 VScode,开始愉快的 Coding。

(完)