本文主要是介绍【智能家居】苹果Siri控制米家设备,在Linux上安装HomeAssistant桥接HomeKit与Xiaomi Miot Auto,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
介绍
记录米家接入HomeKit的过程与过程中遇到的问题
设备
米家设备(智能开关等各种智能家居)
局域网内的Linux服务器一台
实现效果
在家庭局域网内,ios的设备上(iphone,iPad,mac)无需配置“精准的快捷指令”,即可实现Siri语音控制
如需在公网上,需要有桥接设备(Home Pod,Apple TV),老版本的iPad(新的不行,在设置里找不到家庭,网上说功能被砍。。。)
思路
1、在linux上安装HomeAssistant
2、通过小米账号把米家设备导进HomeAssistant
3、通过homeKit桥接到ios设备上
前置条件
1、家庭局域网在同一个网段,如果有多个路由器,选择桥接方式连接。确保所有设备的ip都在同一网段就行了,我的是192.168.0.*,一般路由器默认的都是192.168.1.*,后面配置网络里注意修改。
2、docker,安装命令如下(因为docker安装HomeAssistant是最简单的,已有docker则跳过)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo## 查看安装版本
yum list docker-ce --showduplicates | sort -r
## 安装
yum install docker-ce-18.03.1.ce## 安装后,查看版本
docker -v## 启动docker
systemctl start docker
## 开机自启
systemctl enable docker
开始搭建
一、下载HomeAssistant的docker镜像,并启动
由于docker默认的网络是隔离的,一般通过端口映射暴露服务端口,这样docker安装的HomeAssistant与家庭设备之间的网络的不通的,这里通过自定义网卡并自定义ip来解决这个问题。
## 下载镜像
docker pull homeassistant/home-assistant## 创建桥接网卡(通过ifconfig得到ens33)macnet是自定义名称,启动命令里用到
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=ens33 macnet## 启动 自定义ip,192.168.0.220
docker run -d --name="home-assistants" --network=macnet -v /usr/local/home:/config --ip=192.168.0.220 homeassistant/home-assistant:latest
二、安装HACS
HomeAssistant本身没有小米物联网继承插件(Xiaomi Miot Auto),HACS可以理解成应用商店,通过这个应用商店,可以下载到Xiaomi Miot Auto
GitHub下载地址如下,找到hacs.zip,点击下载
Releases · hacs/integration (github.com)
由于之前启动的时候指定了路径/usr/local/home:/config,所以将hacs.zip解压放到/usr/local/home/custom_components/hacs里面,没有目录就自己建,并重启HomeAssistant
docker ps -adocker restart <CONTAINER ID>
三、安装Xiaomi Miot Auto
在HACS里搜索Xiaomi Miot Auto,并安装(点击右下角DOWNLOAD即可)
四、配置小米账号
配置-设备与集成-添加集成,搜索Xiaomi Miot Auto,通过账号继承,填写账号密码即可,成功后自动同步到设备
五、配置HomeKit桥接
配置-设备与集成-添加集成,搜索HomeKit Bridge,进行配置,配置后在通知里会有二维码,用ios设备扫码进行绑定(ios设备要连接在局域网中)
完成以上步骤后,可以在家里的局域网里面使用Siri来控制了
如果想在公网上访问,需要Home Pod或者Apple TV或者老板的iPad,把这些设备配置成家庭中枢,具体配置参考苹果官方文档
过程中遇到的问题
1、一开始使用VmWare安装,在官网下载的HomeAssistant,安装后,打开报错,后放弃改用docker
2、用docker安装后,用iPhone扫码,未检测到设备,原因是docker默认网络隔离,导致docker启动的HomeAssistant服务与米家设备不在同一局域网
3、在HomeKit配置中,最好直接使用默认的勾选的内容,自己选了之后,可能会有问题,导致配置不成功
这篇关于【智能家居】苹果Siri控制米家设备,在Linux上安装HomeAssistant桥接HomeKit与Xiaomi Miot Auto的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!