之前在群晖中搭建了Home Assistant ,后面由于后面群晖总是自动重启,导致它并不是很稳定,后面发现是因为群晖加的内存不兼容导致的,问题解决了但是一直没有重新搭建,之前不是买了香橙派嘛,准备在上面搭建一个。
0.1Pane安装
1Panel是新一代的 Linux 服务器运维管理面板,在香橙派中安装它,主要是感觉有个工具管理起来会更方便些。安装方法可以去官网中查看,安装完成如下:
1.安装Home Assistant
在应用商店中找到它,然后点击安装即可。安装完成后可在应用商店中管理。完成后会在容器中显示你安装的应用。
应用中心下载的不是最新的,可以自己升级一下,拉取最新的镜像。这边有个注意的地方,如果需要用到蓝牙的话,需要挂载/run/dbus
这个目录,不然蓝牙用不了。
2.配置Home Assistant
现在很多都已经集成在里面了,所以很多事情都不需要去做了,直接按照引导去做就行了。不用敲代码和复杂的操作,就可以集成下面这么多。添加小米设备主要是Token的获取,可以使用 Xiaomi Cloud Tokens Extractor 这个项目,方便快捷。
在配置HTTPS
访问的时候需要增加如下配置,主要是指定证书的路径:
到此你的Home Assistant
已经安装的差不多了,下面就是自己写自动化,然后美化美化了。这边还有一个问题,就是添加Private BLE Device
这个集成的时候, 如果手机找不到相应的IRK,可以通过esp_ble_tracker这个项目中的 get_irk 来拿到对应的IRK
,这边需要ESP32
烧录这个程序,我用的是M5stack
,然后使用LightBlue
App搜索到ESP打头的蓝牙,链接后会在串口的日志中打印如下内容:
IRK:,0x2X,0x5D,0x45,0xFD,0x42,0x68,0x4F,0x57,0xF4,0x9F,0x8D,0xB4,0xA9,0x25,0x4E,0xC4
接着去掉,0x并转成小写,使用如下Python代码转成base64。
import codecs
hex_str="2x5d45fd42684f57f49f8db4a9254ec4"
b64_str = codecs.encode(codecs.decode(hex_str, 'hex'), 'base64').decode()
print(b64_str)
文档中说是支持hex encoding的,但是格式我没试出来,一直添加失败,所以只能转成base64 添加了。
3.结语
现在家里两个派了,也做了个两个派的运行状态的显示,用的M5Stack BASIC
来显示。现在两个派运行的挺稳定的。后面看看要不要再弄点别的折腾下。
运行情况如图: