记录米家接入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
由于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
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 -a
docker restart <CONTAINER ID>
在HACS里搜索Xiaomi Miot Auto,并安装(点击右下角DOWNLOAD即可)
配置-设备与集成-添加集成,搜索Xiaomi Miot Auto,通过账号继承,填写账号密码即可,成功后自动同步到设备
配置-设备与集成-添加集成,搜索HomeKit Bridge,进行配置,配置后在通知里会有二维码,用ios设备扫码进行绑定(ios设备要连接在局域网中)
1、一开始使用VmWare安装,在官网下载的HomeAssistant,安装后,打开报错,后放弃改用docker
2、用docker安装后,用iPhone扫码,未检测到设备,原因是docker默认网络隔离,导致docker启动的HomeAssistant服务与米家设备不在同一局域网
3、在HomeKit配置中,最好直接使用默认的勾选的内容,自己选了之后,可能会有问题,导致配置不成功