一直以来对手机上安装的10来个智能家居控制APP耿耿于怀,虽然后来尽量在米家购买终端设备,但还是有不少设备不能纳管,特别是自己平常用Raspberry、Arduino、ESP8266等DIY的设备,更需要一个集成环境进行控制,于是趁元旦假期花了1整天时间搞了个项目集成,基本构建起以树莓派为中心的家庭智能家居控制中心。本来也可以依托群辉NAS来构建,无奈我这款使用了5年的群辉DS416play配置偏低,而且还承担着家庭私有云的重任,只有另辟蹊径。
主要思路是以Home Assistant为中心,分别集成小米智能硬件管理平台和苹果智能家居平台(Home Kit),将现有智能设备接入,再集成轻量级的消息发布/订阅传输协议MQTT,实现DIY设备传感器与服务端之间的通信,同时将这些设备纳入Home Assistant管理。具体操作如下:
一、给树莓派安装Home Assistant
二、Home Assistant集成Xiaomi MIoT、添加米家设备
三、Home Assistant集成HomeKit
四、Home Assistant集成MQTT
1、格式化SD卡(提前准备1张32G高速卡),下载Balena Etcher烧录软件(https://www.balena.io/etcher),可根据操作系统(Windows/macOS/Linux)选择下载需要的版本。
2、下载镜像文件(https://github.com/home-assistant/operating-system/releases,根据树莓派版本选择适合的镜像文件,我选了https://github.com/home-assistant/operating-system/releases/download/7.0.rc1/haos_rpi4-64-7.0.rc1.img.xz)到本地。
3、启动Balena Etcher烧录软件,选择镜像文件(也可以选择在线安装),选择SD 卡,点击 Flash,开始烧录。
4、烧录需要十几分钟,中途可能 Windows 会弹出来格式化 SD 卡弹窗,不能点。等待烧录完成后显示以下界面,即可弹出 SD 卡。
5、将烧录好的SD卡插入树莓派,用网线连接到路由器,插电开机。
6、等待几分钟打开浏览器输入homeassistant.local:8123,如果一切正常的话就能进入HomeAssistant。首次打开HomeAssistant网址需要初始化,提示等待 20 分钟,实际可能需要等待好几个小时(我实际耗时5.5小时),直到出现创建账户界面。
7、输入名称、用户名和密码,然后单击“创建帐户”。此帐户将是管理员,并且始终能够更改所有内容(一定要记住该帐户信息)。
8、 接下来,可以输入家的名称,并设置你的位置和系统单位。单击“自动检测”查找您的位置,并根据该位置设置时区和系统单位。如果您不想发送位置,可以手动设置这些值。完成后,单击“下一步”。
9、此时Home Assistant将显示它在网络上发现的所有设备,你也可以稍后手动添加设备。最后单击“完成”。
10、现在,您会进入Home Assistant web界面,此屏幕将显示所有设备。
参考文档:
玩转HA 篇一:智能家居第一步,在树莓派上 4B 上安装 HomeAssistant(2022 版)_智能家居_什么值得买
1、进入“配置”——“加载项”“商店”——安装“SSH & Web Terminal”。
2、选择“开发者工具”——“重新启动”Home Assistant。
3、在“SSH & Web Terminal”配置中设置“在侧边栏显示”,并在“配置”页面设置Home Assistant用户名、密码。
4、选择左侧边栏“Terminal”进入命令行模式。
5、输入:“wget -q -O - https://ghproxy.com/raw.githubusercontent.com/al-one/hass-xiaomi-miot/master/install.sh | HUB_DOMAIN=ghproxy.com/github.com ARCHIVE_TAG=latest bash -”,完成安装。
6、选择“开发者工具”——“重新启动”Home Assistant。
7、“配置”——“设备服务”——“添加集成”——搜索选择“Xiaomi Miot Auto”。
8、选择“账号集成”——“下一步”。
9、输入小米账号、密码、云服务器,然后“提交”。
10、设置用“包含”“排除”方式选择入网设备。
11、确认完成后集成页面显示Xiaomi设备。
参考文档:
小米MIoT设备接入HomeAssistant通用插件教程 - 知乎
Xiaomi MIoT for Home Assistant- github
1、在“配置”——“集成”中,点击右下角的添加集成,搜索 HomeKit,出现Apple,选择后出现列表,然后再选择 HomeKit。
2、这时,Home Assistant 会提示我们“选择要包含的域”。其实这句话的意思是,要将什么类型的设备添加到 HomeKit 中。这里建议添加基本的灯、开关、风扇、传感器和空调即可,其他设备如果你有则可后期按需添加(如窗帘、加湿器等)。在选择时,不要勾选所有选项,因为 HomeKit 所支持的设备类型相比米家和Home Assistant来说都非常少,所以如果你全部勾选,接下来你就会发现自己的家庭 App 中被映射多了一堆未知的设备按钮。
3、接下来开始设备与HomeKit配对。
4、完成后,电脑上的操作就全部结束了,HomeAssistant 就会在左侧的“通知”界面下显示HomeKit的配对码。在iPhone或iPad上打开家庭App,扫描这个二维码,上面这些选定的米家的设备就会添加到 HomeKit 中。
参考文档:
不写一行代码,轻松将米家智能家居接入 HomeKit - 少数派
1、给Home Assistant安装MQTT服务器
在Home Assistant侧边栏点击“配置”菜单,选择“加载项”进入加载项管理页面,点击屏幕右下角“加载项商店”,搜索或直接选择“Mosquitto broker”
进入Mosquitto broker安装页面后点击“安装”按钮。等安装完成后,按下图打开前两个选项,然后点击启动(原来安装的按键位置)。
2、给Home Assistant添加MQTT集成
配置——>集成——>点击右下角“+添加集成”——>搜索MQTT——>选择第一项“MQTT”
分别设置MQTT服务器IP地址(与Home Assistan同IP)、服务器端口、用户名、密码等,其他可使用缺省选项,点击“下一步”,然后“提交”。
3、测试MQTT
测试是否配置成功,配置——>集成——>MQTT下的选项
订阅主题Power/switch,发布消息On到主题 Power/switch上,监听主题Power/switch,打开监听,选择“发送”,监听显示收到信息。
后续我将在DIY实际应用中介绍如何向MQTT集成添加实例,详见
(ESP8266通过MQTT接入Home Assistant实践_qq_31400983的博客-CSDN博客)
参考文档:
Home Assistant集成外部MQTT服务_花陌黎呀的博客-CSDN博客_homeassistant mqtt
以上步骤完成后,基本大功告成!